請幫忙。 我是一個初學者,我試圖保存從Visual Studio 2012訪問,它給我「FormatException was ungandles」。 它表明錯誤是「i = .ExecuteNonQuery()」。我認爲錯誤是「1 =」,但即使當我嘗試沒有「i =」的特定行時,它仍會給出相同的錯誤。最後,它仍然不會保存到數據庫中。 請幫我檢查一下代碼。FormatException在Visual Studio中未處理
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
Dim ms As New Memorystream()
Dim arrimage() As Byte
If (PictureBox1.Image IsNot Nothing) Then
PictureBox1.Image.Save(ms, PictureBox1.Image.RawFormat)
arrimage = ms.GetBuffer
ms.Close()
End If
With cmd
.Connection = cn
.CommandText = "INSERT INTO TextBox1(RegNum,Lname,Fname,Oname,Gender,Religion,DOB,Pno,Address,Country,SOorigin,LGA,Faculty,Dept,Level,Passport,Course1,Cource2,Cource3,Course4,Course5,Course6,Course7,Course9,Course10) VALUES(@a0,@a1,@a2,@a3,@a4,@a5,@a6,@a7,@a8,@a9,@a10,@a11,@a12,@a13,@a14,@a15,@a16,@a17,@a18,@a19,@a20,@a21,@a22,@a23,@a24,@a25)"
.Parameters.Add("@a0", OleDbType.VarChar).Value = TextBox1.Text
.Parameters.Add("@a1", OleDbType.VarChar).Value = TextBox2.Text
.Parameters.Add("@a2", OleDbType.VarChar).Value = TextBox3.Text
.Parameters.Add("@a3", OleDbType.VarChar).Value = TextBox4.Text
.Parameters.Add("@a4", OleDbType.VarChar).Value = ComboBox1.Text
.Parameters.Add("@a5", OleDbType.VarChar).Value = TextBox5.Text
.Parameters.Add("@a6", OleDbType.Date).Value = DateTimePicker1.Text
.Parameters.Add("@a7", OleDbType.Integer).Value = TextBox6.Text
.Parameters.Add("@a8", OleDbType.VarChar).Value = TextBox7.Text
.Parameters.Add("@a9", OleDbType.VarChar).Value = TextBox8.Text
.Parameters.Add("@a10", OleDbType.VarChar).Value = TextBox9.Text
.Parameters.Add("@a11", OleDbType.VarChar).Value = TextBox10.Text
.Parameters.Add("@a12", OleDbType.VarChar).Value = ComboBox2.Text
.Parameters.Add("@a13", OleDbType.VarChar).Value = ComboBox3.Text
.Parameters.Add("@a14", OleDbType.VarChar).Value = ComboBox4.Text
.Parameters.Add("@a15", OleDbType.Binary).Value = IIf(PictureBox1.Image IsNot Nothing, arrimage, DBNull.Value)
.Parameters.Add("@a16", OleDbType.VarChar).Value = ComboBox5.Text
.Parameters.Add("@a17", OleDbType.VarChar).Value = ComboBox6.Text
.Parameters.Add("@a18", OleDbType.VarChar).Value = ComboBox7.Text
.Parameters.Add("@a19", OleDbType.VarChar).Value = ComboBox8.Text
.Parameters.Add("@a20", OleDbType.VarChar).Value = ComboBox9.Text
.Parameters.Add("@a21", OleDbType.VarChar).Value = ComboBox10.Text
.Parameters.Add("@a22", OleDbType.VarChar).Value = ComboBox11.Text
.Parameters.Add("@a23", OleDbType.VarChar).Value = ComboBox12.Text
.Parameters.Add("@a24", OleDbType.VarChar).Value = ComboBox13.Text
.Parameters.Add("@a25", OleDbType.VarChar).Value = ComboBox14.Text
i = .ExecuteNonQuery()
.Dispose()
If (i > 0) Then
MsgBox("Saved Successful")
End If
End With
End Sub
末級
替換設置每個參數使用已知有效的值,而該代碼而不是從用戶界面讀取的值。對所有參數執行此操作並檢查它是否保存。依次爲每個參數重新輸入正確的代碼,直到失敗。弄清楚爲什麼會失敗(列值不爲空,錯誤類型等的空值)。您可能需要重複多個參數/列。 – ChrisF
你的表名肯定不是'TextBox1'。 – Andre