C ++:ODBC驱动程序不会提示

时间:2015-12-18 04:17:51

标签: c++ sql odbc

我试图弄清楚为什么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;
        }

0 个答案:

没有答案