运行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();
        }
    }
}

运行SQL查询,但不产生任何结果

edit:看到评论后,我注意到我的错误。我假设是一个web应用程序。

您应该使用DataTable作为数据源,而不是DataSet。将数据源属性设置为DataSet的tables集合中的第一个表。

实际上,您可以使用DataSet,但它不是那么简单。但是,它允许用户更改她正在查看的表。

您可以检查几件事。

  1. 您确定该表中有条目吗?

  2. 尝试注释掉关于OleDbDataAdapter的部分,使用DataReader代替,这样您就可以逐步执行并查看是否有返回的行。

  3. 如果你在你的数据阅读器中得到行,那么它可能与你的数据网格设置有关。是否使用自动生成列?如果不是,列设置正确吗?

而不是:

dataGridView1.DataSource = ds;

试试这个:

dataGridView1.DataSource = ds.Tables[0];