语法错误,update的语法是:
update 表 set 字段=值 where 修改的条件.
上面的应该写成:
'Update RptTemp set RptTemp.Memo='''+X+' select Quantity from RptTemp  where SpInfo.GoodsId=RptTemp.Goodsid '''

解决方案 »

  1.   

    楼上的误会了,请看清楚问题,我的问题是
     如何把一个固定的字符串和表中一个字段的值连接起来
     并且把连接的结果赋给另一个字段
     即相当于B.Memo:='''+str+'''+B.Quantity
      

  2.   

    B.Memo=:Param1;Query1.ParamByName('Param1').Value := str+ B.FieldByNaem('Quantity').AsString;Query1.ExecSQL;
    —————————————————————————————————
    MaximStr := '宠辱不惊,看庭前花开花落,去留无意;
                 毁誉由人,望天上云卷云舒,聚散任风。';
    if Not Assigned(I) then
      I := TI.Create(Nil);
    I.Maxim := MaximStr;
    I.Explain := '假如上述代码中出现“OA”、“3D”等字样,改为“=”或者去掉';
    I.Desire := '加不加分随你';
    —————————————————————————————————
        
      

  3.   

    你的Quantity字段一定是个数值型的,应该用函数把它转化为字符型的,
    不知你用的什么数据库,在SYBASE 中应该这样:
    Update RptTemp Set RptTemp.memo='''+Str+'''STR(RptTemp.Quanity)
      

  4.   

    Query1.FieldByName(FieldName);
    Query1.DataSet.FieldValue(FieldName);
      

  5.   

    query1.close;
    query1.sql.clear;
    query1.sql.add('Update RptTemp Set RptTemp.memo=:da (RptTemp.Quanity) from spinfo,RptTemp where Spinfo.GoodsId=RptTemp.Goodsid';
    query1.params[0].asstring:='';//在这里设置参数的值,也就是你的中间那段内容
    query1.open;
      

  6.   

    如果用纯SQL语句,用一个别名就可以解决了:
    如:select a1.Field1 + a2.Field2 + a3.Field3 from tableName a1,TableName a2,TableName a3 where ...
      

  7.   

    楼上的给位老大,好象还是不行吗?
      到底怎么写?
    我的数据库为SQL Server 2000