运行SQL查询,但不产生任何结果
本文关键字:任何 结果 SQL 查询 运行 | 更新日期: 2023-09-27 18:13:03
我有一个下面的查询显示学生数据在dataGridView,但它似乎没有显示任何记录。我的代码:
public void setSQL()
{
string ConnStr = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:''Users''jasper''Desktop''AutoReg''AutoReg.accdb;";
OleDbConnection MyConn = new OleDbConnection(ConnStr);
MyConn.Open();
DataSet ds = new DataSet();
//query to ask
string query = "SELECT * FROM Student";
using (OleDbCommand command = new OleDbCommand(query, MyConn))
{
using (OleDbDataAdapter adapter = new OleDbDataAdapter(command))
{
adapter.Fill(ds);
dataGridView1.DataSource = ds;
MyConn.Close();
}
}
}
edit:看到评论后,我注意到我的错误。我假设是一个web应用程序。
您应该使用DataTable
作为数据源,而不是DataSet
。将数据源属性设置为DataSet的tables集合中的第一个表。
实际上,您可以使用DataSet,但它不是那么简单。但是,它允许用户更改她正在查看的表。
您可以检查几件事。
-
您确定该表中有条目吗?
-
尝试注释掉关于OleDbDataAdapter的部分,使用DataReader代替,这样您就可以逐步执行并查看是否有返回的行。
-
如果你在你的数据阅读器中得到行,那么它可能与你的数据网格设置有关。是否使用自动生成列?如果不是,列设置正确吗?
而不是:
dataGridView1.DataSource = ds;
试试这个:
dataGridView1.DataSource = ds.Tables[0];