Malek
Malek

Reputation: 25

Insert into Access returns Error

i try to insert 2 datetimepicker to my database but error in @p1 said object reference not set to an instance of an object my code is :

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


                Dim date1 As Date = DateTimePicker1.Value.ToShortDateString()
                Dim date2 As Date = DateTimePicker2.Value.ToShortDateString()
                oleConn = New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & Application.StartupPath & "\c2cdb.accdb")
                Dim cb As String = "insert into Reqmain(DateOfResive,DateOfIssue,UnitID,DeviseType,expectedCrush,Attachments,WorkerID) VALUES (@p1, @p2, @p3, @p4, @p5, @p6, @p7)"
                cmd.Parameters.AddWithValue("@p1", date1)
                cmd.Parameters.AddWithValue("@p2", date2)
                cmd.Parameters.AddWithValue("@p3",convert.ToInt32(ComUnits.ValueMember))
                cmd.Parameters.AddWithValue("@p4", tbDeviseType.Text)
                cmd.Parameters.AddWithValue("@p5", tbExpCrush.Text)
                cmd.Parameters.AddWithValue("@p6", tbattach.Text)
                md.Parameters.AddWithValue("@p7",convert.ToInt32(comWorker.ValueMember))
                cmd = New OleDbCommand(cb)
                cmd.Connection = oleConn
                oleConn.Open()
                cmd.ExecuteNonQuery()
                oleConn.Close()
          End Sub

Upvotes: 0

Views: 109

Answers (1)

Orlando Herrera
Orlando Herrera

Reputation: 3531

This small code is working for me:

Try
        Dim con As New System.Data.OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=yourDB.accdb;")
        Dim cb As String = "insert into Table1 (Date1, Sample1) VALUES (@p1, @p2)"
        Dim cmd As New System.Data.OleDb.OleDbCommand
        cmd.Connection = con
        cmd.CommandText = cb
        cmd.Parameters.AddWithValue("@p1", Me.DateTimePicker1.Value.ToShortDateString())
        cmd.Parameters.AddWithValue("@p2", Me.TextBox1.Text)
        con.Open()
        cmd.ExecuteNonQuery()
        con.Close()
Catch ex As Exception
        MessageBox.Show(Err.Description)
End Try

Upvotes: 1

Related Questions