with QueryWsdSet do
begin
close;
SQL.Clear;
if SelectedNode.Level=0 then
//SQL.Add('update settingT set wdsx=Ewsx.Text, set wdxx=Ewxx.Text, set sdsx=Essx.Text, set sdxx=Esxx.Text');
SQL.Add('update settingT set wdsx=:wdsx, set wdxx=:wdxx, set sdsx=:sdsx, set sdxx=:sdxx');
if SelectedNode.Level=1 then
SQL.Add(format('update settingT set wdsx=:wdsx, set wdxx=:wdxx, set sdsx=:sdsx, set sdxx=:sdxx where cf=%d',[StrToInt(CurrNodeId)]));
if SelectedNode.Level=2 then
SQL.Add(format('update settingT set wdsx=:wdsx, set wdxx=:wdxx, set sdsx=:sdsx, set sdxx=:sdxx where cf=%d and hw=%d',[ParentNodeId,CurrNodeId]));
QueryWsdSet.ParamByName('wdsx').AsFloat := strToFloat(Ewsx.Text);
QueryWsdSet.ParamByName('wdxx').AsFloat := strToFloat(Ewxx.Text);
QueryWsdSet.ParamByName('sdsx').AsFloat := strToFloat(Essx.Text);
QueryWsdSet.ParamByName('sdxx').AsFloat := strToFloat(Esxx.Text);
QueryWsdSet.execsql;
end;
提示说我SET附近有语法错误,到底怎么回事呀
begin
close;
SQL.Clear;
if SelectedNode.Level=0 then
//SQL.Add('update settingT set wdsx=Ewsx.Text, set wdxx=Ewxx.Text, set sdsx=Essx.Text, set sdxx=Esxx.Text');
SQL.Add('update settingT set wdsx=:wdsx, set wdxx=:wdxx, set sdsx=:sdsx, set sdxx=:sdxx');
if SelectedNode.Level=1 then
SQL.Add(format('update settingT set wdsx=:wdsx, set wdxx=:wdxx, set sdsx=:sdsx, set sdxx=:sdxx where cf=%d',[StrToInt(CurrNodeId)]));
if SelectedNode.Level=2 then
SQL.Add(format('update settingT set wdsx=:wdsx, set wdxx=:wdxx, set sdsx=:sdsx, set sdxx=:sdxx where cf=%d and hw=%d',[ParentNodeId,CurrNodeId]));
QueryWsdSet.ParamByName('wdsx').AsFloat := strToFloat(Ewsx.Text);
QueryWsdSet.ParamByName('wdxx').AsFloat := strToFloat(Ewxx.Text);
QueryWsdSet.ParamByName('sdsx').AsFloat := strToFloat(Essx.Text);
QueryWsdSet.ParamByName('sdxx').AsFloat := strToFloat(Esxx.Text);
QueryWsdSet.execsql;
end;
提示说我SET附近有语法错误,到底怎么回事呀
解决方案 »
- 如何用ClientDataSet1调用oracel返回带参数存储过程?
- 如何用DSPACK播放流媒体?我用了DSPack中的PlayWin,在SelectUrl之后,出现了$800C0008异常。
- 新手问题:将DateTimePicker1的值写到数据库中,并显示到DBGrid中,该怎么操作呢?
- 这样事件在哪里写呀???
- fast report3如何安装
- 我用adoquery1.locate查找记录后,怎样将指针定位到下一条匹配的记录
- delphi6和delphi7能否安装到同一台机器上?
- 为什么调用MTS/COM+时,客户端老是提示“RPC服务器不可用”?
- 将各部门数据进行汇总,并填入源表中?
- 如何打印form上的StringGrid?
- 窗体继承问题??
- 数据模糊查询问题
QueryWsdSet.ParamByName('wdsx').AsFloat := strToFloat(Ewsx.Text);
QueryWsdSet.ParamByName('wdxx').AsFloat := strToFloat(Ewxx.Text);
QueryWsdSet.ParamByName('sdsx').AsFloat := strToFloat(Essx.Text);
QueryWsdSet.ParamByName('sdxx').AsFloat := strToFloat(Esxx.Text);
QueryWsdSet.execsql;
-------------------------------------------
这里你都知道用参数,为什么上面就不用呢
begin
with QueryWsdSet do
begin
close;
SQL.Clear;
if SelectedNode.Level=0 then
//SQL.Add('update settingT set wdsx=Ewsx.Text, set wdxx=Ewxx.Text, set sdsx=Essx.Text, set sdxx=Esxx.Text');
SQL.Add('update settingT set wdsx=:wdsx, set wdxx=:wdxx, set sdsx=:sdsx, set sdxx=:sdxx');
if SelectedNode.Level=1 then
begin
//SQL.Add(format('update settingT set wdsx=:wdsx, set wdxx=:wdxx, set sdsx=:sdsx, set sdxx=:sdxx where cf=%d',[nId]));
SQL.Add('update settingT set wdsx=:wdsx, set wdxx=:wdxx, set sdsx=:sdsx, set sdxx=:sdxx where cf=:nId');
QueryWsdSet.ParamByName('nid').AsInteger := nid;
end; if SelectedNode.Level=2 then
begin
//SQL.Add(format('update settingT set wdsx=:wdsx, set wdxx=:wdxx, set sdsx=:sdsx, set sdxx=:sdxx where cf=%s and hw=%d',[ParentNodeId,nId]));
SQL.Add('update settingT set wdsx=:wdsx, set wdxx=:wdxx, set sdsx=:sdsx, set sdxx=:sdxx where cf=:ParentNodeId and hw=:nId');
QueryWsdSet.ParamByName('nid').AsInteger := nid;
QueryWsdSet.ParamByName('ParentNodeId').AsInteger := strToInt(ParentNodeId);
end; QueryWsdSet.ParamByName('wdsx').AsFloat := strToFloat(Ewsx.Text);
QueryWsdSet.ParamByName('wdxx').AsFloat := strToFloat(Ewxx.Text);
QueryWsdSet.ParamByName('sdsx').AsFloat := strToFloat(Essx.Text);
QueryWsdSet.ParamByName('sdxx').AsFloat := strToFloat(Esxx.Text);
QueryWsdSet.execsql;
end;
QueryWsdSet.close;