现在的位置: 首页 > 综合 > 正文

标点符号导致的错误

2011年01月15日 ⁄ 综合 ⁄ 共 975字 ⁄ 字号 评论关闭

今天记录了2篇最近出错的问题,本来是不该犯此类错误,但结果就是犯了。

 

ADO连接字符串中数据文件(如ExcelMDB)文件名必须以“;”结尾,例如:

 

    strCnn = "Provider=Microsoft.Jet.OLEDB.4.0;" & _

            "Data Source=" & App.Path & "\test.xls;" & _

            "Extended Properties=Excel 8.0"

    cnn.Open strCnn

 

开始测试一般都这样写,后边就需要把红色部分剥离出来,写为下面的样子:

 

    strDBName = App.Path & "\test.xls;"

    strCnn = "Provider=Microsoft.Jet.OLEDB.4.0;" & _

            "Data Source=" & strDBName  _

            "Extended Properties=Excel 8.0"

    cnn.Open strCnn

 

现在还没有问题,但问题已经隐伏。

 

因为需要测试数据库是否存在,所以加一句:

 

    If Dir(strDBName) Then Exit Sub

 

代码就成了这样:

 

    strDBName = App.Path & "\test.xls;"

 

    If Dir(strDBName) Then Exit Sub

 

    strCnn = "Provider=Microsoft.Jet.OLEDB.4.0;" & _

            "Data Source=" & strDBName  _

            "Extended Properties=Excel 8.0"

    cnn.Open strCnn

 

错误于是产生,strDBName = App.Path & "\test.xls;",红色的分号导致Dir函数每次都返回文件不存在。

 

不知道别人,自己曾犯过几次这样的错误,每次调试半天,然后恍然大悟,回头就忘。避免的办法应该是:

 

  1. 和配置相关的内容最好独立出来,如文件路径、数据库连接字符串;
  2. 数据库、SQL有关的操作不是很复杂,但容易出错,所以要尽量降低和程序的耦合度,使用实体类,使用NHibernate这样的工具;
  3. 小错误,问题应该建立自己的档案库,必要时可以随时查询(用什么工具?BlogExcel?);

 

抱歉!评论已关闭.