problema con comando

23/09/2004 - 22:26 por Santiago Altieri | Informe spam
tengo un problema... quiero pasar un string a un comando de busqueda... o
sea lo q tenga adentro la

propiedad text de mi control textbox quiero q funciones como criterio de una
busqueda

yo lo q hice fue crearle como parametro esta bien???

pero no me funciona...

o sea si yo le pongo un nombre manualmente funciona el comando anda...
pero si intento usar ese parametro q cree

no anda

pliss agradeceria mucho su ayuda



Dim conexion As New OleDb.OleDbConnection(dbgenerac.ConnectionString)

conexion.Open()

Dim bus As String = busq.Text

Dim a As String = "SELECT * FROM clientes WHERE Contacto LIKE '%Busqe%'"

Dim comando As New OleDb.OleDbCommand(a, conexion)

Dim Busqe As New OleDb.OleDbParameter("Busqe", OleDb.OleDbType.Char)

Busqe.Value = bus

comando.Parameters.Add(Busqe)

Dim dr As OleDb.OleDbDataReader = comando.ExecuteReader()

Do While dr.Read()

MsgBox(dr.Item("Contacto"))

Loop

conexion.Close()

Preguntas similare

Leer las respuestas

#1 Jose Marcenaro
23/09/2004 - 22:36 | Informe spam
Debes incluir un signo de interrogacion para indicar el parámetro; o sea
Dim a As String = "SELECT * FROM clientes WHERE Contacto LIKE
'%'+?Busqe+'%'"

o bien
Dim a As String = "SELECT * FROM clientes WHERE Contacto LIKE ?Busqe"
y luego asignar '%'+bus+'%' en el parametro

Saludos
Jose Marcenaro


"Santiago Altieri" escribió en el mensaje
news:%
tengo un problema... quiero pasar un string a un comando de busqueda... o
sea lo q tenga adentro la

propiedad text de mi control textbox quiero q funciones como criterio de


una
busqueda

yo lo q hice fue crearle como parametro esta bien???

pero no me funciona...

o sea si yo le pongo un nombre manualmente funciona el comando anda...
pero si intento usar ese parametro q cree

no anda

pliss agradeceria mucho su ayuda



-

Dim conexion As New OleDb.OleDbConnection(dbgenerac.ConnectionString)

conexion.Open()

Dim bus As String = busq.Text

Dim a As String = "SELECT * FROM clientes WHERE Contacto LIKE '%Busqe%'"

Dim comando As New OleDb.OleDbCommand(a, conexion)

Dim Busqe As New OleDb.OleDbParameter("Busqe", OleDb.OleDbType.Char)

Busqe.Value = bus

comando.Parameters.Add(Busqe)

Dim dr As OleDb.OleDbDataReader = comando.ExecuteReader()

Do While dr.Read()

MsgBox(dr.Item("Contacto"))

Loop

conexion.Close()



-


Respuesta Responder a este mensaje
#2 Santiago Altieri
24/09/2004 - 01:28 | Informe spam
puse esto y anda bien el parametro busqueda... pero como puedo insertar un
2do parametro para establecer

la columna con la q quiero trabajar probe con ?columna pero no anda...
tambien probe columna=? y tampoco

-

dim a As String = "SELECT * FROM clientes WHERE Contacto LIKE ?"

Dim comando As New OleDb.OleDbCommand(a, conexion)

'comando.Parameters.Add("columna", "Contacto")

comando.Parameters.Add("busqueda", bus & "%")

Dim da As New OleDb.OleDbDataAdapter(comando)

Dim ds As New DataSet

da.Fill(ds, "clientes")

grid1.DataSource = ds

grid1.DataMember = "clientes"

conexion.Close()

-
Respuesta Responder a este mensaje
#3 Jose Marcenaro
24/09/2004 - 22:22 | Informe spam
Eso no lo puedes pasar como parámetro (el nombre de una columna no se puede
especificar en forma variable en un select)

Lo que puedes hacer es armar la expresion select según la columna que
quieres filtrar, algo asi como ...
dim a As String = "SELECT * FROM clientes WHERE " + columna + " LIKE ?"


Saludos
Jose Marcenaro

"Santiago Altieri" escribió en el mensaje
news:%23No$
puse esto y anda bien el parametro busqueda... pero como puedo insertar un
2do parametro para establecer

la columna con la q quiero trabajar probe con ?columna pero no anda...
tambien probe columna=? y tampoco


dim a As String = "SELECT * FROM clientes WHERE Contacto LIKE ?"

Dim comando As New OleDb.OleDbCommand(a, conexion)

'comando.Parameters.Add("columna", "Contacto")

comando.Parameters.Add("busqueda", bus & "%")

Dim da As New OleDb.OleDbDataAdapter(comando)

Dim ds As New DataSet

da.Fill(ds, "clientes")

grid1.DataSource = ds

grid1.DataMember = "clientes"

conexion.Close()



Respuesta Responder a este mensaje
#4 Santiago Altieri
24/09/2004 - 23:42 | Informe spam
okko gracias
funciona...

"Jose Marcenaro" wrote in message
news:
Eso no lo puedes pasar como parámetro (el nombre de una columna no se
puede
especificar en forma variable en un select)

Lo que puedes hacer es armar la expresion select según la columna que
quieres filtrar, algo asi como ...
dim a As String = "SELECT * FROM clientes WHERE " + columna + " LIKE ?"


Saludos
Jose Marcenaro

"Santiago Altieri" escribió en el mensaje
news:%23No$
puse esto y anda bien el parametro busqueda... pero como puedo insertar
un
2do parametro para establecer

la columna con la q quiero trabajar probe con ?columna pero no
anda...
tambien probe columna=? y tampoco


dim a As String = "SELECT * FROM clientes WHERE Contacto LIKE ?"

Dim comando As New OleDb.OleDbCommand(a, conexion)

'comando.Parameters.Add("columna", "Contacto")

comando.Parameters.Add("busqueda", bus & "%")

Dim da As New OleDb.OleDbDataAdapter(comando)

Dim ds As New DataSet

da.Fill(ds, "clientes")

grid1.DataSource = ds

grid1.DataMember = "clientes"

conexion.Close()







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