c ++ ODBC连接字符串

时间:2013-01-04 10:13:43

标签: visual-c++ odbc

在VC ++中,我使用ODBC使用以下字符串连接数据库:

SQLDriverConnect (sqlconnectionhandle, 
             NULL, 
             L"Driver={SQL Server};Server=serverIP, 1433;Database=DBName;Uid=aaa;Pwd=bbb;",
             SQL_NTS, 
             retconstring, 
             1024, 
             NULL,
             SQL_DRIVER_NOPROMPT))

我的问题是如何通过硬编码输入userName和userPw。

这里,L表示Unicode。

例如:(这个例子不起作用)

SQLWCHAR userName = L"aaa";
SQLWCHAR userPw = L"bbb";
SQLWCHAR connString = L"Driver={SQL Server};Server=serverIP, 1433;Database=DBName;Uid=" + userName + ";Pwd=" + userPw + ";",

以下是concat字符串的示例:(有效!)

wchar_t* subString = L" currentDate = '2013-01-04' ";

SQLWCHAR queryString[] = L"select * from Table1 WHERE ";
wcscat_s(queryString, subString );

2 个答案:

答案 0 :(得分:0)

最后,我使用SQLBindParameter绑定SQLStatement和SQLExecDirect来执行语句。

eg: SQLExecDirect(sqlstatementhandle, queryString, SQL_NTS)

答案 1 :(得分:0)

L"字符串名称"意味着这是Unicode字符串,使用SQLDriverConnectA可以解决问题。

例如:

SQLDriverConnectA(sqlconnectionhandle, 
         NULL, 
         "Driver={SQL Server};Server=serverIP, 1433;Database=DBName;Uid=aaa;Pwd=bbb;",
         SQL_NTS, 
         retconstring, 
         1024, 
         NULL,
         SQL_DRIVER_NOPROMPT))