Ver Mensaje Individual
  #2 (permalink)  
Antiguo 02/03/2014, 20:28
javidotnet
 
Fecha de Ingreso: mayo-2013
Ubicación: Chaco, Argentina
Mensajes: 45
Antigüedad: 11 años, 1 mes
Puntos: 3
Exclamación Respuesta: Validar Login c# SQL

Hola MarkiiAk

según el código que muestras tengo que decirte que está en peligro de una Inyección SQL, que cualquier usuario malintencionado pueda inocularle a tu software, con efectos devastadores sobre la base de datos.

Puede ser que tú restrinjas el acceso desde los textboxes, pero igual es mejor práctica de programación encapsular las consultas a la base de datos para protegerla de cualquier intromisión.

¿Cómo prevenir esto?

Sencillo, te creás una función especial que elimine todos los caracteres "NO LETRA" de los objetos de texto antes de incrustarlos en tu sentencia SQL.

Código:
    private void button1_Click_1(object sender, EventArgs e)
            {
                SqlDataAdapter da = new SqlDataAdapter("SELECT*FROM Empleado WHERE User=" + Funcion_Anti_Hackers(textBox1.Text) + "AND Password='" + Funcion_Anti_Hackers(textBox2.Text) + "'", con);
                DataTable dt = new DataTable();
                da.Fill(dt, "Matricula");
                if (dt.Rows.Count > 0)  
                {
     
     
                }
            }
Fijate en ese código también contesto tu pregunta acerca de la condición a usar:
te conviene usar un datatable y no un dataset. Según los que saben programar en .NET ellos dicen que los DataSet consumen muchísima memoria y enlentecen enormemente tu software, por tal motivo desaconsejan el uso de los mismos.
En cambio un datatable te trae directamente la tabla de la consulta, y en este caso la condición que evaluamos es si tiene filas (Rows.Count > 0)

Saludos!

Última edición por javidotnet; 02/03/2014 a las 20:49