if(TRUE==SQLConfigDataSource(NULL,ODBC_ADD_DSN,"SQL Server","DSN=odbctest\0""DBQ=D:\\SQL 2000\\data\\MSSQL\\Data\\my_Data.MDF\0""UID=sa\0""PWD=\0""SERVER=IBM-D526FB01BDC\0""DATABASE=toyousoft\0\0")) 

AfxMessageBox("注册成功"); 

else 

if(ODBC_ERROR_INVALID_HWND) 

AfxMessageBox("ODBC_ERROR_INVALID_HWND"); 

else if(ODBC_ERROR_GENERAL_ERR) 

AfxMessageBox("ODBC_ERROR_GENERAL_ERR"); 

else if(ODBC_ERROR_INVALID_REQUEST_TYPE) 
{AfxMessageBox("ODBC_ERROR_INVALID_REQUEST_TYPE"); 

else if(ODBC_ERROR_INVALID_NAME) 

AfxMessageBox("ODBC_ERROR_INVALID_NAME"); 

else if(ODBC_ERROR_REQUEST_FAILED) 

AfxMessageBox("ODBC_ERROR_REQUEST_FAILED"); 

else 
{ } 

调式程序 ,出错 ,返回ODBC_ERROR_INVALID_HWND,请教高人指教,ODBC_ERROR_INVALID_HWND在网上查询都是NULL啊,我的数据库是sql server 2000,用的vc ODBC  连接,因为我的程序要用CDatabase (说明:不使用ADO等其他方式,只用ODBC连接),请问大家,错误出在哪里?谢谢指教!

解决方案 »

  1.   

    你应该这样, 
    if (SQLConfigDataSource....) 


    else 

    SQLInstallerError(&errcode) 
    if (errcode==ODBC_ERROR_INVALID_HWND) 


    else if ..... 

    对于SQLConfigDataSource,返回只有成功与失败,失败后,用SQLInstallerError取得错误码,然后判断具体原因!
      

  2.   

    老是未发现数据源名称并未指定默认驱动程序  不知道怎么回事  唉 
     SQLConfigDataSource(NULL,ODBC_ADD_DSN,"SQL Server","DSN=odbctest\0""UID=sa\0""PWD=\0""SERVER=IBM-D526FB01BDC\0""DATABASE=toyousoft\0\0"); 
    我真不知道哪里写错了还是其他原因。 我手动添加数据源连接就好用