ASP.NET - Valor de cajas de texto en sentencia SELECT

 
Vista:
sin imagen de perfil

Valor de cajas de texto en sentencia SELECT

Publicado por Niebla_15 (7 intervenciones) el 20/06/2008 13:27:39
Hola a todos:

Estoy desarrollando una intranet en ASP . NET y necesito validar al usuario que se conecta.
Para ello he pensado en hacer una web de inicio con dos cajas de texto, una para el nombre y otra para el pass, con un botón que debería validar el contenido de las cajas de texto.
La idea es coger el valor de las cajas de texto y buscarlos en una tabla de usuarios y contraseñas, si estos valores se encuentran en la tabla se carga otra página y si no se muestra un mensaje de error.

¿como puedo pasar el valor de las cajas de texto en la sentencia SELECT que debería realizar esto?

String sentencia="SELECT * FROM I_Usuarios WHERE usuario =VALOR_DE_LA_CAJA_USUARIO AND contraseña =VALOR_DE_LA_CAJA_CONTRASEÑA" ;
SqlCommand comando=new SqlCommand (sentencia);

Estoy empezando en ASP . NET y la base de datos es SQL Server 2005.

¿Alguien me puede ayudar?.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 56
Bronce
Ha mantenido su posición en ASP.NET (en relación al último mes)
Gráfica de ASP.NET

RE:Valor de cajas de texto en sentencia SELECT

Publicado por Yamil Bracho (1136 intervenciones) el 20/06/2008 16:55:06
En el evento click del Boton de Aceptar haces algo como

StringBuilder sb = new StringBuilder()
sb.append("SELECT * FROM I_Usuarios WHERE usuario ='");
sb.append(this.txtUsuario.Text).append("' AND contraseña ='").Append(this.txtPass.Text).Append("' );
SqlCommand comando=new SqlCommand (sb.toString());

Por supuestoesto es para que pruebes porque es emjor idea hacerlo con un command que tenga parametros o mejor aun con un stored proc
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:Valor de cajas de texto en sentencia SELECT

Publicado por niebla_15 (7 intervenciones) el 23/06/2008 18:19:44
Estoy tratando de hacerlo con un commando que tenga parámetros, pero me encuentro con la misma situación, tengo esto:

String sentencia="SELECT * FROM I_Usuarios WHERE usuario ='" + @txtusuario + "' ";
SqlCommand comando=new SqlCommand (sentencia);
SqlDataReader resultado;

try{
conexion.Open();
comando.Connection=conexion;

comando.Parameters.Add(new SqlParameter("@txtusuario",SqlDbType.NVarChar, 10));
comando.Parameters["@txtusuario"].Value = txtusuario.Text;

resultado= comando.ExecuteReader();

while(resultado.Read()){ ......

Al llegar a este bucle, Read no apunta a nada porque el valor que hay en la variable sentencia es: "SELECT * FROM I_Usuarios WHERE usuario ='System.Web.UI.WebControls.TextBox'" y evidentemente no hay ningún registro en la base de datos que tenga ese valor.

@txtusuario es una caja de texto diseñada en el formulario de la siguiente manera:

<form runat="server" id="formulario">
<asp:TextBox id="txtusuario" runat="server"></asp:TextBox>
... etc

Estoy programando en ASP . NET y C#, pero en Visual Basic cuando se quería incluir el valor de un campo dentro de una consulta era algo como esto:

"SELECT * FROM tabla WHERE Id = '" & cajadetexto.text & "'"

Utilizando la propiedad text se podía obtener el valor de lo que el usuario había introducido en la caja de texto y utilizarlo como valor en la sentencia.
Yo quiero hacer esto mismo pero en ASP ya he aprendido que tengo que hacerlo mediante comandos con parámetros. ¡Y solo me queda pasar este valor de forma adecuada!.
Un saludo y graciaaass!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Valor de cajas de texto en sentencia SELECT

Publicado por Javier Santamaria (59 intervenciones) el 24/06/2008 12:27:58
Hola,

Te dejo un tutorial de acceso a dadtos que te puede ayudar.

http://www.elguille.info/NET/ASPNET/tutorial_vwd/acceso_datos.htm

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar