一个用ADOQuery修改记录的问题(帮帮忙,谢谢!)(20分)

  • 主题发起人 主题发起人 Q羊羊Q
  • 开始时间 开始时间
Q

Q羊羊Q

Unregistered / Unconfirmed
GUEST, unregistred user!
我用ADOQuery查询出几条记录
再对某一个记录的某一字段赋值
赋值程序如下:
AQMStock->Close();
AQMStock->SQL->Clear();
AQMStock->SQL->Add("Update MaterialStock ");
AQMStock->SQL->Add("Set GetCode=:Code ");
AQMStock->Parameters->ParamByName("Code")->Value = cboGetType->Text;
AQMStock->ExecSQL();
这样作有个问题:它把数据表中全部记录的GetCode字段全部赋值成了cboGetType->Text值!这样肯定是不行的。
要达到我的要求要怎么做才好呢?
 
Update加where 条件
而不是先查询出再赋值
这里的赋值还是针对所有记当的
 
AQMStock->SQL->Add("Set GetCode=:Code where 条件字段=:TJ");
然后用not eof
作一个循环赋值执行execsql
条件值就是你找出的记录的字段值
 
我是需要查出来之后看看哪些记录需要修改的
是不是SQL再Add一下条件?
有没有别的方法?
DBGrid不是有游标的吗?怎么会都全部都改呢
 
老弟问题你用的是不带条件的update啊,那当然全update掉了
这样的用法太太危险了
你又不是通过dbgrid的数据感知控件更新的
 
问题解决了
加了一个自增字段作为查询条件,谢谢两位
 
后退
顶部