|
自己用SDK连接数据库,程序每次运行到同一个地方a,数据库连接就出现错误
下面为 连接数据库时的代码,除了a地方,其他任何时候连接数据库都没有出现连不上的问题,求解、、、、急ing
ret = SQLAllocHandle(SQL_HANDLE_ENV,NULL,&hEnv);
if (SQL_SUCCESS == ret || SQL_SUCCESS_WITH_INFO == ret)
{
ret = SQLSetEnvAttr(hEnv,SQL_ATTR_ODBC_VERSION,(SQLPOINTER)SQL_OV_ODBC3,SQL_IS_INTEGER);
if (SQL_SUCCESS == ret || SQL_SUCCESS_WITH_INFO == ret)
{
ret = SQLAllocHandle(SQL_HANDLE_DBC,hEnv,&hDbc);
if (SQL_SUCCESS == ret || SQL_SUCCESS_WITH_INFO == ret)
{
lstrcpy(ConnectString,StrConnect);
if (0 == dataBaseDir[0])
{
lstrcat(ConnectString,ProgPath);
lstrcat(ConnectString,DBName);
}
else
{
lstrcat(ConnectString,dataBaseDir);
}
ret = SQLDriverConnect(hDbc,hwnd,(SQLCHAR * )ConnectString,sizeof(ConnectString),
(SQLCHAR * )Conn,sizeof(Conn),(short *)&StrLen,SQL_DRIVER_COMPLETE);
if (SQL_SUCCESS == ret || SQL_SUCCESS_WITH_INFO == ret)
{
return TRUE;
}
else
{
SQLFreeHandle(SQL_HANDLE_DBC,hDbc);
SQLFreeHandle(SQL_HANDLE_DBC,hEnv);
return FALSE;
}
}
else
{
SQLFreeHandle(SQL_HANDLE_DBC,hEnv);
return FALSE;
}
}
else
{
SQLFreeHandle(SQL_HANDLE_DBC,hEnv);
return FALSE;
}
}
else
{
return FALSE;
}
根据我的调试,错误就是出现在蓝色处、、、、、
|
|