SQL和一些字符串中的单引号,在Pascal中是怎么样处理的?(33分)

  • 主题发起人 主题发起人 jomee
  • 开始时间 开始时间
with fdm.q1 do
begin
Close;
SQL.Clear;
SQL.Add(' INSERT INTO k_Purchase '+
' (User_No,'+
' Trade_Type,'+
' Purchase_Num,'+
' Remains_Gas,'+
' Purchase_Vol,'+
' Trade_Date,'+
' Over_Zero,'+
' gas_RMB,'+
' B_Status,'+
' Operator_No,'+
' Total_Purchase,'+
' Total_Used,'+
' reg_RMB,'+
' checkout)'+
' VALUES (:SQLuserno,'+
' :SQLtradetype,'+
' :SQLpurchasenum,'+
' :par,'+
' :SQLpurchasevol,'+
' :SQLTradedate,'+
' :par1,'+
' :SQLgasrmb,'+
' :par2,'+
' :SQLoperatorno,'+
' :SQLtotalpurchase,'+
' :par3,'+
' 0,'+
' 0)');
prepare;
params[0].AsString := inttostr(User_No);
params[1].AsString := SQLtradetype;
params[2].AsString := inttostr(UserBuyNum);
params[3].AsString := LPBsyql;
params[4].AsString := trim(edit10.text);
params[5].AsString := FormatDateTime('yyyy-mm-dd',now);
params[6].AsString := LPBglql;
params[7].AsCurrency := strtofloat(trim(edit13.text));
params[8].AsString := '1';
params[9].AsString := SQLoperatorno;
params[10].AsString := inttostr(usertotalbuy + strtoint(edit10.text));
params[11].AsString := LPByyql;
ExecSQL;
Close;
 
ls_sql:='select * from t_user where c_user_id='+''''+'myname'+'''';
 
如果用到字符串函数的话
QuotedStr()能返回代单引号的字符串。
 
一个单引号用两个单引号代替或用一个“#39”代替也可以,
 
同意上面几位朋友的意见。
 
最好用quotedstr函数,自己看的也清楚
 
我常用的 1_1_1_1 说的那种方法:
一个单引号用两个单引号代替('')
或用一个“#39”代替也可以,
 
后退
顶部