用SQLBindParameter绑定参数查找记录 参数有些搞不清
用SQLBindParameter绑定参数查找记录 参数有点搞不清~
大家好,我在UserInfo(userName,password,isOnline)表中有一条记录如下:xiaoyege lihai 0,其中前两个参数的类型是nchar(20),nchar(16),现想用参数绑定查找它,数据库连接没问题,直到语句句柄分配这步都没问题。请看代码:
TCHAR tcUserName[21]=TEXT("xiaoyege");
TCHAR tcPassword[17]=TEXT("lihai");
TCHAR sqlStat[200]=TEXT("select * from Betta.dbo.UserInfo where userName='?' and password='?'");
SQLINTEGER bytes1=wcsnlen_s(tcUserName,21);
SQLINTEGER bytes2=wcsnlen_s(tcPassword,17);
SQLPrepare(hStmt,sqlStat,SQL_NTS);
SQLBindParameter(hStmt,1,SQL_PARAM_INPUT,SQL_C_TCHAR,SQL_WCHAR,20,0,tcUserName,21*sizeof(TCHAR),
&bytes1);
SQLBindParameter(hStmt,2,SQL_PARAM_INPUT,SQL_C_TCHAR,SQL_WCHAR,16,0,tcPassword,17*sizeof(TCHAR),
&bytes2);
SQLExecute(hStmt);
int record=0;
while(SQL_NO_DATA!=SQLFetch(hStmt))
record++;
cout<<record<<endl;
我怀疑是否那些涉及到长度的参数有问题,因为我程序和数据库中都用的Unicode,对msdn上的单词有些理解不太好,谢谢各位了~
------解决方案--------------------
我也来帮你UP一下...
大家好,我在UserInfo(userName,password,isOnline)表中有一条记录如下:xiaoyege lihai 0,其中前两个参数的类型是nchar(20),nchar(16),现想用参数绑定查找它,数据库连接没问题,直到语句句柄分配这步都没问题。请看代码:
TCHAR tcUserName[21]=TEXT("xiaoyege");
TCHAR tcPassword[17]=TEXT("lihai");
TCHAR sqlStat[200]=TEXT("select * from Betta.dbo.UserInfo where userName='?' and password='?'");
SQLINTEGER bytes1=wcsnlen_s(tcUserName,21);
SQLINTEGER bytes2=wcsnlen_s(tcPassword,17);
SQLPrepare(hStmt,sqlStat,SQL_NTS);
SQLBindParameter(hStmt,1,SQL_PARAM_INPUT,SQL_C_TCHAR,SQL_WCHAR,20,0,tcUserName,21*sizeof(TCHAR),
&bytes1);
SQLBindParameter(hStmt,2,SQL_PARAM_INPUT,SQL_C_TCHAR,SQL_WCHAR,16,0,tcPassword,17*sizeof(TCHAR),
&bytes2);
SQLExecute(hStmt);
int record=0;
while(SQL_NO_DATA!=SQLFetch(hStmt))
record++;
cout<<record<<endl;
我怀疑是否那些涉及到长度的参数有问题,因为我程序和数据库中都用的Unicode,对msdn上的单词有些理解不太好,谢谢各位了~
------解决方案--------------------
我也来帮你UP一下...