He estado viendo varios tutoriales para trabajar con bases de datos en .NET y he encontrado dos maneras de escribir código que no sé muy bien por qué una dicen que es mejor que la otra.
Aquí os presentos ambas versiones con la parte de código que corresponde a lo que no entiendo en Visual Basic .NET. Es sólo el código con el que se conseguiría lo mismo, dado que únicamente faltaría en cada caso la ejecución contra la base de datos.
La primera versión:
Código:
Dim comando As String
Dim comandoSQL as SqlCommand
comando = "SELECT campo FROM tabla WHERE fila = " & valor
comandoSQL.CommandType = CommandType.Text
comandoSQL.Command.Text = comando
La segunda versión:
Código:
Dim comando As String
Dim comandoSQL as SqlCommand
comando = "SELECT campo FROM tabla WHERE fila = @param"
comandoSQL.CommandType = CommandType.Text
comandoSQL.Command.Text = comando
Dim parametro as New SqlParameter ("param", valor)
param.DbType = DbType.Integer
comandoSQL.Parameters.Add(param)
Entiendo cada una de las líneas de ambos códigos, pero no entiendo por qué dicen que es mejor la segunda versión que la primera, si la primera implica menos código.
Si alguien me pudiera echar un poquito de luz y aclararme el tema se lo agradecería
Gracias y un saludo!!!!