0
再次在代碼中的錯誤。請幫幫我。ExecuteReader需要一個開放且可用的Connection。連接的當前狀態已關閉。在vb.net請幫我
'Private Sub btn_Issue_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_Issue.Click
Dim con111 As New OleDbConnection
con111.ConnectionString = "Provider=microsoft.jet.oledb.4.0;data source=..\library.mdb"
Dim theQuery As String = "SELECT * FROM NormalTransaction WHERE [email protected]"
Dim cmd11 As OleDbCommand = New OleDbCommand(theQuery, con111)
cmd11.Parameters.AddWithValue("@barcode", txt_BarcodeNo.Text)
Using reader11 As OleDbDataReader = cmd11.ExecuteReader()
If reader11.HasRows Then
' Book Already Exists
MsgBox("Book Already Exists!", MsgBoxStyle.Exclamation, "SIMS Library")
Else
' User does not exist, add them
Dim cmd12 As New OleDb.OleDbCommand
If Not con111.State = ConnectionState.Open Then
con111.Open()
End If
cmd12.Connection = con111
cmd12.CommandText = "INSERT INTO NormalTransaction([RegNo],[Name],[MemType],[Department],[BarCodeNo],[Title],[Author],[AccNo],[BookType],[CallNo],[Subject],[IssueDate],[DueDate]) VALUES (@a1,@a2,@a3,@a4,@a5,@a6,@a7,@a8,@a9,@a10,@a11,@a12,@a13)"
cmd12.Parameters.AddWithValue("@a1", txt_RegisterNo.Text)
cmd12.Parameters.AddWithValue("@a2", txt_Name.Text)
cmd12.Parameters.AddWithValue("@a3", txt_MemberType.Text)
cmd12.Parameters.AddWithValue("@a4", txt_Department.Text)
cmd12.Parameters.AddWithValue("@a5", txt_BarcodeNo.Text)
cmd12.Parameters.AddWithValue("@a6", txt_Title.Text)
cmd12.Parameters.AddWithValue("@a7", txt_Author.Text)
cmd12.Parameters.AddWithValue("@a8", txt_Accession.Text)
cmd12.Parameters.AddWithValue("@a9", txt_BookType.Text)
cmd12.Parameters.AddWithValue("@a10", txt_CallNo.Text)
cmd12.Parameters.AddWithValue("@a11", txt_Subject.Text)
cmd12.Parameters.AddWithValue("@a12", DateTimePicker1.Value)
cmd12.Parameters.AddWithValue("@a13", DateTimePicker2.Value)
cmd12.ExecuteNonQuery()
con111.Close()
MsgBox("Records Successfully Added!", MsgBoxStyle.Information, "Add New Customer!")
End If
End Using
con111.Close()
End Sub'
現在,新的錯誤出現數據類型不匹配的條件表達式。只有BarCodeNo是Number,datetimepicker1, datetimepicker2是所有文本的剩餘日期 –
如果barcodeno是一個數字,則將其作爲數字參數傳遞給cmd11.Parameters.AddWithValue(「@ barcode」,Convert.ToInt32(txt_BarcodeNo.Text)) – Esko
仍然同樣的錯誤:( –