Like con parametros.....????

12/09/2006 - 15:01 por Diego | Informe spam
Necesito hacer una consulta en la cual el usuario digite un parámetro por
ejemplo abc y me aparescan todos los nombres que comienzan con abc, estoy
trabajando con sql express 2005, y las consultas las hago desde .net con un
dataset.
tengo algo asi

SELECT COUNT(*) AS Expr1
FROM MITABLA
WHERE (MICAMPO LIKE @MIPARAMETRO %)


alguien me podria decir por que no esta funcionando en donde esta el error


miles de gracias de antemano

Saludos

Preguntas similare

Leer las respuestas

#6 jchavezb
12/09/2006 - 17:57 | Informe spam
porque no mandas el string que le estas pasando a la base!!! me da la
impresion que el tema pasa por como le pasas a la base !!!
Slds.
jch

jcac wrote:
Bueno no tengo net en este momento en mi maquina pero desde el query
analizer, conectado a un sql express que si tengo en mi equipo tengo este
resultado, quizas el problema sea en tu aplicativo y no en sql server, mira
este ejemplo sencillo

Create Table MiTabla
(campo1 int, campo2 varchar(50))
go
Insert into MiTabla (campo1, campo2) values (1, 'abc lo que sea')
Insert into MiTabla (campo1, campo2) values (1, 'bc lo que sea')
Insert into MiTabla (campo1, campo2) values (1, 'c lo que sea')
Insert into MiTabla (campo1, campo2) values (1, ' lo que sea')
Insert into MiTabla (campo1, campo2) values (1, 'abc lo que sea otra ves')
go
Select * From Mitabla where campo2 like 'abc%'
go
declare @campo2 varchar(50)
set @campo2='abc'
select * from mitabla where campo2 like @campo2 + '%'
go
drop table mitabla
go

En ambos casos los dos select devuelven los mismos resultados

Saludos


"Diego" escribió en el mensaje
news:
> Amigo muchas gracias pero eso tampoco lo acepta te muestro mi consulta
>
> SELECT *
> FROM MiTabla
> WHERE (MiCampo LIKE @Param1 + '%')
>
> Y no me da ningun resultado, como si no existieran valores en la
> tabla..
>
> Espero mas ayudas
> Muchas gracias.. de antemano
>
>
> "jcac" wrote:
>
>> Si tu campo es una cadena, lo debes de concatenar algo asi, @Parametro +
>> '%', no si ello te permita hacer en .net
>>
>> Saludos
>>
>> "Diego" escribió en el mensaje
>> news:
>> > Si ya lo he probado pero no funciona..
>> > Alguna otra solución??????
>> > Gracias.
>> >
>> > "Carmelo J. Morales Muñoz" wrote:
>> >
>> >> ¿ha sprobado a incluir el % como parte de @MIPARAMETRO en lugar de
>> >> ponerlo
>> >> en la sql? puede ser eso?..
>> >>
>> >>
>> >>
>>
>>
>>
Respuesta Responder a este mensaje
#7 Diego
12/09/2006 - 20:37 | Informe spam
ta_adp_equ.eq_cou_ptx(Trim(InkEdit_busc.Text))

ta_adp_equ= Al dataAdapter...
eq_cou_ptx=la consulta que he creado la cual es la sig.

SELECT COUNT(*) AS Expr1
FROM PMM_EQUI
WHERE (DSSHTXT LIKE @param1 + '%')


Trim(InkEdit_busc.Text) = el parámetro que le envio.

Espero sus respuestas y ayudas...
Saludos...

"jchavezb" wrote:

porque no mandas el string que le estas pasando a la base!!! me da la
impresion que el tema pasa por como le pasas a la base !!!
Slds.
jch

