我试图弄清楚为什么ODBC连接到数据库不起作用,我编写代码(顶部)并注释掉另一个程序的源代码。这工作得很好,并且弹出了驱动程序窗口,要求我选择数据库/等等。我现在已经看了20多分钟,而且我的代码(在我看来)完全相同,但没有&# 39;工作。所以我想有一双新鲜的眼睛来看看这个,让我知道是否有什么不同于注释掉的部分。
谢谢< 3
case IDB_LOGIN:{
SQLHENV SQLEnviroment = NULL;
SQLHDBC SQLConnection = NULL;
if (SQLAllocHandle(SQL_HANDLE_ENV, SQL_NULL_HANDLE, &SQLEnviroment) != SQL_SUCCESS) {
MessageBox(NULL, NULL, NULL, NULL);
}
if (SQLSetEnvAttr(SQLEnviroment, SQL_ATTR_ODBC_VERSION, (SQLPOINTER)SQL_OV_ODBC3, 0) != SQL_SUCCESS)
{
MessageBox(NULL, NULL, NULL, NULL);
}
if (SQLAllocHandle(SQL_HANDLE_DBC, SQLEnviroment, &SQLConnection) != SQL_SUCCESS) {
MessageBox(NULL, NULL, NULL, NULL);
}
if (SQLDriverConnect(SQLConnection, GetDesktopWindow(), L"DRIVER={SQL DRIVER}; Server=LIVINGTREE; Database=Application Database;Uid=AdminNick;Pwd=spawn1234;", SQL_NTS, NULL, 0, NULL, SQL_DRIVER_PROMPT) == SQL_SUCCESS_WITH_INFO) {
MessageBox(NULL, L"Connected!", NULL, MB_OK);
}
//SQLHENV hEnv = NULL;
//SQLHDBC hDbc = NULL;
//SQLAllocHandle(SQL_HANDLE_ENV, SQL_NULL_HANDLE, &hEnv);
//
//SQLSetEnvAttr(hEnv,SQL_ATTR_ODBC_VERSION,(SQLPOINTER)SQL_OV_ODBC3,0);
//SQLAllocHandle(SQL_HANDLE_DBC, hEnv, &hDbc);
//SQLDriverConnect(hDbc,
// GetDesktopWindow(),
// L"Driver={SQL Server};Server=.\\LIVINGTREE;Database=Application Database;Uid=AdminNick; Pwd=spawn123;",
// SQL_NTS,
// NULL,
// 0,
// NULL,
// SQL_DRIVER_COMPLETE);
break;
}