代码见我上一次的帖子。
http://community.csdn.net/Expert/topic/3754/3754637.xml?temp=.6948969前两天,用ado操作db2数据库时,碰到一个问题。
db2中有的表名是带双引号的,但是ado的OpenSchema(adSchemaTables)方法取出来之后,却把双引号给丢掉了。这样就造成了在下边的获取字段语句中找不到该表。
strSQL = "SELECT * FROM " & strTabel
g_DBrs.open strSQL, g_DBcon       比如表名是"test",正确的应该是“select * from "test"”,但是ado取出来后就变成“select * from test”了。这种情况要如何处理呢??
还有在其他数据库,比如oracle和sybase中有没有这种现象??

解决方案 »

  1.   

    strSQL = "SELECT * FROM """ & strTabel & """"
      

  2.   

    to myhgyp(也许是这样的,信不信由你) :碰到表名是没有双引号的,比如test,正确的应该是“select * from test”,ado取出来后也是“select * from test”,经过你的代码一处理,就变成“select * from "test"”了,这样会不会出错??
      

  3.   

    比如表名是"test",正确的应该是“select * from "test"”,但是ado取出来后就变成“select * from test”了。
    =====================
    用括号括住表名:"select * from ["test"];"
      

  4.   

    To   lsftest() :能不能解释一下为什么这样做呢??
    这样是不是在db2\oracle\sybase\ms sql server\access上都没有问题了??
      

  5.   

    To   lsftest() :能不能解释一下为什么这样做呢??
    这样是不是在db2\oracle\sybase\ms sql server\access上都没有问题了??
    ==================================
    db2\oracle没用过,不知道
    sybase\ms sql server\access中应该没问题