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 以防止注入和可读性:http: //msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlcommand.parameters.aspx

其次,您不向数据网格添加行,而是将数据源设置为实现 IList 的内容:http: //msdn.microsoft.com/en-us/library/system.windows.forms.datagridview.datasource.aspx 然后添加如果需要,将项目添加到您的列表中。如果只想显示表中的行,可以将数据源设置为数据表 (DATA)。

于 2013-10-02T18:33:00.403 回答