在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