用getlasterror()检察看看。
另外open之前最好检察一下:
if(myset.isopen())
   myset.close();
myset.open();

解决方案 »

  1.   

    感谢你的解答。不过现在是根本就进不了异常处理部分,一运行Open命令就弹出非法操作窗口了,所以没法用getlasterror()检查。我可以保证数据库还没被打开过,是第一次打开。
      

  2.   

    都连的是同一台sql server吧?那么重建第二台上的dsn,并且检察crecordset中的GetDefaultConnect()看看uid,pwd等是否与它一致。
    也可以看看odbc管理器-〉关于中odbc的版本,是否就是这的问题?
      

  3.   

    对,myset是第一次使用。
    在ODBC数据源管理器里点击配置,正常使用的机器上显示的是中文版本,而不能使用的机器上显示的是英文版。跟这有关系吗?
      

  4.   

    你说的"都是在单机上进行的操作"点解?
    如果是两台sql server,多半是数据库不一致的问题。
    我遇到过类似情况:一台sql server是靠另一台的备份恢复过去的,结果两者的登录,用户等都不同,最后靠只好自己检察和重新建立一遍。
    如果只有一台sql server,就不知道怎么回事了,关注。