Foros del Web » Programando para Internet » ASPX (.net) »

Ayuda con where de sql

Estas en el tema de Ayuda con where de sql en el foro de ASPX (.net) en Foros del Web. Hola a todos, hace rato ya que no entraba por aqui pero ya estoy de vuelta pidiendo su colaboracion. Esta vez lo que pasa es ...
  #1 (permalink)  
Antiguo 19/02/2010, 23:24
Avatar de acumulador  
Fecha de Ingreso: junio-2008
Ubicación: Medellin - Antiquia
Mensajes: 459
Antigüedad: 15 años, 10 meses
Puntos: 7
Ayuda con where de sql

Hola a todos, hace rato ya que no entraba por aqui pero ya estoy de vuelta pidiendo su colaboracion.

Esta vez lo que pasa es que estoy haciendo una aplicacion web con acceso a datos de SQL server, sucede que trabajo con c# 2008 y necesito mostrar en un grid los datos traidos de una tabla, hasta ahi todo va bien por que pido mostrar todos los datos, pero cuando quiero hacer un filtro no veo como hacerlo. Me explico con el codigo:

string Criterio;
Criterio = txtUsuario.Text;

SqlConnection conex = new SqlConnection( @"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\DBusuarios.mdf;Integrated Security=True;User Instance=True" );
SqlCommand Cmm = new SqlCommand();
Cmm.CommandType = CommandType.Text;
Cmm.CommandText = "select * from tblUsuarios where usuario = "+Criterio;
Cmm.Connection = conex;
conex.Open();

//Adapter
SqlDataAdapter Adaptador = new SqlDataAdapter(Cmm);

//Traer datos
DataTable tblDatos = new DataTable();
Adaptador.Fill(tblDatos);

gvDatosUsuarios.DataSource = AllDatos.fnConectar();
gvDatosUsuarios.DataBind();

cuando ejecuto me muestra un error, dice asi:

El nombre de columna 'jcs' no es válido

jcs es el valor que escribo en el text y por el cual quiero hacer el filtro.
No se como concatenar el where con la variable. Creo que ahi es donde esta el problema.

Muchas gracias a todos por la ayuda que me puedan prestar.
__________________
-----------------------------------------------------------------------------
Yo vivo de preguntar, saber no puede ser lujo...
  #2 (permalink)  
Antiguo 20/02/2010, 10:47
Avatar de dmassive  
Fecha de Ingreso: febrero-2002
Ubicación: Paraná - Entre Ríos - Argentina
Mensajes: 279
Antigüedad: 22 años, 2 meses
Puntos: 7
Respuesta: Ayuda con where de sql

Si usas SQL Server prueba el Management Studio Express para hacer tus consultas, te ayuda mucho cuando uses cadenas de SQL muy largas.

Por lo que veo es que tu no le pasas el dato como cadena, sino como nombre de campo puesto que el mismo no esta incluido entre apostrofes ('):

Código SQL:
Ver original
  1. SELECT * FROM miTabla WHERE campo = 'cadena';
__________________
Blümchen... einfach die rave Prinzessin
http://www.dmassive.com.ar/
  #3 (permalink)  
Antiguo 20/02/2010, 10:52
Avatar de acumulador  
Fecha de Ingreso: junio-2008
Ubicación: Medellin - Antiquia
Mensajes: 459
Antigüedad: 15 años, 10 meses
Puntos: 7
Respuesta: Ayuda con where de sql

Cita:
Iniciado por dmassive Ver Mensaje
Si usas SQL Server prueba el Management Studio Express para hacer tus consultas, te ayuda mucho cuando uses cadenas de SQL muy largas.

Por lo que veo es que tu no le pasas el dato como cadena, sino como nombre de campo puesto que el mismo no esta incluido entre apostrofes ('):

Código SQL:
Ver original
  1. SELECT * FROM miTabla WHERE campo = 'cadena';
Mucha gracias por responder, pero no entiendo como paso el valor como cadena pues el valor esta en textbox. Ademas cmo ves la consulta la envio como una cadena en string y ahi es donde no se como unir la cadena y el valor del text.

Se me ocurre algo asi pero no se si es posible por que no me da.

string sql,criterio;
criterio = textbox1.text;
sql="select * from tblUsuarios where usuario ='criterio'";

Gracias de antemano por su colaboracion.
__________________
-----------------------------------------------------------------------------
Yo vivo de preguntar, saber no puede ser lujo...
  #4 (permalink)  
Antiguo 20/02/2010, 10:56
Avatar de dmassive  
Fecha de Ingreso: febrero-2002
Ubicación: Paraná - Entre Ríos - Argentina
Mensajes: 279
Antigüedad: 22 años, 2 meses
Puntos: 7
Respuesta: Ayuda con where de sql

Piénsalo de esta manera, tu sabes que es una cadena, C# sabe que es una cadena, pero el SQL no. Por lo tanto le debes indicar que es una cadena.

Para hacer busqueda de cadenas de texto tu codigo quedaria asi:
Código C++:
Ver original
  1. Cmm.CommandText = "select * from tblUsuarios where usuario = '"+Criterio+"';";

Otra recomendación es que uses mayúsculas para las palabras reservadas de SQL, pues te hará mucho mas claro el código cuando tengas que hacer cosas mas complejas.
__________________
Blümchen... einfach die rave Prinzessin
http://www.dmassive.com.ar/
  #5 (permalink)  
Antiguo 20/02/2010, 11:11
Avatar de acumulador  
Fecha de Ingreso: junio-2008
Ubicación: Medellin - Antiquia
Mensajes: 459
Antigüedad: 15 años, 10 meses
Puntos: 7
Respuesta: Ayuda con where de sql

Muchas gracias de verdad por tu ayuda; ahora mismo lo pruebo.
__________________
-----------------------------------------------------------------------------
Yo vivo de preguntar, saber no puede ser lujo...

Etiquetas: sql, aspx
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:07.