zoukankan      html  css  js  c++  java
  • OleDbDataReader 异常处理

    一开始, OleDbDataReader dbReader=myCmd.ExecuteReader(); 总是捕捉到:
    "未处理的 system.data.oledb.oledbexception 类型的异常出现在 system.data.dll 中"的错误信息,
    有3种可能引起错误的地方:
    1)sql语句错误。应把sql 语句copy到Access查询 中,检查语法,运行测试。
    2)数据库连接OleDbConnection可能存在错误。
    3) OleDbDataReader未打开,或者OleDbConnection处在关闭状态。
    多次检查后确认为sql语句错误。
    修改sql后,再次捕捉到:“阅读器关闭时Read的尝试无效”

    错误原因:
    在方法中关闭了连接,datareader特点是必须是基于打开连接的,一旦connection close()就什么也取不到了,
    屏蔽
     //   finally
       //   {
       //    myConn.Close();
       //   }
    后总算正常了。
     
    查到两种说法:
    1)最好是将conn做为参数传入, 再使用ExecuteReader的地方先conn.Open(),使用后conn.Close().

    2)在项目中最好不要将datareader这些基于连接的对象做为参数来进行传递.如果非要传参数的话,可以将datareader转化为datatable用来读取数据.

  • 相关阅读:
    常用shell
    JavaScript基础
    CSS动画-页面特效
    CSS3常用操作
    CSS3的盒子模型
    CSS定位
    JQuery中的DOM操作
    [单词用法总结]-as
    JQuery选择器
    css选择器
  • 原文地址:https://www.cnblogs.com/flashicp/p/732169.html
Copyright © 2011-2022 走看看