用ADO COMMAND执行带参SQL语句

maosher 2010-08-15 01:00:56
问题:ADO的_CommandPtr 如何执行带参的SQL语句,么接触过,下面是本人设想的部分代码提取出来的,一些初始化的工作比如关联connection已经做了,执行不通,
疑问?还是用@ 形式的变量么,另外,如何获取查询结果?比如说如何返回下面的“ID”
建议我用 _Recordset的就不要回了。


void IsExistUser(CString strEMail, CString strPass)
{
_CommandPtr pCommand;
pCommand.CreateInstance(__uuidof(Command));


CString strSQL;
strSQL.Format("SELECT ID FROM dbo.Customer WITH(NOLOCK) WHERE [Email]=@EMail AND [Password]=@Password");

pCommand->PutCommandText(_bstr_t(strSQL));
pCommand->PutCommandType(adCmdText);


_ParameterPtr Param1;
Param1.CreateInstance(__uuidof(Parameter));
Param1->PutName(_variant_t("@EMail"));
Param1->PutValue(_variant_t(strEMail));
Param1->PutSize(strEMail.GetLength()+1);
pCommand->GetParameters()->Append((IDispatch*)Param1);

_ParameterPtr Param2;
Param2.CreateInstance(__uuidof(Parameter));
Param2->PutName(_variant_t("@Password"));
Param2->PutValue(_variant_t(strPass));
Param2->PutSize(strPass.GetLength()+1);
pCommand->GetParameters()->Append((IDispatch*)Param2);

pCommand->Execute(NULL, NULL, adCmdText);


//other code...
//
//..
//release

}



...全文
155 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
oracle9901 2010-08-20
  • 打赏
  • 举报
回复
好像3楼说的比较对,这个可能与asp.net中数据操作不同,而参数只与顺序有关,与参数名没有关系!
zhu_terry 2010-08-15
  • 打赏
  • 举报
回复
sql语句中的参数直接用?来代替就可以了!
maosher 2010-08-15
  • 打赏
  • 举报
回复
!PS:数据库是MS_SQLSERVER2008
偶然的强 2010-08-15
  • 打赏
  • 举报
回复
么整明白,本人菜,帮顶

4,011

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 数据库
社区管理员
  • 数据库
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