jcac wrote:
> Bueno no tengo net en este momento en mi maquina pero desde el query
> analizer, conectado a un sql express que si tengo en mi equipo tengo este
> resultado, quizas el problema sea en tu aplicativo y no en sql server, mira
> este ejemplo sencillo
>
> Create Table MiTabla
> (campo1 int, campo2 varchar(50))
> go
> Insert into MiTabla (campo1, campo2) values (1, 'abc lo que sea')
> Insert into MiTabla (campo1, campo2) values (1, 'bc lo que sea')
> Insert into MiTabla (campo1, campo2) values (1, 'c lo que sea')
> Insert into MiTabla (campo1, campo2) values (1, ' lo que sea')
> Insert into MiTabla (campo1, campo2) values (1, 'abc lo que sea otra ves')
> go
> Select * From Mitabla where campo2 like 'abc%'
> go
> declare @campo2 varchar(50)
> set @campo2='abc'
> select * from mitabla where campo2 like @campo2 + '%'
> go
> drop table mitabla
> go
>
> En ambos casos los dos select devuelven los mismos resultados
>
> Saludos
>
>
> "Diego" escribió en el mensaje
> news:
> > Amigo muchas gracias pero eso tampoco lo acepta te muestro mi consulta
> >
> > SELECT *
> > FROM MiTabla
> > WHERE (MiCampo LIKE @Param1 + '%')
> >
> > Y no me da ningun resultado, como si no existieran valores en la
> > tabla..
> >
> > Espero mas ayudas
> > Muchas gracias.. de antemano
> >
> >
> > "jcac" wrote:
> >
> >> Si tu campo es una cadena, lo debes de concatenar algo asi, @Parametro +
> >> '%', no si ello te permita hacer en .net
> >>
> >> Saludos
> >>
> >> "Diego" escribió en el mensaje
> >> news:
> >> > Si ya lo he probado pero no funciona..
> >> > Alguna otra solución??????
> >> > Gracias.
> >> >
> >> > "Carmelo J. Morales Muñoz" wrote:
> >> >
> >> >> ¿ha sprobado a incluir el % como parte de @MIPARAMETRO en lugar de
> >> >> ponerlo
> >> >> en la sql? puede ser eso?..
> >> >>
> >> >>
> >> >>
> >>
> >>
> >>


Respuesta Responder a este mensaje
#8 jcac
12/09/2006 - 22:09 | Informe spam
No e si esto es lo que estes buscando, no soy para nada bueno en .net pero
hice esto y me funciono:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click

Dim Parametro As String, i As Integer

