mm寻高手急救,为什么SQLDATASOURCES的调用老是不能成功返回?
SQLHENV henv;
SQLRETURN sr;
SQLSMALLINT SNLen=0,DLen=0,i=OBJECT_LEN+1;
HTREEITEM htisys,htiuser;
SQLCHAR ServerName[OBJECT_LEN];
SQLCHAR Description[OBJECT_LEN];
strcpy((char *)ServerName,"");
strcpy((char *)Description,"");
htisys=m_dstree.InsertItem("系统数据源",TVI_ROOT);
htiuser=m_dstree.InsertItem("用户数据源",TVI_ROOT);
SQLRETURN hr = SQLAllocHandle (SQL_HANDLE_ENV,SQL_NULL_HANDLE,&henv);
sr=SQLDataSources(henv,SQL_FETCH_FIRST_USER,
ServerName,sizeof(ServerName),&SNLen,
Description,sizeof(Description),&DLen);
if(sr==SQL_ERROR||sr==SQL_SUCCESS_WITH_INFO)
{
MessageBox("读系统数据源出错!","出错信息",MB_OK|MB_ICONERROR);
}
为什么SQLAllocHandle能成功,但SQLDataSources不能成功返回?
另外,我还有别的方法从注册表中读出所有的ODBC数据源码?(因为我需要把所有的数据源列出,供用户选择其中之一进行连接)。