在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 );
答案 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))