错误:查询值和目标字段的数量不同

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 个字段中,我相信,只需计算它们,您就会明白我的意思。

【讨论】:

以上是关于错误:查询值和目标字段的数量不同的主要内容,如果未能解决你的问题,请参考以下文章

C#中查询值和目标字段的数量不一样错误?

查询值和目标字段的数量不相同

Laravel统计Mysql 单个字段不同值的数量

Laravel统计Mysql 单个字段不同值的数量

mysql如何查询一个表里,同一字段不同条件数据数量?

Mysql 如何在某字段根据(不同产品),进行统计查询?