0

3つの引数、テキストボックス、および2つのコンボボックスを取得し、コードでそれらをOleDbDataReaderの一時として使用する関数がありますが、問題があり、ランタイムがかかります

エラー: 1 つ以上の必須パラメーターに値が指定されていません。

 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) の後ろに「end while」を追加する必要があります-コードがそこにある場合。これだけでは不十分な場合は、初期のブレークポイントを追加して F10 キーを押してすべてを検索すると、最初にクエリがデータを生成するかどうかを確認できます。

于 2015-07-18T13:40:03.737 に答える