用sql语句更新数据,速度很慢,更新一条记录约一分钟,客户对我很不满,郁闷!! 思路是:1.先找出符合客户条件的记录
2.用update更新
3.保证需修改的记录就一条
4. sql5.connection=adoconnection1;语句如下:========================================================
dm.sqlx5.SQL.Clear;
dm.sqlx5.SQL.Add('update jsk ');
dm.sqlx5.SQL.Add('set bm=:hh, ren=:gg,yh=:yh,fs=:fs,je=:je,bh=:bh');
dm.sqlx5.SQL.Add('where id=:hh1 ');
dm.sqlx5.Parameters.ParamByName('hh1').Value :=trim(hh);
dm.sqlx5.Parameters.ParamByName('gg').Value :=trim(c3.Text);
dm.sqlx5.Parameters.ParamByName('hh').Value :=trim(edit2.Text);
dm.sqlx5.Parameters.ParamByName('fs').Value :=trim(c2.Text);
dm.sqlx5.Parameters.ParamByName('yh').Value :=strtoint(edit20.Text);
dm.sqlx5.Parameters.ParamByName('bh').Value :=edit22.Text;
dm.sqlx5.Parameters.ParamByName('je').Value :=strtoint(edit23.Text);
dm.sqlx5.ExecSQL;
/////////////////////////////////////jsk
//////////////////// yek
dm.sqlx5.SQL.Clear;
dm.sqlx5.SQL.Add('select *');
dm.sqlx5.SQL.Add('from yek ');
dm.sqlx5.SQL.Add('where InvNo=:pp and Payer=:kk and IssuedDate=:dd ');
dm.sqlx5.Parameters.ParamByName('pp').Value :=trim(pp);
dm.sqlx5.Parameters.ParamByName('kk').Value :=trim(kk);
dm.sqlx5.Parameters.ParamByName('dd').Value :=trim(dd);
dm.sqlx5.ExecSQL;
dm.sqlx5.Open;
////////////////////////////是否初次判断
if dm.sqlx5.FieldValues['bm']=null then begin
dm.sqlx5.SQL.Clear;
dm.sqlx5.SQL.Add('update yek ');
dm.sqlx5.SQL.Add('set bm=:hh,ren=:rr,n1=:n1 ');
dm.sqlx5.SQL.Add('where InvNo=:pp and Payer=:kk and IssuedDate=:dd ');
dm.sqlx5.Parameters.ParamByName('pp').Value :=trim(pp);
dm.sqlx5.Parameters.ParamByName('kk').Value :=trim(kk);
dm.sqlx5.Parameters.ParamByName('dd').Value :=trim(dd);
dm.sqlx5.Parameters.ParamByName('rr').Value :=trim(c3.Text);
dm.sqlx5.Parameters.ParamByName('hh').Value :=edit2.Text;
dm.sqlx5.Parameters.ParamByName('n1').Value :=strtoint(edit20.Text);
dm.sqlx5.ExecSQL;
.....................................
2.用update更新
3.保证需修改的记录就一条
4. sql5.connection=adoconnection1;语句如下:========================================================
dm.sqlx5.SQL.Clear;
dm.sqlx5.SQL.Add('update jsk ');
dm.sqlx5.SQL.Add('set bm=:hh, ren=:gg,yh=:yh,fs=:fs,je=:je,bh=:bh');
dm.sqlx5.SQL.Add('where id=:hh1 ');
dm.sqlx5.Parameters.ParamByName('hh1').Value :=trim(hh);
dm.sqlx5.Parameters.ParamByName('gg').Value :=trim(c3.Text);
dm.sqlx5.Parameters.ParamByName('hh').Value :=trim(edit2.Text);
dm.sqlx5.Parameters.ParamByName('fs').Value :=trim(c2.Text);
dm.sqlx5.Parameters.ParamByName('yh').Value :=strtoint(edit20.Text);
dm.sqlx5.Parameters.ParamByName('bh').Value :=edit22.Text;
dm.sqlx5.Parameters.ParamByName('je').Value :=strtoint(edit23.Text);
dm.sqlx5.ExecSQL;
/////////////////////////////////////jsk
//////////////////// yek
dm.sqlx5.SQL.Clear;
dm.sqlx5.SQL.Add('select *');
dm.sqlx5.SQL.Add('from yek ');
dm.sqlx5.SQL.Add('where InvNo=:pp and Payer=:kk and IssuedDate=:dd ');
dm.sqlx5.Parameters.ParamByName('pp').Value :=trim(pp);
dm.sqlx5.Parameters.ParamByName('kk').Value :=trim(kk);
dm.sqlx5.Parameters.ParamByName('dd').Value :=trim(dd);
dm.sqlx5.ExecSQL;
dm.sqlx5.Open;
////////////////////////////是否初次判断
if dm.sqlx5.FieldValues['bm']=null then begin
dm.sqlx5.SQL.Clear;
dm.sqlx5.SQL.Add('update yek ');
dm.sqlx5.SQL.Add('set bm=:hh,ren=:rr,n1=:n1 ');
dm.sqlx5.SQL.Add('where InvNo=:pp and Payer=:kk and IssuedDate=:dd ');
dm.sqlx5.Parameters.ParamByName('pp').Value :=trim(pp);
dm.sqlx5.Parameters.ParamByName('kk').Value :=trim(kk);
dm.sqlx5.Parameters.ParamByName('dd').Value :=trim(dd);
dm.sqlx5.Parameters.ParamByName('rr').Value :=trim(c3.Text);
dm.sqlx5.Parameters.ParamByName('hh').Value :=edit2.Text;
dm.sqlx5.Parameters.ParamByName('n1').Value :=strtoint(edit20.Text);
dm.sqlx5.ExecSQL;
.....................................
解决方案 »
- 如何通过up键,使光标的焦点移动至上一个控件?
- 求如何在窗口中修改TStringList中的内容,并改变输入方式(例如:某一单元改用ListBox输入)
- 搞不定了,哪为高手帮帮忙!!服务器端激活后,动态数据库连接有问题!!在线等待.....
- 读ini的问题?
- TFlatSpeedButtonUnit, TFlatHintUnit控件在哪里才能够找到?
- 一个看起来很简单的问题:字符串和浮点数的转换
- 高手,帮帮我吧!
- foxyy8888领100分,顺便请教
- 菜鸟求救:Delphi第三方控件到底如何安装?为什么我以选择COMPILER按钮就说有Internel Error:URW3XXX什么的错误?是不是因为是D版的缘故
- modi
- 鼠标问题
- 销售mis大概多少钱
//if dm.sqlx5.FieldValues['bm']=null then begin
if dm.sqlx5.FieldValues['bm'].AsString = '' then begin