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 FPGA-SRIO初始化失败
  • ¥15 MapReduce实现倒排索引失败
  • ¥15 ZABBIX6.0L连接数据库报错,如何解决?(操作系统-centos)
  • ¥15 找一位技术过硬的游戏pj程序员
  • ¥15 matlab生成电测深三层曲线模型代码
  • ¥50 随机森林与房贷信用风险模型
  • ¥50 buildozer打包kivy app失败
  • ¥30 在vs2022里运行python代码
  • ¥15 不同尺寸货物如何寻找合适的包装箱型谱
  • ¥15 求解 yolo算法问题