基本上我想要的是这样的数据网格视图的填充查询
选择 DealerName、OrderId、DealerId、OrderDate、ItemType、价格、数量、总计、TotalBill FROM dbo.DetailedRecord where DealerName=ComboboxName.SelectedValue
我看不到如何向它添加参数,我不想使用工具条填充
谢谢
基本上我想要的是这样的数据网格视图的填充查询
选择 DealerName、OrderId、DealerId、OrderDate、ItemType、价格、数量、总计、TotalBill FROM dbo.DetailedRecord where DealerName=ComboboxName.SelectedValue
我看不到如何向它添加参数,我不想使用工具条填充
谢谢
为什么不使用存储过程,然后给它一个数据集来填充你的信息呢?
尝试将表格绑定到您的DataGridView
.
请参阅下面的简单示例:
MySqlConnection conn = new MySqlConnection(connectionstring);
conn.Open();
string stmt = "SELECT DealerName, OrderId, DealerId, OrderDate, ItemType, Price, Quantity,
Total, TotalBill FROM dbo.DetailedRecord where DealerName=ComboboxName.SelectedValue";
DataSet ds = new DataSet();
MySqlDataAdapter da = new MySqlDataAdapter(stmt, conn);
da.Fill(ds, "dbo.DetailedRecord");
dataGridView1.DataSource = ds.Tables["dbo.DetailedRecord"];
conn.Close();
假设您想通过一些 combobox.selectedvalue 过滤数据,并且您有一个提交按钮,在该提交按钮代码中,您初始化了一个 yourdatasource.table 类型的新数据表,例如
YourDataSource.YourTableDataTable anything= new YourDataSource.YourTableDataTable();
yourdataadapter.fill(anything,parametervalue.tostring());
DataGridView1.datasource= anything;
你都准备好了。
只需将您的参数作为字符串传递到您的查询中。使用简单的字符串连接 (++)。仔细观察您如何创建该搜索字符串。确保首先初始化 DataTable 否则它会弹出关于 null 参数的错误:例如(适用于 SQL Server、Mysql 和 Postgres)
String connectionString = "server = ...; db= ...; passwd = ....;";
DataTable dt_reservation_product_mix = new DataTable();
MySqlDataAdapter ad3;
ad3 = new MySqlDataAdapter("select `product`.`name`, `product`.`notes` from `product` where `product`.`code` = " + Convert.ToString(ComboboxName.SelectedValue) + "; ", connectionString);
ad3.Fill(dt_reservation_product_mix);
ad3.Dispose();