错误:查询值和目标字段的数量不同
Posted
技术标签:
【中文标题】错误:查询值和目标字段的数量不同【英文标题】:Error: Number of query values and destination fields are not the same 【发布时间】:2015-03-15 07:00:18 【问题描述】:Public Class RoomInfo
Dim ValTx As String
Dim ValNr As Integer
Private Sub cboRoomType_DropDown(sender As System.Object, e As System.EventArgs) Handles cboRoomType.DropDown
cboRoomType.Items.Clear()
qry = "select RoomType from tblRoomType"
cmd = New OleDb.OleDbCommand(qry, con)
dr = cmd.ExecuteReader
While dr.Read
cboRoomType.Items.Add(dr("RoomType"))
End While
End Sub
Private Sub cboRoomType_SelectValueChanged(sender As Object, e As System.EventArgs) Handles cboRoomType.SelectedValueChanged
ValTx = cboRoomType.Text
qry = "select RoomType from tblRoomType where RoomType = '" & ValTx & "'"
cmd = New OleDb.OleDbCommand(qry, con)
dr = cmd.ExecuteReader
If dr.Read Then
ValTx = dr("RoomType")
End If
End Sub
Private Sub btnNext_Click(sender As System.Object, e As System.EventArgs) Handles btnNext.Click
qry = "Insert into tblCheckIn (Guest_ID, GRoomType, GRoomNo, GRoomID, GRoomAmount, CheckInDate, Days, ChecOutDate) values ('" &
txtGuestID.Text & "','" &
ValTx &
txtRoomNo.Text & "','" &
txtRoomId.Text & "','" &
txtRAmount.Text & "','" &
dtpCheckIn.Value &
txtDays.Text & "','" &
dtpCheckOut.Value & "')"
cmd = New OleDb.OleDbCommand(qry, con)
dr = cmd.ExecuteReader()
MsgBox("Successfully added in the database")
End Sub
我不知道这里有什么问题。我猜是组合框,组合框中的选定值应该添加到数据库中。该组合框的正确值是多少?有人可以帮我吗?
【问题讨论】:
为您上一个问题提供this answer 的人向您展示了(1) 如何在您的代码中使用Parameter
语句,以及(2) 当您运行 INSERT(或 UPDATE 或 DELETE)语句时,您确实不使用.ExecuteReader()
。你真的应该一些努力从这里的好人告诉你的东西中学习。
ValTx &
您需要在此处添加 逗号:ValTx & ", " &
【参考方案1】:
它告诉您,您指定的要插入的列数 (8) 与要插入的值数 (6) 不同。这是因为您已将 2 个值连接到 2 个字段中,我相信,只需计算它们,您就会明白我的意思。
【讨论】:
以上是关于错误:查询值和目标字段的数量不同的主要内容,如果未能解决你的问题,请参考以下文章