zoukankan      html  css  js  c++  java
  • 标点符号导致的错误

    今天记录了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?);

     

  • 相关阅读:
    STL的相关知识
    有关欧拉通路/回路的一些资料整理
    差分约束
    BZOJ 2100: [Usaco2010 Dec]Apple Delivery
    BZOJ 2017: [Usaco2009 Nov]硬币游戏(A Coin Game)
    vijos 1282&1283&1284&1285 佳佳的魔法照片/魔法药水/魔杖/魔法阵
    BZOJ 1660: [Usaco2006 Nov]Bad Hair Day
    BZOJ 1602: [Usaco2008 Oct]牧场行走
    BZOJ 1647: [Usaco2007 Open]Fliptile 翻格子游戏
    BZOJ 1646: [Usaco2007 Open]Catch That Cow
  • 原文地址:https://www.cnblogs.com/maweifeng/p/86321.html
Copyright © 2011-2022 走看看