none
Error de Sintaxis en INSERT INTRO VB 2012 con ACCESS 2013 (ExecuteNonQuery) RRS feed

  • Pregunta

  • tengo problemas cuando trato de grabar datos en access (error sintaxis insert intro), la base de datos conecta bien, necesito ayuda, este es el programa:

    Imports System.Data

    Imports System.Data.OleDb

    Public Class Form1

        Dim conexion As New OleDbConnection

        Dim DA As OleDbDataAdapter

        Dim DS As New DataSet

        Dim CB As OleDbCommandBuilder

        Dim posicion As Integer

        Dim cmd1 As String = "Select *from Reg-Propietarios"

        Dim cmd As OleDb.OleDbCommand

        Dim sqlinsert As String

        Dim sql As String

       

        Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

            conexion.Open()

            cmd = New OleDb.OleDbCommand

            cmd.Connection = conexion

            Dim query As String = "INSERT INTO Reg-propietarios(Nroinmueble,Propietario,NomInmueble,Direccion,Corregimiento,Ciudad,CodPostal,Metroscdosinmueb,CantPstosEstac,PtoMaletero,Alquilado) VALUES(@Nroinmueble,@Propietario,@NomInmueble,@Direccion,@Corregimiento,@Ciudad,@CodPostal,@Metroscdosinmueb,@CantPstosEstac,@PtoMaletero,@Alquilado)"

            Dim cmd2 As New OleDbCommand(query, conexion)

            cmd2.Parameters.AddWithValue("@Nroinmueble", txtapto.Text)

            cmd2.Parameters.AddWithValue("@Propietario", txtprop.Text)

            cmd2.Parameters.AddWithValue("@NomInmueble", txtinmueble.Text)

            cmd2.Parameters.AddWithValue("@Direccion", txtdireccion.Text)

            cmd2.Parameters.AddWithValue("@Corregimiento", txtcgmto.Text)

            cmd2.Parameters.AddWithValue("@Ciudad", txtciudad.Text)

            cmd2.Parameters.AddWithValue("@CodPostal", txtpostal.Text)

            cmd2.Parameters.AddWithValue("@Metroscdosinmueb", txtmetros.Text)

            cmd2.Parameters.AddWithValue("@CantPstosEstac", txtestac.Text)

            cmd2.Parameters.AddWithValue("@PtoMaletero", txtmaletero.Text)

            cmd2.Parameters.AddWithValue("@Alquilado", txtalq.Text)

            Try

                If ((cmd2.ExecuteNonQuery() <> 0)) Then

                    MessageBox.Show("Datos Ingresados Correctamente")

                    conexion.Close()

                    MsgBox("Datos Incluidos", vbInformation, "Correcto")

                End If

            Catch ex As Exception   'En caso que se produzca una excepcion en el proceso.

                MessageBox.Show(ex.ToString)

                MsgBox("Error en Grabacion", vbInformation, "Alerta")

            

    miércoles, 10 de febrero de 2016 1:53

Respuestas

  • Buenas Tardes Alberto, Gracias por la ayuda, ya me funciona ahora estoy es viendo como enmascaro la salida de enteros y decimales, mil gracias.
    • Marcado como respuesta El Fucho lunes, 15 de febrero de 2016 0:14
    lunes, 15 de febrero de 2016 0:12

Todas las respuestas

  • Veo un error en el nombre de la tabla. Pone "insert into Reg-propietarios", que contiene un guión entre reg y propietarios. El motor de base de datos interpretará eso como "restar propietarios de reg", cosa que evidentemente dará un error si se escribe detrás de "insert into". Prueba a escaparlo con paréntesis cuadrados: [Reg-propietarios] .
    miércoles, 10 de febrero de 2016 6:12
  • Buenas Tardes Alberto, Gracias por la ayuda, ya me funciona ahora estoy es viendo como enmascaro la salida de enteros y decimales, mil gracias.
    • Marcado como respuesta El Fucho lunes, 15 de febrero de 2016 0:14
    lunes, 15 de febrero de 2016 0:12