none
Error al momento de insertar datos hacia una tabla de DBF. RRS feed

  • Pregunta

  •  

    Salu2.

     

    Estoy trabajando en ASP.NET VS 2005.

     

    Quiero insertar registros en una tabla de fox, pero me marca el siguiente error a la hora de hacer el datadapter.update(mi_tabla2), me arroja que hay error en el insert

     

    Error de sintaxis en la instrucción INSERT INTO.

     

    tengo:

     

    Dim coneccion_dbase As New OleDbConnection

    coneccion_dbase.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\paso;Extended Properties=dBase IV"

    coneccion_dbase.Open()

    Dim dbase_adap As New OleDbDataAdapter("select emp, nombre, importe from c:\paso\desc", coneccion_dbase)

    Dim mi_tabla2 As New Data.DataTable

    dbase_adap.Fill(mi_tabla2)

    Dim myDataRowsCommandBuilder As OleDbCommandBuilder = New OleDbCommandBuilder(dbase_adap)

    With dbase_adap

    .InsertCommand = myDataRowsCommandBuilder.GetInsertCommand 'Este es el valor que me regresa INSERT INTO desc (EMP, NOMBRE, IMPORTE ) VALUES (?, ?, ?)

    End With

    Dim registro As DataRow

    mi_tabla2.AcceptChanges()

    registro = mi_tabla2.NewRow()

    registro(0) = 11111111

    registro(1) = "xxxxxxxxxxxxxxxxxxxxxxx"

    registro(2) = 2536.36

    mi_tabla2.Rows.Add(registro)

    dbase_adap.Update(mi_tabla2) = aqui es donde me da el error

     

    De antemano gracias.

    miércoles, 23 de enero de 2008 23:46

Respuestas

Todas las respuestas

  • De momento a mí me llama la atención que pongas la ruta de  la tabla en la sentencia SELECT:

     

    Code Snippet

    Dim dbase_adap As New OleDbDataAdapter("select emp, nombre, importe from c:\paso\desc", coneccion_dbase)

     

     

    Con poner la rita en la cadena de conexión tal y como lo haces debería ser suficiente.

     

    Prueba a ver.

     

    Salud y suerte!

    jueves, 24 de enero de 2008 7:57
  • Gracias.

     

    En cuanto a lo que me comentas si no le pongo la ruta c:\paso, me arroja el siguiente error: "Error de sintaxis en la cláusula FROM."  al momento de que se ejecuta la instruccion:

     

    dbase_adap.Fill(mi_tabla2)

    jueves, 24 de enero de 2008 16:19
  • Hola,

     

    a ver la ruta va en la cadena de conexion

     

    destras de from tienes que poner el nombre de la tabla dentro de la base de datos a la que quieres acceder

     

    de todas maneras mirate esto:

     

    http://www.moreplus.es/index.aspx?accion=articulo&id=108

     

    un saludo.

     

     

    jueves, 24 de enero de 2008 17:04
    Moderador
  • Salu2.

     

    Gracias por la informacion. Lo he hecho como me comentas pero me arroja el siguiente error: "No se puede iniciar la aplicación. Falta el archivo de información del grupo de trabajo o bien está abierto en modo exclusivo por otro usuario."

     

    Es una Tabla libre de Fox, no pertenece a ninguna base de datos.

     

    La cadena de coneccion es:

    Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\paso;Extended Properties=dBase IV;User=XXXX;Password=XXXX

     

    Y si le suprimo el User y el Password me arroja: "Error de sintaxis en la cláusula FROM."  en la instruccion:

     

    dbase_iv.InsertCommand = myDataRowsCommandBuilder.GetInsertCommand

     

     

    Ya le di permiso al usuario "ASPNET", sobre la carpeta y sobre el archivo.

     

    Gracias.

     

    jueves, 24 de enero de 2008 17:18
  • Despues de tanto buscarte en las conecciones, por fin funciono:

     

    "Provider=vfpoledb;data source=c:\paso"

     

    Gracias a ambos por su ayuda.

    jueves, 24 de enero de 2008 20:04