2013-03-21 3 views
0

В основном то, что я хочу, это заливка запрос в виде сетки данных, как этотDataGridView Выберите команду с параметрами

ВЫБОР DealerName, OrderId, DealerId, OrderDate, ItemType, цена, количество, Total, TotalBill ИЗ DBO. DetailedRecord где DealerName = ComboboxName.SelectedValue

Я не могу видеть, как добавить параметры к нему, и я не хочу, чтобы использовать заливку ToolStrip

Благодарности

+0

вы хотите, чтобы заполнить ваш DataGridView в результате этого запроса? –

ответ

0

Допустим, вы хотите, чтобы отфильтровать данные по некоторым combobox.selectedvalue и у вас есть кнопки отправки, в этом представлять код кнопки, вы инициализировать новый DataTable из тип yourdatasource.table, такой как

YourDataSource.YourTableDataTable anything= new YourDataSource.YourTableDataTable(); 

    yourdataadapter.fill(anything,parametervalue.tostring()); 
    DataGridView1.datasource= anything; 

И вы все настроены.

1

Почему бы вам не использовать хранимую процедуру, а затем предоставить ей набор данных, чтобы заполнить его вашей информацией?

Populate DataGridView from a Stored Procedure

+0

Спасибо, что нашел обходное решение –

0

Попробуйте привязки таблицы к вашему 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(); 
0

Просто передайте свои параметры в виде строки в свой запрос. Используйте простую конкатенацию строк (++). Посмотрите, как вы тщательно создаете эту строку поиска. Убедитесь, что вы инициализировать DataTable первой или иначе это будет весной ошибка о нулевых параметров: например (работает на 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(); 
Смежные вопросы