• Comentarios recientes

    jorge on Error: Palabra clave no admiti…
  • Categorías

INSERT INTO

La consulta que describí en el post anterior me devolvía 0 filas afectadas. Esto era porque me estaba faltando un pequeño detalle: la función ExecuteNonQuery de la conexión SQL que estamos ejecutando. Sin esta instrucción nada de lo que estamos haciendo se va a ejecutar (haberlo dicho antes).

Entonces, añadiendo la instrucción y corrigiendo algunos detalles de sintaxis, la cadena INSERT INTO sería:

'-----Declaraciones:
'Variable que recibirá la cadena de conexión
Dim SQLConexion As New System.Data.SqlClient.SqlConnection("Data Source=(local)\SQLEXPRESS;InitialCatalog=DB1;User=sa;Password=pass")
'Variable del objeto comando para las operaciones.
Dim SQLComando As New System.Data.SqlClient.SqlCommand

'Rutina----
'Abrir la conexión
SQLConexion.Open()

'Asignar la cadena de conexion al objeto comando
SQLComando.Connection = SQLConexion

'Insertamos un registro
SQLComando.CommandText = "Insert Into Tabla1 " & _
"(id, Peso, FechaHora) " & _
"Values " & _
"(@P1, @P2, @P3)"


SQLComando.Parameters.Add("@P1", SqlDbType.NChar, 10).Value = Dato_id
SQLComando.Parameters.Add("@P2", SqlDbType.Real, 10).Value = Dato_Peso
SQLComando.Parameters.AddWithValue("@P3", FechaHora)

SQLComando.ExecuteNonQuery()

'Cerrar la conexión
SQLConexion.Close()

Como nos podemos dar cuenta, añadimos ahora la funcionalidad de agregar los valores por medio de parámetros. Así es más fácil evitar problemas de concatenación (y otros, como los ataques de inyección de SQL). Por lo tanto es preferible parametrizar la sentencia como lo hicimos.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s