Deseo hacer un login

05/10/2007 - 23:10 por RP | Informe spam
Hola, deseo hacer un login para una aplicación Windows en C#, para acceder a
una aplicación, el punto es que yo estoy acostumbrado a trabajar con Visual
Basic 6.0 y las sentencias son distintas, deseo saber si me pueden ayudar con
el codigo o un ejemplo para poder hacer esa pequeña aplicación, teniendo en
cuenta que mi base de datos esta en Access.

Espero pronta respuesta a mi interrogante...

Atte.

Preguntas similare

Leer las respuestas

#6 RP
02/01/2008 - 22:05 | Informe spam
Bien haciendo lo que me sugiere, sale usando el SQL2000, que es el que tengo
instalado en mi PC, pero yo deseo hacer la aplicación con la base de datos en
Access, y al hacerlo como uds. explica, no permite controlar la inyección del
SQL, lo que yo quisiera saber, es como hacer un Login usando una base de
Datos en Access, evitando la inyección de codigo SQL para que no puedan
acceder

"Octavio Hernandez" wrote:

¿Para qué ejecutas dos sentencias, si con una podrías hacer ambas cosas
(preguntar si existe tal usuario, y obtener sus datos)?

using (SqlConnection conn = new SqlConnection(cadenaConexion))
{
conn.Open();
string query = "SELECT usu_id, usu_rol_id FROM tabla_usuarios"
+ " WHERE usu_usuario = @P1 AND usu_password = @P2";
using (SqlCommand cmd = new SqlCommand(query, conn))
{
cmd.Parameters.AddWithValue("@P1", txtUsuario.Text);
cmd.Parameters.AddWithValue("@P2", txtContra.Text);
using (SqlDataReader rdr = cmd.ExecuteReader())
{
if (rdr.Read())
{
// encontrado un usuario con ese nombre y contra
string id = rdr[0].ToString(); // el ID del usuario
(si es una cadena)
string rol_id = null; // el rol del usuario
if (rdr[1] != DBNull.Value)
rol_id = rdr[1].ToString();
// el nombre ya lo tienes (el que el usuario dio)

// lo demás que haya que hacer...

}
else
{
// no existe usuario con ese nombre y contra
}
}
}
}

El fragmento anterior:
a) de una sola vez resuelve todo
b) utiliza SQL parametrizado y no SQL dinámico, evitando la inyección de SQL
c) gracias a las sentencias using, se devuelven al sistema los recursos no
manejados que utilizan SqlCommand, etc. (que implementan IDisposable).

Saludos - Octavio



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