本人在数据库设置SF,DF,QF,WGF,QTF,等列段为MOMEY,SARQ列段设为DATETIME型,请问在DELPHI内如何编写SQL语句,请各位楼主帮手分析一下以下代码,数据类型转换就如何更改!本人一时找不到相关资料,请详细些?procedure Tmodisf_form.Btn_okClick(Sender: TObject);
var  sqlstr,sqlstr1,mph,bh,sfrq:string;
    sf1,df1,qf1,wgf1,qtf1:currency;
begin
  mph:=Trim(mph_edit.Text);
  if length(mph)<0 then
  begin
    ShowMessage('门牌号吾能为空,请输入!');
    mph_edit.SetFocus;
    exit;
  end;
  bh:=Trim(bh_edit.Text);
  sf1:=strTocurr(Trim(sf_edit.Text));
  df1:=strTocurr(Trim(df_edit.Text));
  qf1:=strTocurr(Trim(qf_edit.Text));
  wgf1:=strTocurr(Trim(wgf_edit.Text));
  qtf1:=strTocurr(Trim(qtf_edit.Text));
  sfrq:=Trim(dateTimeToStr(rq_dtp.DateTime));
 with adoquery1 do
  begin
    sql.Clear;
    sql.Add('update sfb set sf=:sf1,df=:df1,qf=:qf1,wgf=:wgf1,qtf=:qtf1 where bh='''+bh+''' and mph='''+mph+'''';sqlstr);
    Parameters.ParamByName('sf1').Value:=sf1;
    Parameters.ParamByName('df1').Value:=df1;
    Parameters.ParamByName('qf1').Value:=qf1;
    Parameters.ParamByName('wgf1').Value:=wgf1;
    Parameters.ParamByName('qtf1').Value:=qtf1;
    ExecSQL;
   END

解决方案 »

  1.   

    sql.Add('update sfb set sf=:sf1,df=:df1,qf=:qf1,wgf=:wgf1,qtf=:qtf1 where bh='''+bh+''' and mph='''+mph+'''';sqlstr);
    ----------------------------
    最后一个sqlstr哪里来的,什么用?没看明白,你去掉最后的“;sqlstr:”看看可以步否天啊!!!!!
    你至少应该说明一下系统报什么错误吧?稍微单步调试一下再来问吧,难道每个人看你的问题都必须自己弄个数据库,然户拷贝到delphi中执行一下吗?倒!
    不好意思,刚起床,头晕,说话急!