怎样实现 修改??

ranxufeng 2013-06-16 12:41:11
在VS2010中ODBS连接SQL2005数据库 查表和修改表代码如下:
UpdateData(true);
CDatabase m_db1;
Ccun m_rs;
m_db1.Open(_T("RAN")); //打开的数据源的
m_rs.m_pDatabase=&m_db1;//
m_rs.m_strFilter.Format("name='%s' and password='%s'",m_NM,m_PW); //利用CRecordSet类的成员变量m_strFilter和m_strSort来执行条件查询和结果排序。m_strFilter用于指定过滤字符串,
m_rs.Open(CRecordset::snapshot,NULL,CRecordset::none);
try
{
if(m_NM=="")
{
AfxMessageBox("请输入用户名!");
return;
}
if(m_rs.IsEOF())
{
m_rs.Close();
AfxMessageBox("密码错误,请重试");
return;
}
else
{
m_rs.Close(); AfxMessageBox("登陆成功");
if(m_P==m_RP)
{
try
{
m_pConnec.CreateInstance(__uuidof(Connection));
m_pConnec->Open((_bstr_t)"Driver={SQL Server};Server=3TKVNQXA1WOFZC6;Database=ran","","",adModeUnknown);

//或者以下两行其中之一方式
//m_pConnection->Open((_bstr_t)"Driver={SQL Server};Server=11.0.3128\\SQLEXPRESS;Database=haitest","","",adModeUnknown);
//m_pConnection->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Demo.mdb","","",adModeUnknown); ;
}
catch(_com_error e)
{
AfxMessageBox("连接数据失败,请检查数据库路径是否正确!");
}
_bstr_t sql;
sql = "select * from cun";
m_pRecord.CreateInstance(__uuidof(Recordset));
m_pRecord->Open(sql,m_pConnec.GetInterfacePtr(),adOpenDynamic,
adLockOptimistic,adCmdText);
try
{
m_pRecord->AddNew(); //添加新行
m_pRecord->PutCollect("name",(_bstr_t)m_NM);
m_pRecord->PutCollect("password",(_bstr_t)m_P);
m_pRecord->Update(); //更新数据表
if(m_pRecord!=NULL)
m_pRecord->Close();
m_pConnec->Close();
}
catch(...)
{
MessageBox("操作失败");
return;
}
MessageBox("修改成功");
}
return;
}
}
catch(CException* e)
{
e->ReportError();
return;
}
UpdateData(false);
问题:为什么修改的永远都是第一行的信息呢?要怎样改 才能修改想要修改的信息呢??
...全文
69 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
ranxufeng 2013-06-16
  • 打赏
  • 举报
回复
引用 1 楼 caozhy 的回复:
sql = "update from cun set [password] = '你的密码' where name ='某个用户'";
sql = "update from cun set [password] = '你的密码' where name ='某个用户'"; '你的密码'???'某个用户'???
ranxufeng 2013-06-16
  • 打赏
  • 举报
回复
引用 1 楼 caozhy 的回复:
sql = "update from cun set [password] = '你的密码' where name ='某个用户'";
给个注释?? 我要的目的 sql = "select * from cun";是打开这个表 只要能和表中随便读出一个name和password成功后 修改password的值。 感觉是m_pRecord->AddNew(); //添加新行 问题但是不知道怎么改
threenewbee 2013-06-16
  • 打赏
  • 举报
回复
sql = "update from cun set [password] = '你的密码' where name ='某个用户'";

4,011

社区成员

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

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