100分求助,如何查找Patient_id= m_patientid的记录?

tjucruiser 2007-11-05 08:11:40
原来的代码是查找所有记录,现在只要满足Patient_id= m_patientid的记录,这里m_patientid是int型变量,原来查找全部记录的代码如下:
m_pRecordset.CreateInstance(__uuidof(Recordset));

try
{
m_pRecordset->Open("SELECT * FROM Patient",
adOpenDynamic,
adLockOptimistic,
adCmdText);
}
catch(_com_error *e)
{
AfxMessageBox(e->ErrorMessage());
}

另外问一下,下面这么删除记录,是否可行,主要是这句CommandText的赋值是否正确?
CString CommandText;
CommandText.Format("delete * from Patient where Patient_id="+ m_patientid);

_variant_t RecordsAffected;
_variant_t var;
try
{
theApp.m_pConnection->Execute(_bstr_t(CommandText),&RecordsAffected,adCmdText);
}
catch(_com_error *e)
{
AfxMessageBox(e->ErrorMessage());
}
...全文
260 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
yoyoye 2007-11-06
  • 打赏
  • 举报
回复
CommandText.Format("select * from Patient where Patient_id= %d ", m_patientid);
m_pRecordset-> Open( CommandText,
adOpenDynamic,
adLockOptimistic,
adCmdText);

同意
justforjoke 2007-11-05
  • 打赏
  • 举报
回复
m_pRecordset->Open(_bstr_t(CommandText),
theApp.m_pConnection.GetInterfacePtr(),
adOpenDynamic,
adLockOptimistic,
adCmdText);
加上_bstr_t
dyw 2007-11-05
  • 打赏
  • 举报
回复
CommandText.Format("select * from Patient where Patient_id= %d ", m_patientid); 
m_pRecordset-> Open( CommandText,
adOpenDynamic,
adLockOptimistic,
adCmdText);
tjucruiser 2007-11-05
  • 打赏
  • 举报
回复
其他的我不问了,就问一点,如何得到满足Patient_id= m_patientid的记录集????
tjucruiser 2007-11-05
  • 打赏
  • 举报
回复
CString CommandText;
CommandText.Format( "SELECT * FROM Patient where patient_id = %d " m_patientid);


CString CommandText;
CommandText.Format( "delete from Patient where Patient_id=%d " m_patientid);
这么写也是错误的啊
tjucruiser 2007-11-05
  • 打赏
  • 举报
回复
第一:
CString CommandText;
CommandText.Format( "SELECT * FROM Patient where patient_id = %d "+ m_patientid);
结果是错误的,原来那么写,虽然不知道可靠不可靠,但结果是正确的
第二,我需要得到以及记录集,这样下面就可以获取各个字段的值,所以必须用 _RecordsetPtr m_pRecordset;这种智能指针
shanhqk 2007-11-05
  • 打赏
  • 举报
回复
CString CommandText;
CommandText.Format( "SELECT * FROM Patient where patient_id = %d " m_patientid);


CString CommandText;
CommandText.Format( "delete from Patient where Patient_id=%d " m_patientid);

实在不好意思,写错了
tjucruiser 2007-11-05
  • 打赏
  • 举报
回复
我最终要得是一个m_pRecordset,如果用命令的话,无法得到啊?
shanhqk 2007-11-05
  • 打赏
  • 举报
回复

CString CommandText;
CommandText.Format( "SELECT * FROM Patient where patient_id = %d "+ m_patientid);


CString CommandText;
CommandText.Format( "delete from Patient where Patient_id=%d "+ m_patientid);
tjucruiser 2007-11-05
  • 打赏
  • 举报
回复
请问try
{
m_pRecordset-> Open( "SELECT * FROM Patient ",
adOpenDynamic,
adLockOptimistic,
adCmdText);
} 怎么和
Patient_id= m_patientid结合起来?
dyw 2007-11-05
  • 打赏
  • 举报
回复
CommandText.Format( "delete * from Patient where Patient_id= %d", m_patientid);

4,011

社区成员

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

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