使用MS Access上的WHERE子句读取列,传递组合框文本值
本文关键字:组合 文本 Access MS 上的 WHERE 读取 子句 使用 | 更新日期: 2023-09-27 18:00:22
我正在开发一个用C#编写的windows应用程序,并使用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子句中传递文本值时,返回空表。
我已经解决了这个问题。这是我的access2003表列中出现空格的情况。所以在where子句中选择列时使用了trim()来清除空格。
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;
}
有时愚蠢的错误会让你渴望:-)
:-)