private void button1_Click(object sender, EventArgs e)
{
DBConnect();
oledbCon.Open();
OleDbDataAdapter da = new OleDbDataAdapter("select textBox1 as 学号 from 学生基本信息 where textBox1 = '" + textBox1.Text + "'", oledbCon);
DataSet ds = new DataSet();
da.Fill(ds);
dataGridView1.DataSource = ds.Tables[0];
oledbCon.Close();
}
老师,这个查询代码哪里错了呀,搜索功能要把表里的所有数据名称都输进去吗
其实我一般分开写,方便调试。这样可以打印 sql内容,以条纯SQL语句,一眼就可以看出问题。
String sql = "select * from 学生基本信息 where 学号 = '" + textBox1.Text + "'";
OleDbDataAdapter da = new OleDbDataAdapter(sql, oledbCon);
或者为了减少内存碎片,我一般写:
String sql = String.Format("select * from 学生基本信息 where 学号 = '{0}'", textBox1.Text);
OleDbDataAdapter da = new OleDbDataAdapter(sql, oledbCon);
textBox1.Text + "'" 里两双引号中间少了单引号
textBox1.Text + "'‘ "
哦,还有问题。SELECT后写的时学号,造成语法错误,这里放星号号了,选择所有字段。还有WHEE后应该时学号字段,因为数据库没有字段名textBox1。 还有最后双引号里只要以各单引号。下面这样应该就可以了。
OleDbDataAdapter da = new OleDbDataAdapter("select * from 学生基本信息 where 学号 = '" + textBox1.Text + "'", oledbCon);