0

我有一个函数,它获取 3 个参数、一个文本框和 2 个组合框,并在代码中将它们用作 OleDbDataReader 的临时值,但我有一个问题并需要运行时

错误:没有为一个或多个必需参数提供值。

 Sub load_txt_code(ByVal nkala As ComboBox, ByVal ckala As ComboBox, ByVal ghyemat As TextBox)

    dr.Close()
    cmd.Connection = con
    cmd.CommandText = "select name_jens from ajnas where id = " & nkala.Text & ""
    dr = cmd.ExecuteReader()

    While dr.Read
        nkala.Text = dr.Item(0)
    End While

    'por kardane combobox e gheymat
    dr.Close()
    cmd.CommandText = "select gheymate_forush from ajnas where id = " & ckala.Text & ""
    dr = cmd.ExecuteReader()

    While dr.Read
        If Not IsDBNull(dr.Item(0)) Then
            ghyemat.Text = dr.Item(0)
        Else
            ghyemat.Text = Nothing
        End If
    End While

End Sub
4

1 回答 1

0

在 gheymat.text = dr.item(0) 中添加一个断点,看看它是否会去那里。如果字段 0 有值而字段 1 没有值,您的代码可能会覆盖您的文本。它将读取字段 (1),然后覆盖您之前使用 dr.item(0) 设置的文本。所以你应该在 gheymat.text = dr.item(0) 后面添加一个“结束时” - 如果你的代码曾经在那里。如果这还不足以解决它,请添加一个早期断点并按 F10 处理所有这些,然后您可以首先查看您的查询是否生成任何数据。

于 2015-07-18T13:40:03.737 回答