C# 从c/ASP网站读取使用MS access创建的本地数据库

C# 从c/ASP网站读取使用MS access创建的本地数据库,c#,asp.net,ms-access,C#,Asp.net,Ms Access,我正在尝试从我的c代码连接并查询本地存储的数据库,以下是我尝试的内容: protected void Page_Load(object sender, EventArgs e) { OleDbConnection con = new OleDbConnection("Provider = Microsoft.Jet.OLEDB.4.0; Data Source = C:\\users\\alan\\desktop\\TestDatabase.mdb"); con.Open();

我正在尝试从我的c代码连接并查询本地存储的数据库,以下是我尝试的内容:

protected void Page_Load(object sender, EventArgs e)
{
    OleDbConnection con = new OleDbConnection("Provider = Microsoft.Jet.OLEDB.4.0; Data Source = C:\\users\\alan\\desktop\\TestDatabase.mdb");
    con.Open(); 
    OleDbCommand com = new OleDbCommand("SELECT MovieName FROM Movies;", con);
    OleDbDataReader dr = com.ExecuteReader();
    var strValue = dr.GetString(0);
}
问题是,当我获取太多var strValue=dr.GetString0时,它告诉我行/列不存在任何数据。 数据库确实存在并且正在打开,还有一个名为Movies的表,我不明白为什么查询不起作用。有什么建议吗

 while (reader.Read())
        {
            var strValue =dr.GetString(0);
        }
编辑:


仍然收到一个错误,但dr.Read返回true,这意味着从查询中返回了一些信息,对吗???@Alan从查询中选择一列,然后tryStill说该行/列不存在任何数据。查询的运行方式一定有问题。@Alan Edited现在试试看,谢谢,这是可行的,即使没有“使用”块,我也看不出问题出在哪里,但至少现在可以了:P
using (OleDbConnection connection = new OleDbConnection("Provider = Microsoft.Jet.OLEDB.4.0; Data Source = C:\\users\\alan\\desktop\\TestDatabase.mdb"))
    {
        OleDbCommand command = new OleDbCommand("SELECT MovieName FROM Movies", connection);
        connection.Open();
        OleDbDataReader dr = com.ExecuteReader();

        while (dr.Read())
        {
        var strValue = dr.GetString(0);
           //or  var strValue = reader["MovieName"].ToString();
        }
        reader.Close();
    }