I have experience programming in Java and I have taken as a personal project to learn .NET languages (VB.NET and C #).
In JAVA, the following is used to create MySQL prepared queries to avoid SQL injection:
public void consultaPreparada() throws SQLException{
conexion();
String query="SELECT * FROM staff where first_name=(?) and password=md5(?)";
ps=conn.prepareStatement(query);
ps.setString(1, "Mike");
ps.setString(2, "contrasena");
rs=ps.executeQuery();
if(rs.next()){
System.out.println(rs.getString(2)+" "+rs.getString(3));
}
cerrar();
}
I would like to know how to do the queries prepared but in VB.NET and SQL Server. Until now, it is only done like this:
Public Sub agregar(ByVal CURP As String, ByVal nombre As String, ByVal apep As String,
ByVal apem As String, ByVal sexo As String, ByVal ocupacion As String)
'Se abre la conexion'
conectarBD()
'Se genera el String de la Consulta
Dim consulta As String = "INSERT INTO persona VALUES('" + CURP + "','" + nombre + "','" + apep + "','" + apem + "','" +
sexo + "','" + ocupacion + "')"
'Agregamos la sentencia SQL y la conexion
cmd = New SqlCommand(consulta, conn)
'Establecemos una variable auxiliar para determinar si la consulta se ejecuta bien o no
Dim i As Integer = cmd.ExecuteNonQuery()
'compara si la consulta fue hecha bien si esta es mayor que 1
If i > 0 Then
'Si la consulta es correcta manda este mensaje
MessageBox.Show("Persona Agregada con exito")
Else
'si la consulta es incorrecta manda el siguiente mensaje
MessageBox.Show("Error al Agregar")
End If
'se Cierra la conexion
cerrarConexion()
End Sub