Чтение столбцов с помощью предложения WHERE в MS Access, передавая текстовое значение в поле со списком - PullRequest
0 голосов
/ 27 июня 2011

Я работаю над приложением Windows, написанным на C #, и использую MS Access 2003 в качестве базы данных. Я сталкиваюсь со странной проблемой, когда пишу запрос

SELECT * FROM mytable WHERE columnname='"+combobox.text+"' 

и выполнить с использованием oledbadapter, визуализатор набора данных не распознает предложение where и возвращает пустую таблицу. В то время как

SELECT * FROM mytable WHERE columnname='"+integervalue+"

вернет отфильтрованный столбец.

Вот мой фрагмент кода:

private void viewinfo_Click(object sender, EventArgs e){
    dataGridView1.Visible = true;
    OleDbCommand cmd;
    string schoolname = cmbschoolname.Text;
    OleDbDataAdapter da = new OleDbDataAdapter("select  * from tblmedic where medicalschool ='"+combobox.text+"'", conn);
    DataTable dt = new DataTable();
    da.Fill(dt);
    dataGridView1.DataSource = dt;
}

output: возвращает пустую таблицу, когда я передаю текстовое значение в предложении where.

1 Ответ

1 голос
/ 27 июня 2011

Я решил эту проблему. это был случай пустых мест в столбцах моей таблицы доступа 2003. поэтому использовал trim (), чтобы очистить пробелы при выборе столбцов в предложении where.

private void viewinfo_Click(object sender, EventArgs e){
    dataGridView1.Visible = true;
    OleDbCommand cmd;
    string schoolname = cmbschoolname.Text;
    OleDbDataAdapter da = new OleDbDataAdapter("select  * from tblmedic where medicalschool ='"+combobox.text.ToString().Trim()+"'", conn);
    DataTable dt = new DataTable();
    da.Fill(dt);
    dataGridView1.DataSource = dt;
}

Иногда глупые ошибки заставляют тебя жаждать, как и все: -)

:-)

...