delphi高手请进,高分相赠!!(奇怪的问题,分数不够可以在加)(100分)

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

qiluzhizi

Unregistered / Unconfirmed
GUEST, unregistred user!
sqlquery := 'update XT_SJJHJH set CZXK='+''''+ls_czxk+''''+',QDSJ='+''''+ls_qdsj+''''+',XCYXSJ='+''''+datetimetostr(ldt_xcyxsj)+''''+',SM='+''''+ls_sm+''''+' where ID='+''''+ls_id+'''';
loginform.SQLClientDataSet1.Close;
loginform.SQLClientDataSet1.CommandType:=ctquery;
loginform.SQLClientDataSet1.CommandText:=sqlquery;
loginform.SQLClientDataSet1.Execute;
loginform.SQLClientDataSet1.open;
loginform.SQLClientDataSet1.ApplyUpdates(-1);
我的源代码是这样的,其中
loginform.SQLClientDataSet1.open;
可以换成loginform.SQLClientDataSet1.Active:=true;
但是如果没有open或者active:=true而只有
loginform.SQLClientDataSet1.Execute;
修改不成功,
如果loginform.SQLClientDataSet1.Execute;和
loginform.SQLClientDataSet1.open;同时有的话,修改成功,
但是出现错误
 
你的结构是3层的吗?
中间层的DataSetProvider的Options中的poAllowCommandText设为true了吗? 如没有,试试。
open;是需要返回数据的。你的SQL是update,使用Execute;方法就可以了。

另,将loginform.SQLClientDataSet1.ApplyUpdates(-1); 这句注释掉试试。
 
只要用
loginform.SQLClientDataSet1.Execute;就行了呀,

-- loginform.SQLClientDataSet1.open;
-- loginform.SQLClientDataSet1.ApplyUpdates(-1);
 
后退
顶部