Ver Mensaje Individual
  #3 (permalink)  
Antiguo 29/07/2008, 07:47
Avellaneda
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 17 años, 3 meses
Puntos: 37
Respuesta: ayuda con update!!!urgente

Cita:
Iniciado por federed Ver Mensaje
hola,
tengo un sistema de inserción de registros en el que me conecto con este código:
Código:
    Private dt As DataTable
    Private da As OleDbDataAdapter
    Private fila As Integer
    Private con As OleDbConnection
    Dim instance As OleDbException
    Dim valor As OleDbErrorCollection


    Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim sCnn As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\transporte.mdb;Persist Security Info=False;"
        Dim sql As String = "SELECT * FROM movimientos"
        con = New OleDbConnection(sCnn)
        con.Open()
        da = New OleDbDataAdapter(sql, con) 'conexión a access 

        Dim fun As New OleDbCommandBuilder(da)

        fun.QuotePrefix = "["
        fun.QuoteSuffix = "]"
        da.UpdateCommand = fun.GetUpdateCommand
        da.InsertCommand = fun.GetInsertCommand
        da.DeleteCommand = fun.GetDeleteCommand

        dt = New DataTable 'tabla a rellenar
        da.Fill(dt)
    End Sub
e insertaría supestamente registros con este:
Código:
                            Dim origen As String
                            Dim destino As String

                            Dim nuevo As DataRow = dt.NewRow()
                            nuevo("Número de movimiento") = num_mov.Text
                            nuevo("Fecha") = fecha.Text
                            nuevo("Cliente") = cliente.Text
                            nuevo("Origen") = origen
                            nuevo("Destino") = destino
                            nuevo("Kilómetros") = km.Text
                            nuevo("Valor") = value.Text
                            nuevo("ID conductor") = id.Text

                            dt.Rows.Add(nuevo)
 da.Update(dt)
pero al generarlo me dice en da.update(dt) que hubo una oledbexception
¿Qué hago?
gracias

Hola,
¿y porqué no haces el update directamente en la tabla a través del objeto command? Ahorrarías código y es mas sencillo.

Código:
Dim cmd As New SqlCommand()

cmd.Connection = con
        con.Open()

        cmd.CommandText = "UPDATE Movimientos SET [Numero de movimiento] = '" & Num_mov.Text & "', " & _
        "Fecha = '" & Fecha.Text & "', " & _
        "Cliente = '" & Cliente.Text & "', " & _
        "Origen= '" & Origen & "', Destino = '" & Destino & "', " & _
        "Kilometros = '" & Km.Text & "', Valor = '" & Valuel.Text & "', " & _
        "[Id Conductor] = '" & id.Text & "'"

        cmd.ExecuteNonQuery()

Nota: El código anterior lo he puesto de memoria, sin hacer comprobación, es posible que me haya equivocado en algo, pero la idea es ésa.