Retroceder   Foros del Web > Programación para sitios web > .NET

Respuesta
 
Herramientas Desplegado
Antiguo 24-jul-2006, 03:37   #1 (permalink)
Legolas_Bilbao está en el buen camino
 
Fecha de Ingreso: mayo-2005
Mensajes: 330
oleDbParameters

quiero pasarle un parametro para evitar el sql injection
Código:
OleDbParameter @_usuario = new OleDbParameter("@_usuario",OleDbType.VarChar,50);
				   //myDataAdapter.SelectCommand.Parameters.Add("@CategoryName", OleDbType.VarChar, 80).Value = "toasters";

			string commandText = "SELECT id_usuario,id_pass FROM _usuariosBallestaParis "+
				"WHERE id_usuario=@_usuario";
			OleDbCommand cmd = new OleDbCommand(commandText, this.conn);
			cmd.Parameters.Add("@_usuario",id_izena);
			OleDbDataReader reader = cmd.ExecuteReader();

pero siempre me salta exception de que tengo que declarar @_usuario

como puedo solventar este problema
__________________
Dios creo un equipo perfecto a los demas los lleno de extranjeros
Legolas_Bilbao está desconectado   Responder Citando
Antiguo 24-jul-2006, 08:25   #2 (permalink)
Moderador
RootK llegará a ser famoso muy prontoRootK llegará a ser famoso muy pronto
 
Avatar de RootK
 
Fecha de Ingreso: noviembre-2002
Ubicación: México D.F
Mensajes: 7.542
Enviar un mensaje por MSN a RootK
ya lo intentaste así:

Cita:
OleDbParameter @_usuario = new OleDbParameter("@_usuario",OleDbType.VarChar,50);
@_usuario.Value = id_izena;

string commandText = "SELECT id_usuario,id_pass FROM _usuariosBallestaParis "+ "WHERE id_usuario=@_usuario";
OleDbCommand cmd = new OleDbCommand(commandText, this.conn);
cmd.Parameters.Add(@_usuario);
OleDbDataReader reader = cmd.ExecuteReader();
Salu2
__________________
Nadie roba nada ya que en la vida todo se paga . . .
RootK está desconectado   Responder Citando
Antiguo 25-jul-2006, 01:45   #3 (permalink)
Legolas_Bilbao está en el buen camino
 
Fecha de Ingreso: mayo-2005
Mensajes: 330
no ahora lo pruebo gracias
__________________
Dios creo un equipo perfecto a los demas los lleno de extranjeros
Legolas_Bilbao está desconectado   Responder Citando
Antiguo 26-jul-2006, 01:02   #4 (permalink)
Legolas_Bilbao está en el buen camino
 
Fecha de Ingreso: mayo-2005
Mensajes: 330
Me sigue saliendo lo mismo y he copiado tal cual lo que me has puesot :S , q estaré haciend mal :S
__________________
Dios creo un equipo perfecto a los demas los lleno de extranjeros
Legolas_Bilbao está desconectado   Responder Citando
Antiguo 27-jul-2006, 08:49   #5 (permalink)
moNTeZIon ha deshabilitado el karma
 
Avatar de moNTeZIon
 
Fecha de Ingreso: enero-2005
Ubicación: CanFenosa Martorelles BCN
Mensajes: 1.286
Enviar un mensaje por Skype™ a moNTeZIon
Hola Legolas,
Dos cosas:
1) La documentación de ADO.NET para OleDB dice que los parámetros se marcan con "?" y no con "@NombreParametro"
O sea, una sentencia INSERT INTO, podria quedarte así:
Código:
INSERT INTO tabla (Campo1, Campo2) VALUES (?, ?)
Luego, tendrás que tener en cuenta el orden en que le agregas parámetros, ya que estos no tienen nombre en la CommandText.

2) Y luego, yo programo en VB y no se si en C# ocurre lo mismo, pero yo no puedo declarar una variable que su nombre empiece por "@". Me marca error. Prueba a cambiar el nombre de la variable parámetro, quitandole la @, a ver qué tal. O sea, prueba algo así:
Código:
OleDbParameter ParamUsuario = new OleDbParameter("@_usuario",OleDbType.VarChar,50);
@_usuario.Value = id_izena;
Checa todo esto y ya dirás.
Un saludo!
__________________
..:: moNTeZIon ::..
moNTeZIon está desconectado   Responder Citando
Antiguo 27-jul-2006, 11:34   #6 (permalink)
Legolas_Bilbao está en el buen camino
 
Fecha de Ingreso: mayo-2005
Mensajes: 330
Solucionado muchas gracias
__________________
Dios creo un equipo perfecto a los demas los lleno de extranjeros
Legolas_Bilbao está desconectado   Responder Citando
Respuesta

No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 20:41.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93