C# DataGridView Binding из условия в SQL (Access) не отображать данные - PullRequest
0 голосов
/ 07 мая 2020

Я не знаю, что происходит. Почему данные не отображаются в datagridview, когда я использую условие where в SQL. Нет никаких ошибок. Это только заголовок строки. Но когда я попытался удалить условие, это показать данные. Что не так с моим кодом?

string model = txtmodel.text;

// Try to delete condition
//string sql = "SELECT id, model, comercial_model AS [Comercial model], ean AS [Package No], type AS Unit FROM models";

string sql = "SELECT id, model, comercial_model AS [Comercial model], ean AS [Package No], type AS Unit FROM models WHERE model Like '@model*'";

conn.Open();
OleDbDataAdapter dataadapter = new OleDbDataAdapter();
OleDbCommand dtcmd = new OleDbCommand(sql, conn);
dataadapter.SelectCommand = dtcmd;
DataSet ds = new DataSet();

//Add Parameters and set values.  
dtcmd.Parameters.Add("@model", OleDbType.VarChar, 255).Value = model;

dataadapter.Fill(ds, "tbmodel");

dataGridView1.DataSource = ds;
dataGridView1.DataMember = "tbmodel";

dataGridView1.Columns[0].Visible = false;
dataGridView1.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells);
conn.Close();

1 Ответ

0 голосов
/ 12 мая 2020

Я уже знаю, что не так с моим кодом. Это должно быть

string sql = "SELECT id, model, comercial_model AS [Comercial model], ean AS [Package No], type AS Unit FROM models WHERE model Like @model";

и

dtcmd.Parameters.Add("@model", OleDbType.VarChar, 255).Value = model+"%";

, но я до сих пор не понимаю, почему код должен быть таким. Кто мне подскажет?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...