qq_24772771 2014-12-23 15:34 采纳率: 0%
浏览 2586

关于网页中 OleDbDataReader对象读取ACCESS中数据

```protected void Page_Load(object sender, EventArgs e)
{
DB.setDBPath(Page.Server.MapPath("/App_Data/TestModel.accdb")); //连接ACCESS表
OleDbConnection myconn = DB.createConnection();
myconn.Open();
string select = "select * from UserInfo";
OleDbCommand cmd = new OleDbCommand(select, myconn);
OleDbDataReader a = cmd.ExecuteReader();
string b=a[0].ToString();
a.Close();

    }

ACCESS数据库中是有数据的,然后用OleDbDataReader对象就是读取不出来,如string b=a[0].ToString(),调试时报错:
“System.InvalidOperationException”类型的异常在 System.Data.dll 中发生,但未在用户代码中进行处理
其他信息: 不存在此行/列的数据。
但是对OleDbDataReader对象调用Read()方法,返回True,表明不是空表。


于是我换了种方式,我用 DataSet访问则可以显示在GV控件上,代码如下:


        DB.setDBPath(Page.Server.MapPath("/App_Data/TestModel.accdb"));
        OleDbConnection myconn = DB.createConnection();
        myconn.Open();
        string selectStr = "select * from UserInfo";
        OleDbDataAdapter oda = new OleDbDataAdapter(selectStr, myconn);
        DataSet ds = new DataSet();
        oda.Fill(ds);
        GV.DataSource = ds;
        GV.DataBind();
        myconn.Close();

求大神们指点下为什么OleDbDataReader会出问题,谢谢!!!!
初学者。。。



  • 写回答

2条回答 默认 最新

  • devmiao 2014-12-23 15:46
    关注

    OleDbDataReader a = cmd.ExecuteReader();
    后面加上
    a.Read();

    评论

报告相同问题?

悬赏问题

  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog