entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

1voto

Select con parametros en Visual Basic

Hola, estoy haciendo una pequeña aplicación en Visual Basic. Necesito recuperar datos de una base de datos, y me gustaría hacerlo por parámetros, para evitar problemas con la entrada de datos del usuario.

Bien, si lo hago así, sin parametros funciona correctamente:

Dim str As String = "SELECT * FROM Clientes WHERE Cif = '" & cifCliente & "'"
Dim cmd As OleDbCommand = New OleDbCommand(str, myConnection)
dr = cmd.ExecuteReader
dr.Read()
MessageBox.Show(dr("CodigoInterno").ToString())

Ejecutando esto me muestra el código interno del cliente con el cif indicado. Pero como digo, es inseguro, así que lo estoy intentando hacer con parámetros. Este es el código:

Dim str As String = "SELECT * FROM Clientes WHERE Cif = '@cifCliente'"
Dim cmd As OleDbCommand = New OleDbCommand(str, myConnection)
cmd.Parameters.AddWithValue("@cifCliente", cifCliente)
dr = cmd.ExecuteReader
dr.Read()
MessageBox.Show(dr("CodigoInterno").ToString())

Y si hago esto, pues ya no devuelve nada. Concretamente, me da una excepción por falta de datos.

¿Qué es lo que está mal en el segundo código? ¿No se hace de esta forma?

Gracias

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta