0

製品コード、数量、会社、価格の属性を持つテーブルをmysqlで作成しました。そして、vb 2012 で datagridview を作成しました。フォームから入力を取得し、結果を datagridview に表示したいと考えています。また、mysql で作成したテーブルから価格を表示したいと考えています。しかし、私はそうすることができません。

これが私のプログラムのコードです。助けてください

    Dim row As Integer = DataGridView1.Rows.Add()
    Dim connection As String
    Dim command As String
    Dim command2 As String
    command2 = "select Company from Stock WHERE Product_Code =('" + TextBox1.Text + "');"
    connection = "Data Source=localhost; Database=Entry; User Id=root; Password=;"
    command = "select Price from Stock WHERE Product_Code =('" + TextBox1.Text + "');"
    Dim con As New MySqlConnection(connection)
    Dim cmd As New MySqlCommand(command)
    Dim data As DataTable
    Dim adp As New MySqlDataAdapter
    Dim data2 As DataTable
    Dim adp2 As New MySqlDataAdapter
    DataGridView1.Rows.Item(row).Cells(0).Value = TextBox1.Text
    DataGridView1.Rows.Item(row).Cells(2).Value = TextBox2.Text
    Try

        adp = New MySqlDataAdapter(command, connection)
        adp2 = New MySqlDataAdapter(command2, connection)
        data = New DataTable
        data2 = New DataTable
        adp.Fill(data)
        adp2.Fill(data2)
        DataGridView1.Rows.Item(row).Cells(1).Value = data
        DataGridView1.Rows.Item(row).Cells(3).Value = data
    Catch ex As Exception
        MessageBox.Show("Error")
    End Try      
4

1 に答える 1

0

SO (スタック オーバーフロー) 全体でこれを行う方法の例を見つけることができるはずです。しかし、助けの手を差し伸べるために、次のことを調査する必要があります。

まず、インジェクションと読みやすさを防ぐために SQL をパラメーター化する必要があります

次に、データグリッドに行を追加せず、IList を実装するものにデータソースを設定します: http://msdn.microsoft.com/en-us/library/system.windows.forms.datagridview.datasource.aspx 次に追加します必要に応じてアイテムをリストに追加します。テーブルの行を表示したいだけの場合は、データソースをデータテーブル (DATA) に設定できます。

于 2013-10-02T18:33:00.403 に答える