2014-10-05 2 views
0
Public Class frmAddB 
    Dim con As New OleDb.OleDbConnection 
    Dim sql As String 
    Dim da As OleDb.OleDbDataAdapter 
    Dim ds As New DataSet 

    Private Sub frmAddB_Load(sender As Object, e As EventArgs) Handles MyBase.Load 
     con.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\ATE THESS\Documents\School xD\2-1\VB\VB.accdb" 
     Try 
      con.Open() 
     Catch ex As Exception 
      MsgBox(ex.ToString) 
     End Try 
    End Sub 

    Private Sub btnCancel_Click(sender As Object, e As EventArgs) Handles btnCancel.Click 
     Me.Close() 
     frmBookMngmt.Show() 
    End Sub 

    Private Sub btnSave_Click(sender As Object, e As EventArgs) Handles btnSave.Click 
     sql = "INSERT INTO [All] (ISBN, Author, Title, PlaceOfPublication, Publisher, Location, Edition, CallNumber) VALUES ('" & txtISBN.Text & "', '" & txtAuthor.Text & "', '" & txtTitle.Text & "', '" & txtPlace.Text & "', '" & txtPub.Text & "', '" & txtLoc.Text & "', '" & txtEd.Text & "', '" & txtCallNo.Text & "')" 
     da.InsertCommand = New OleDb.OleDbCommand(sql, con) 
     da.InsertCommand.ExecuteNonQuery() 
     MsgBox("Book Added!") 
     frmBookMngmt.updateDataGridValues() 
    End Sub 
End Class 

를 설정하지 나는 "저장 버튼",개체 참조가 개체 VB.Net의 인스턴스에 ADO.Net

유형의 처리되지 않은 예외 'System.NullReferenceException 말 창을 클릭 할 때마다 . 개체 참조

가 나타납니다 "개체의 인스턴스로 설정하고이 선을 가리키고 없습니다 : '

추가 정보는 WindowsApplication1.exe 발생

da.InsertCommand = New OleDb.OleDbCommand(sql, con) 

아무도 도와 줄 수 있습니까? 감사합니다

답변

1

예를 들어, 변수 da를 절대로 설치하지 않은 것으로 보입니다.

그런 다음 변수 범위를 변경해야 할 수도 있습니다. 데이터베이스에 액세스하려고 할 때마다 새 연결을 만들 것을 제안합니다. 코드에서 frmAddB_Load가 실패한 경우 사용할 수없는 상태가 될 수 있습니다.

+0

감사합니다. 마지막으로 da = New OleDb.OleDbDataAdapter를 추가했습니다. :) –

+0

@YunoBrown :이 답변으로 문제를 해결하는 데 도움이 되었다면 [**이 대답 수락 **] (http://meta.stackoverflow.com/q/5234/153998)을 참조하십시오. 이것은 * 당신을 돕기 위해 자신의 시간을 보낸 * 사람들에게 감사를 표합니다. –

+0

죄송합니다, 지금은 받아들이는 방법을 알아 냈습니다. << –

관련 문제