這部分代碼是讓講師發佈諮詢時間表,不幸的是我遇到了另一個錯誤,如標題所示,在Can anybody help me to solve this error "NullReferenceException was unhandled"?處完成提問後,該錯誤可能已解決。現在,我的問題是當我單擊發布按鈕時,就像將所有標籤(具有如表格中所示的顏色)保存到訪問文件,並且這些標籤已經聲明爲(lime = available,red = unavailable )。任何人都可以幫我解決這個錯誤「OleDbException未處理」?
的錯誤是在昏暗˚F爲整數= cmd.ExecuteNonQuery()
Public Class ConsultationSchedule
Private Sub publishbutton_Click(sender As Object, e As EventArgs) Handles publishbutton.Click
Dim label As String = "Label"
Dim time1 As String = vbNull
Dim time2 As String = vbNull
Dim time3 As String = vbNull
Dim time4 As String = vbNull
Dim time5 As String = vbNull
Dim day1 As String = vbNull
Dim day2 As String = vbNull
Dim day3 As String = vbNull
Dim day4 As String = vbNull
Dim day5 As String = vbNull
Dim available1 As String = vbNull
Dim available2 As String = vbNull
Dim available3 As String = vbNull
Dim available4 As String = vbNull
Dim available5 As String = vbNull
For i = 11 To 15
time1 = Label7.Text
For k = 16 To 20
time2 = Label8.Text
For t = 21 To 25
time3 = Label9.Text
For u = 26 To 30
time4 = Label10.Text
For bg = 33 To 37
time5 = Label32.Text
Next
Next
Next
Next
Next
For i = 11 To 37
If (i = 11) Then
day1 = Label2.Text
If Not Me.Controls(label & i.ToString) Is Nothing Then
If (Me.Controls(label & i.ToString).BackColor = Color.Lime) Then
available1 = "Available"
Else
available1 = "Unavailable"
End If
End If
ElseIf (i = 16) Then
day1 = Label2.Text
If Not Me.Controls(label & i.ToString) Is Nothing Then
If (Me.Controls(label & i.ToString).BackColor = Color.Lime) Then
available2 = "Available"
Else
available2 = "Unavailable"
End If
End If
ElseIf (i = 21) Then
day1 = Label2.Text
If Not Me.Controls(label & i.ToString) Is Nothing Then
If (Me.Controls(label & i.ToString).BackColor = Color.Lime) Then
available3 = "Available"
Else
available3 = "Unavailable"
End If
End If
ElseIf (i = 26) Then
day1 = Label2.Text
If Not Me.Controls(label & i.ToString) Is Nothing Then
If (Me.Controls(label & i.ToString).BackColor = Color.Lime) Then
available4 = "Available"
Else
available4 = "Unavailable"
End If
End If
ElseIf (i = 33) Then
day1 = Label2.Text
If Not Me.Controls(label & i.ToString) Is Nothing Then
If (Me.Controls(label & i.ToString).BackColor = Color.Lime) Then
available5 = "Available"
Else
available5 = "Unavailable"
End If
End If
End If
Next
For ht = 11 To 37
If (ht = 11) Then
day1 = Label2.Text
ElseIf (ht = 16) Then
day1 = Label2.Text
ElseIf (ht = 21) Then
day1 = Label2.Text
ElseIf (ht = 26) Then
day1 = Label2.Text
ElseIf (ht = 33) Then
day1 = Label2.Text
End If
Next
For k = 11 To 37
If (k = 12) Then
day2 = Label3.Text
ElseIf (k = 17) Then
day2 = Label3.Text
ElseIf (k = 22) Then
day2 = Label3.Text
ElseIf (k = 27) Then
day2 = Label3.Text
ElseIf (k = 34) Then
day2 = Label3.Text
End If
Next
For t = 11 To 37
If (t = 13) Then
day3 = Label4.Text
ElseIf (t = 18) Then
day3 = Label4.Text
ElseIf (t = 23) Then
day3 = Label4.Text
ElseIf (t = 28) Then
day3 = Label4.Text
ElseIf (t = 35) Then
day3 = Label4.Text
End If
Next
For u = 11 To 37
If (u = 14) Then
day4 = Label5.Text
ElseIf (u = 19) Then
day4 = Label5.Text
ElseIf (u = 24) Then
day4 = Label5.Text
ElseIf (u = 29) Then
day4 = Label5.Text
ElseIf (u = 36) Then
day4 = Label5.Text
End If
Next
For y = 11 To 37
If (y = 15) Then
day5 = Label6.Text
ElseIf (y = 20) Then
day5 = Label6.Text
ElseIf (y = 25) Then
day5 = Label6.Text
ElseIf (y = 30) Then
day5 = Label6.Text
ElseIf (y = 37) Then
day5 = Label6.Text
End If
Next
Dim sql As String
Dim sql2 As String
Dim sql3 As String
Dim sql4 As String
Dim sql5 As String
Dim cmd As OleDbCommand
Dim cmd2 As OleDbCommand
Dim cmd3 As OleDbCommand
Dim cmd4 As OleDbCommand
Dim cmd5 As OleDbCommand
Dim conn = New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=scheduledatabase.accdb;Persist Security Info=False;")
sql = "INSERT INTO consultationschedule([Time], weekDay, Available)VALUES(@time1,@day1,@available1)"
sql2 = "INSERT INTO consultationschedule([Time], weekDay, Available)VALUES(@time2,@day2,@available2)"
sql3 = "INSERT INTO consultationschedule([Time], weekDay, Available)VALUES(@time3,@day3,@available3)"
sql4 = "INSERT INTO consultationschedule([Time], weekDay, Available)VALUES(@time4,@day4,@available4)"
sql5 = "INSERT INTO consultationschedule([Time], weekDay, Available)VALUES(@time5,@day5,@available5)"
Using (conn)
conn.Open()
cmd = New OleDbCommand(sql, conn)
cmd.Parameters.Add(New OleDbParameter("@Time", time1))
cmd.Parameters.Add(New OleDbParameter("@weekDay", day1))
cmd.Parameters.Add(New OleDbParameter("@Available", available1))
cmd2 = New OleDbCommand(sql2, conn)
cmd2.Parameters.Add(New OleDbParameter("@Time", time2))
cmd2.Parameters.Add(New OleDbParameter("@weekDay", day2))
cmd2.Parameters.Add(New OleDbParameter("@Available", available2))
cmd3 = New OleDbCommand(sql3, conn)
cmd3.Parameters.Add(New OleDbParameter("@Time", time3))
cmd3.Parameters.Add(New OleDbParameter("@weekDay", day3))
cmd3.Parameters.Add(New OleDbParameter("@Available", available3))
cmd4 = New OleDbCommand(sql4, conn)
cmd4.Parameters.Add(New OleDbParameter("@Time", time4))
cmd4.Parameters.Add(New OleDbParameter("@weekDay", day4))
cmd4.Parameters.Add(New OleDbParameter("@Available", available4))
cmd5 = New OleDbCommand(sql5, conn)
cmd5.Parameters.Add(New OleDbParameter("@Time", time5))
cmd5.Parameters.Add(New OleDbParameter("@weekDay", day5))
cmd5.Parameters.Add(New OleDbParameter("@Available", available5))
Dim f As Integer = cmd.ExecuteNonQuery()
If (f >= 1) Then
ToolStrip1.Text += f.ToString & " record added successfully"
Else
ToolStrip1.Text += "Unable to add record"
End If
End Using
End Sub
這條消息告訴你,拋出了一個你沒有捕獲到的異常。 *該異常*包含有關您正在查找的錯誤的信息。捕捉異常並找出該信息是什麼。 (如果我要猜測* ...您將15個參數添加到具有* 3 *的查詢中。) – David
System.Data.dll中發生未處理的類型爲「System.Data.OleDb.OleDbException」的異常 附加信息:INSERT INTO語句中的語法錯誤。這是你正在談論的信息嗎? – bwraths
如果我添加15個參數到一個有3個查詢,這是否意味着我需要添加更多不同名稱的查詢,包括我的數據庫? – bwraths