Dim Cn As New
System.Data.SqlClient.SqlConnection("Uid=sa;Pwd=Juanky74;Database=Lyc;Data
Source=jaleman\SQLExpress")

Parametro = Trim(TextBox1.Text)

Dim Rst As New System.Data.SqlClient.SqlDataAdapter("Select * From MiTabla
Where Campo2 Like '" & Parametro & "%'", Cn)

Dim a As New System.Data.DataTable

Rst.Fill(a)

For i = 0 To a.Rows.Count - 1

MessageBox.Show(a.DefaultView(i).Item(1).ToString)

Next

End Sub


Alli podras ver como me conectó a la bd que es un SQL Express, asi como la
sentencia que le doy a un SQLDataAdapter y despues en for me devuelve los
datos que deseaba.

Saludos



"Diego" escribió en el mensaje
news:
ta_adp_equ.eq_cou_ptx(Trim(InkEdit_busc.Text))

ta_adp_equ= Al dataAdapter...
eq_cou_ptx=la consulta que he creado la cual es la sig.

SELECT COUNT(*) AS Expr1
FROM PMM_EQUI
WHERE (DSSHTXT LIKE @param1 + '%')


Trim(InkEdit_busc.Text) = el parámetro que le envio.

Espero sus respuestas y ayudas...
Saludos...

"jchavezb" wrote:

porque no mandas el string que le estas pasando a la base!!! me da la
impresion que el tema pasa por como le pasas a la base !!!
Slds.
jch

jcac wrote:
> Bueno no tengo net en este momento en mi maquina pero desde el query
> analizer, conectado a un sql express que si tengo en mi equipo tengo
> este
> resultado, quizas el problema sea en tu aplicativo y no en sql server,
> mira
> este ejemplo sencillo
>
> Create Table MiTabla
> (campo1 int, campo2 varchar(50))
> go
> Insert into MiTabla (campo1, campo2) values (1, 'abc lo que sea')
> Insert into MiTabla (campo1, campo2) values (1, 'bc lo que sea')
> Insert into MiTabla (campo1, campo2) values (1, 'c lo que sea')
> Insert into MiTabla (campo1, campo2) values (1, ' lo que sea')
> Insert into MiTabla (campo1, campo2) values (1, 'abc lo que sea otra
> ves')
> go
> Select * From Mitabla where campo2 like 'abc%'
> go
> declare @campo2 varchar(50)
> set @campo2='abc'
> select * from mitabla where campo2 like @campo2 + '%'
> go
> drop table mitabla
> go
>
> En ambos casos los dos select devuelven los mismos resultados
>
> Saludos
>
>
> "Diego" escribió en el mensaje
> news:
> > Amigo muchas gracias pero eso tampoco lo acepta te muestro mi
> > consulta
> >
> > SELECT *
> > FROM MiTabla
> > WHERE (MiCampo LIKE @Param1 + '%')
> >
> > Y no me da ningun resultado, como si no existieran valores en la
> > tabla..
> >
> > Espero mas ayudas
> > Muchas gracias.. de antemano
> >
> >
> > "jcac" wrote:
> >
> >> Si tu campo es una cadena, lo debes de concatenar algo asi,
> >> @Parametro +
> >> '%', no si ello te permita hacer en .net
> >>
> >> Saludos
> >>
> >> "Diego" escribió en el mensaje
> >> news:
> >> > Si ya lo he probado pero no funciona..
> >> > Alguna otra solución??????
> >> > Gracias.
> >> >
> >> > "Carmelo J. Morales Muñoz" wrote:
> >> >
> >> >> ¿ha sprobado a incluir el % como parte de @MIPARAMETRO en lugar
> >> >> de
> >> >> ponerlo
> >> >> en la sql? puede ser eso?..
> >> >>
> >> >>
> >> >>
> >>
> >>
> >>


Respuesta Responder a este mensaje
#9 Diego
13/09/2006 - 00:47 | Informe spam
Mil gracias me funciono de maravilla un saludo desde Bolivia santa cruz

"jcac" wrote:

No e si esto es lo que estes buscando, no soy para nada bueno en .net pero
hice esto y me funciono:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click

Dim Parametro As String, i As Integer

Dim Cn As New
System.Data.SqlClient.SqlConnection("Uid=sa;Pwd=Juanky74;Database=Lyc;Data
Source=jaleman\SQLExpress")

Parametro = Trim(TextBox1.Text)

Dim Rst As New System.Data.SqlClient.SqlDataAdapter("Select * From MiTabla
Where Campo2 Like '" & Parametro & "%'", Cn)

Dim a As New System.Data.DataTable

Rst.Fill(a)

For i = 0 To a.Rows.Count - 1

MessageBox.Show(a.DefaultView(i).Item(1).ToString)

Next

End Sub


Alli podras ver como me conectó a la bd que es un SQL Express, asi como la
sentencia que le doy a un SQLDataAdapter y despues en for me devuelve los
datos que deseaba.

Saludos



"Diego" escribió en el mensaje
news:
> ta_adp_equ.eq_cou_ptx(Trim(InkEdit_busc.Text))
>
> ta_adp_equ= Al dataAdapter...
> eq_cou_ptx=la consulta que he creado la cual es la sig.
>
> SELECT COUNT(*) AS Expr1
> FROM PMM_EQUI
> WHERE (DSSHTXT LIKE @param1 + '%')
>
>
> Trim(InkEdit_busc.Text) = el parámetro que le envio.
>
> Espero sus respuestas y ayudas...
> Saludos...
>
> "jchavezb" wrote:
>
>> porque no mandas el string que le estas pasando a la base!!! me da la
>> impresion que el tema pasa por como le pasas a la base !!!
>> Slds.
>> jch
>>
>> jcac wrote:
>> > Bueno no tengo net en este momento en mi maquina pero desde el query
>> > analizer, conectado a un sql express que si tengo en mi equipo tengo
>> > este
>> > resultado, quizas el problema sea en tu aplicativo y no en sql server,
>> > mira
>> > este ejemplo sencillo
>> >
>> > Create Table MiTabla
>> > (campo1 int, campo2 varchar(50))
>> > go
>> > Insert into MiTabla (campo1, campo2) values (1, 'abc lo que sea')
>> > Insert into MiTabla (campo1, campo2) values (1, 'bc lo que sea')
>> > Insert into MiTabla (campo1, campo2) values (1, 'c lo que sea')
>> > Insert into MiTabla (campo1, campo2) values (1, ' lo que sea')
>> > Insert into MiTabla (campo1, campo2) values (1, 'abc lo que sea otra
>> > ves')
>> > go
>> > Select * From Mitabla where campo2 like 'abc%'
>> > go
>> > declare @campo2 varchar(50)
>> > set @campo2='abc'
>> > select * from mitabla where campo2 like @campo2 + '%'
>> > go
>> > drop table mitabla
>> > go
>> >
>> > En ambos casos los dos select devuelven los mismos resultados
>> >
>> > Saludos
>> >
>> >
>> > "Diego" escribió en el mensaje
>> > news:
>> > > Amigo muchas gracias pero eso tampoco lo acepta te muestro mi
>> > > consulta
>> > >
>> > > SELECT *
>> > > FROM MiTabla
>> > > WHERE (MiCampo LIKE @Param1 + '%')
>> > >
>> > > Y no me da ningun resultado, como si no existieran valores en la
>> > > tabla..
>> > >
>> > > Espero mas ayudas
>> > > Muchas gracias.. de antemano
>> > >
>> > >
>> > > "jcac" wrote:
>> > >
>> > >> Si tu campo es una cadena, lo debes de concatenar algo asi,
>> > >> @Parametro +
>> > >> '%', no si ello te permita hacer en .net
>> > >>
>> > >> Saludos
>> > >>
>> > >> "Diego" escribió en el mensaje
>> > >> news:
>> > >> > Si ya lo he probado pero no funciona..
>> > >> > Alguna otra solución??????
>> > >> > Gracias.
>> > >> >
>> > >> > "Carmelo J. Morales Muñoz" wrote:
>> > >> >
>> > >> >> ¿ha sprobado a incluir el % como parte de @MIPARAMETRO en lugar
>> > >> >> de
>> > >> >> ponerlo
>> > >> >> en la sql? puede ser eso?..
>> > >> >>
>> > >> >>
>> > >> >>
>> > >>
>> > >>
>> > >>
>>
>>



Respuesta Responder a este mensaje
#10 jcac
13/09/2006 - 15:08 | Informe spam
De nada :D
"Diego" escribió en el mensaje
news:
Mil gracias me funciono de maravilla un saludo desde Bolivia santa cruz

"jcac" wrote:

No e si esto es lo que estes buscando, no soy para nada bueno en .net
pero
hice esto y me funciono:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click

Dim Parametro As String, i As Integer

Dim Cn As New
System.Data.SqlClient.SqlConnection("Uid=sa;Pwd=Juanky74;Database=Lyc;Data
Source=jaleman\SQLExpress")

Parametro = Trim(TextBox1.Text)

Dim Rst As New System.Data.SqlClient.SqlDataAdapter("Select * From
MiTabla
Where Campo2 Like '" & Parametro & "%'", Cn)

Dim a As New System.Data.DataTable

Rst.Fill(a)

For i = 0 To a.Rows.Count - 1

MessageBox.Show(a.DefaultView(i).Item(1).ToString)

Next

End Sub


Alli podras ver como me conectó a la bd que es un SQL Express, asi como
la
sentencia que le doy a un SQLDataAdapter y despues en for me devuelve los
datos que deseaba.

Saludos



"Diego" escribió en el mensaje
news:
> ta_adp_equ.eq_cou_ptx(Trim(InkEdit_busc.Text))
>
> ta_adp_equ= Al dataAdapter...
> eq_cou_ptx=la consulta que he creado la cual es la sig.
>
> SELECT COUNT(*) AS Expr1
> FROM PMM_EQUI
> WHERE (DSSHTXT LIKE @param1 + '%')
>
>
> Trim(InkEdit_busc.Text) = el parámetro que le envio.
>
> Espero sus respuestas y ayudas...
> Saludos...
>
> "jchavezb" wrote:
>
>> porque no mandas el string que le estas pasando a la base!!! me da la
>> impresion que el tema pasa por como le pasas a la base !!!
>> Slds.
>> jch
>>
>> jcac wrote:
>> > Bueno no tengo net en este momento en mi maquina pero desde el query
>> > analizer, conectado a un sql express que si tengo en mi equipo tengo
>> > este
>> > resultado, quizas el problema sea en tu aplicativo y no en sql
>> > server,
>> > mira
>> > este ejemplo sencillo
>> >
>> > Create Table MiTabla
>> > (campo1 int, campo2 varchar(50))
>> > go
>> > Insert into MiTabla (campo1, campo2) values (1, 'abc lo que sea')
>> > Insert into MiTabla (campo1, campo2) values (1, 'bc lo que sea')
>> > Insert into MiTabla (campo1, campo2) values (1, 'c lo que sea')
>> > Insert into MiTabla (campo1, campo2) values (1, ' lo que sea')
>> > Insert into MiTabla (campo1, campo2) values (1, 'abc lo que sea otra
>> > ves')
>> > go
>> > Select * From Mitabla where campo2 like 'abc%'
>> > go
>> > declare @campo2 varchar(50)
>> > set @campo2='abc'
>> > select * from mitabla where campo2 like @campo2 + '%'
>> > go
>> > drop table mitabla
>> > go
>> >
>> > En ambos casos los dos select devuelven los mismos resultados
>> >
>> > Saludos
>> >
>> >
>> > "Diego" escribió en el mensaje
>> > news:
>> > > Amigo muchas gracias pero eso tampoco lo acepta te muestro mi
>> > > consulta
>> > >
>> > > SELECT *
>> > > FROM MiTabla
>> > > WHERE (MiCampo LIKE @Param1 + '%')
>> > >
>> > > Y no me da ningun resultado, como si no existieran valores en la
>> > > tabla..
>> > >
>> > > Espero mas ayudas
>> > > Muchas gracias.. de antemano
>> > >
>> > >
>> > > "jcac" wrote:
>> > >
>> > >> Si tu campo es una cadena, lo debes de concatenar algo asi,
>> > >> @Parametro +
>> > >> '%', no si ello te permita hacer en .net
>> > >>
>> > >> Saludos
>> > >>
>> > >> "Diego" escribió en el mensaje
>> > >> news:
>> > >> > Si ya lo he probado pero no funciona..
>> > >> > Alguna otra solución??????
>> > >> > Gracias.
>> > >> >
>> > >> > "Carmelo J. Morales Muñoz" wrote:
>> > >> >
>> > >> >> ¿ha sprobado a incluir el % como parte de @MIPARAMETRO en
>> > >> >> lugar
>> > >> >> de
>> > >> >> ponerlo
>> > >> >> en la sql? puede ser eso?..
>> > >> >>
>> > >> >>
>> > >> >>
>> > >>
>> > >>
>> > >>
>>
>>



email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida