0

コンボボックスからデータを読み取りたい。私はMySQLでこれを行う方法を知っており、次のようになります。

Private Sub cmbDescrip_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmbDescrip.SelectedIndexChanged

 Dim getCategoryDesc As MySqlCommand = New MySqlCommand("Select * from category where catDesc=@field2;", connection)

    Dim reader1 As MySqlDataReader

    If connection.State = ConnectionState.Closed Then
        connection.Open()
    End If

    Try
        With getCategoryDesc
            .Parameters.AddWithValue("@field2", cmbDescrip.Text)
        End With

        reader1 = getCategoryDesc.ExecuteReader()

        While (reader1.Read())
            txtcatNo.Text = (reader1("catNo"))
        End While

        getCategoryDesc.Dispose()
        reader1.Close()

    Catch ex As Exception

    End Try

End sub

そして、はい、そのコードは機能しますが、今は SQL Server 2012 を使用しています。これは、あまり詳しくないデータベースです。問題は、SQL サーバーが「@field2」を読み取っていないように見えることです。MySQLではそうです、そしてそれが私の問題です。では、どうすればそれを SQL サーバーで動作させることができるでしょうか?

4

1 に答える 1

2

MYSQL コマンドを SQL コマンドに変更するだけです...以下のように...

    Dim getCategoryDesc As SqlCommand = New SqlCommand("Select * from category where catDesc=@field2;", connection)

    Dim reader1 As SqlDataReader

    If connection.State = ConnectionState.Closed Then
        connection.Open()
    End If

    Try
        With getCategoryDesc
            .Parameters.AddWithValue("@field2", cmbDescrip.Text)
        End With

        reader1 = getCategoryDesc.ExecuteReader()

        While (reader1.Read())
            txtcatNo.Text = (reader1("catNo"))
        End While

        getCategoryDesc.Dispose()
        reader1.Close()

    Catch ex As Exception

    End Try
于 2013-09-03T15:31:37.113 に答える