在Visual Basic的Windows窗體中,我有一個DateTime Picker供用戶從中選擇時間和日期。從導致錯誤的DateTime Picker插入值
我通過參數化查詢將此值插入Access數據庫。但是,當我運行表單時,我總是收到錯誤Data type mismatch in criteria expression
。
如果我從插入命令刪除參數,該字段輸入正確。但是當我把它放回去時,它不起作用。
Private Sub AcceptBtn_Click(sender As System.Object, e As System.EventArgs) Handles AcceptBtn.Click
Dim InsertTournamentQuery As String = "INSERT INTO Tournaments (SanctioningID, TournamentName, TournamentVenue, Game, Format, OrganizerID, PairingSystem, TournamentDateTime) VALUES (?,?,?,?,?,?,?,?)"
Dim LastRowSelect As String = "SELECT @@IDENTITY"
Dim LastRowID As Integer
Dim DBconnection As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|Master.mdb"
Using connection As New OleDb.OleDbConnection(DBconnection)
Using cmd As New OleDb.OleDbCommand(InsertTournamentQuery, connection)
cmd.Parameters.AddWithValue("?", SanctionID)
cmd.Parameters.AddWithValue("?", Trim(TrnNameTxt.Text))
cmd.Parameters.AddWithValue("?", Int(TrnVenueLst.SelectedValue))
cmd.Parameters.AddWithValue("?", GameLst.SelectedValue)
cmd.Parameters.AddWithValue("?", Convert.ToInt32(FormatLst.SelectedValue))
cmd.Parameters.AddWithValue("?", OrganizerID)
cmd.Parameters.AddWithValue("?", Convert.ToInt32(PairingLst.SelectedValue))
cmd.Parameters.AddWithValue("?", TrnDate.Value)
connection.Open()
cmd.ExecuteNonQuery()
cmd.CommandText = LastRowSelect
LastRowID = cmd.ExecuteScalar()
connection.Close()
End Using
End Sub
什麼TrnDate變量的數據類型? – 2012-02-27 15:17:40
TrnDate是來自日期選取器的表單控件。它的值是用戶選擇的結果。 – 2012-02-27 15:28:21