请教数据类型转换的问题(SQL Server和C++)

ranman 2003-08-24 05:54:43
我在_RecordsetPtr的Open()函数里使用如下的联机字符串:
"SELECT * FROM workID WHERE word_id='"+m_strName+"' AND passw='"+m_strPass+"'"但是编译的时候出现如下的错误:
cannot convert parameter 1 from 'class CString' to 'const class _variant_t &'
请问我该怎么做?

...全文
33 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
commandconque 2003-08-24
  • 打赏
  • 举报
回复
你干脆写成:
->Open( _variant_t("select * from ....");
_variant_t((IDispatch *)m_connection,TRUE),
...,
...,
adCmdText);
yanzai8848 2003-08-24
  • 打赏
  • 举报
回复
CString strSQL;
strSQL = "SELECT * FROM workID WHERE word_id='"
+ m_strName
+ "' AND passw='"
+ m_strPass
+ "'";

在Open()函数的SQL语句参数中使用

strSQL.LockBuffer();

在Open()之后加上

strSQL.UnLockBuffer();
karlson0211 2003-08-24
  • 打赏
  • 举报
回复
我记得好象是:_variant_t strQueary;
strQueary="SELECT * FROM workID WHERE word_id='"+m_strName+"' AND passw='"+m_strPass+"'"再试试?
丁淇石头 2003-08-24
  • 打赏
  • 举报
回复
试试这个:
char buf[100];
HRESULT hr;
try
{
hr=m_pConnect.CreateInstance("ADODB.Connection");
if(SUCCEEDED(hr))
{
//先将SQL组装好
sprintf(buf,"SELECT * FROM workID WHERE word_id='%s' AND passw='%s'", m_strName, m_strPass);
hr = m_pConnect->Open(buf, "", "", adModeUnknown);
}
}
catch(_com_error e)
{
AfxMessageBox(e.ErrorMessage());
return FALSE;
}
丁淇石头 2003-08-24
  • 打赏
  • 举报
回复
试试这个:
char buf[100];
HRESULT hr;
try
{
hr=m_pConnect.CreateInstance("ADODB.Connection");
if(SUCCEEDED(hr))
{
sprintf(buf,"SELECT * FROM workID WHERE word_id='%s' AND passw='%s'", m_strName, m_strPass);
hr = m_pConnect->Open(buf, "", "", adModeUnknown);
}
}
catch(_com_error e)
{
AfxMessageBox(e.ErrorMessage());
return FALSE;
}

4,011

社区成员

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

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