C++中,查询sqlserver时 sql语言中如何引用int变量

2025-01-19 14:19:18
推荐回答(2个)
回答1:

可以自己先用sprintf,或者CString类的Format函数把SQL语句格式化好之后,再传给Open函数,如:

int i=1;
CString strSQL;
strSQL.Format("SELECT * FROM Line Where ID=%d", i);
m_pRecordset->Open(strSQL.GetBuffer(100),m_pConnection.GetInterfacePtr(),adOpenStatic,adLockOptimistic,adCmdText);//执行SQL语句

回答2:

CString sql;
sql.Format(_T("SELECT * FROM 表名 Where ID=%d"),i);
USES_CONVERSION;
 LPSTR strSQL=T2A(sql);
m_pRecordset->Open(strSQL,
m_pConnection.GetInterfacePtr(),
adOpenStatic,
adLockOptimistic,
adCmdText);
如上,把int型变量i 组合成cstring字符串,然后类型转换,就可以用了。
可以组合各种数据类型,char要加'%s'例如char str;sql.Format(_T("SELECT * FROM 表名 Where ID='%s'"),str);