with query1 do
begin
close;
sql.Clear;
sql.Text:= 'insert into analyse(Date,Time,Ext,Co,Dial_Number,Ring,Duration,Acc,Code,Cd) values('+s[0]+','+s[1]+','+s[2]+','+s[3]+','+s[4]+','+s[5]+','+s[6]+','+s[7]+','+s[8]+',:'+s[9]+')'; { sql.Add('insert into analyse(Date,Time,Ext,Co,Dial_Number,Acc,Code,Cd) values(:a0,:a1,:a2,:a3,:a4,:a5,:a6,:a7,:a8,:a9)');
Parameters.ParamByName('a0').Value:= s[0];
Parameters.ParamByName('a1').Value:= s[1];
Parameters.ParamByName('a2').Value:= s[2];
Parameters.ParamByName('a3').Value:= s[3];
Parameters.ParamByName('a4').Value:= s[4];
Parameters.ParamByName('a5').Value:= s[5];
Parameters.ParamByName('a6').Value:= s[6];
Parameters.ParamByName('a7').Value:= s[7];
Parameters.ParamByName('a8').Value:= s[8];
Parameters.ParamByName('a9').Value:= s[9]; }
showmessage(sql.Text);
ExecSQL;我用sql.text那行就可以執行SQL語句,但報不正常的定義參數對象,提供了不一致或不完整的信息
而用sql.add那行卻不能執行SQL,報錯說,insert into 語法錯誤
請幫我看看
begin
close;
sql.Clear;
sql.Text:= 'insert into analyse(Date,Time,Ext,Co,Dial_Number,Ring,Duration,Acc,Code,Cd) values('+s[0]+','+s[1]+','+s[2]+','+s[3]+','+s[4]+','+s[5]+','+s[6]+','+s[7]+','+s[8]+',:'+s[9]+')'; { sql.Add('insert into analyse(Date,Time,Ext,Co,Dial_Number,Acc,Code,Cd) values(:a0,:a1,:a2,:a3,:a4,:a5,:a6,:a7,:a8,:a9)');
Parameters.ParamByName('a0').Value:= s[0];
Parameters.ParamByName('a1').Value:= s[1];
Parameters.ParamByName('a2').Value:= s[2];
Parameters.ParamByName('a3').Value:= s[3];
Parameters.ParamByName('a4').Value:= s[4];
Parameters.ParamByName('a5').Value:= s[5];
Parameters.ParamByName('a6').Value:= s[6];
Parameters.ParamByName('a7').Value:= s[7];
Parameters.ParamByName('a8').Value:= s[8];
Parameters.ParamByName('a9').Value:= s[9]; }
showmessage(sql.Text);
ExecSQL;我用sql.text那行就可以執行SQL語句,但報不正常的定義參數對象,提供了不一致或不完整的信息
而用sql.add那行卻不能執行SQL,報錯說,insert into 語法錯誤
請幫我看看
'+s[8]+ ',: '+s[9]+ ') '; 这里 : 干嘛用的?
2. Parameters.ParamByName( 'a0 ').Value:= s[0];
Parameters.ParamByName( 'a1 ').Value:= s[1];
Parameters.ParamByName( 'a2 ').Value:= s[2];
Parameters.ParamByName( 'a3 ').Value:= s[3];
Parameters.ParamByName( 'a4 ').Value:= s[4];
Parameters.ParamByName( 'a5 ').Value:= s[5];
Parameters.ParamByName( 'a6 ').Value:= s[6];
Parameters.ParamByName( 'a7 ').Value:= s[7];
Parameters.ParamByName( 'a8 ').Value:= s[8];
Parameters.ParamByName( 'a9 ').Value:= s[9]; 以上代碼,s數組,使用一個類型,必須進行類型轉換。
'+s[9]+ '前面怎么多了个:号
如果是字符型字段,那么賦值時把數組元素轉化為字符型
依此類推...
with adoqy7 do
begin
close;
sql.Clear;
sql.Add('exec alter_compartmentusedetail_comsume :ht,:ht1,:ht2,:ht3,:ht4,:ht5,:ht6,:ht7,:ht8,:ht9,:ht10,:ht11,:ht12');
parameters.ParamByName('Ht').Value:=factpay;
parameters.ParamByName('Ht1').Value:=factpay1;
parameters.ParamByName('Ht2').Value:=glname;
parameters.ParamByName('Ht3').Value:=inttostr(gl);
parameters.ParamByName('Ht4').Value:=cardno;
parameters.ParamByName('Ht5').Value:=inttostr(mdcidyue);
parameters.ParamByName('Ht7').Value:=fcuid;
parameters.ParamByName('Ht8').Value:=backid;
parameters.ParamByName('Ht9').Value:=cardno1;
parameters.ParamByName('Ht6').Value:=waieerID; //补求服务员后刷卡的情况,也能使服务员ID进入酒水消费表
parameters.ParamByName('Ht10').Value:=factpay2;
parameters.ParamByName('Ht11').Value:=mdcid;
parameters.ParamByName('Ht12').Value:=strtofloat(edt_cuzk.Text);
end;
with adoqy7 do
begin
close;
sql.Clear;
sql.Add( 'exec alter_compartmentusedetail_comsume :ht,:ht1,:ht2,:ht3,:ht4,:ht5,:ht6,:ht7,:ht8,:ht9,:ht10,:ht11,:ht12 ');
parameters.ParamByName( 'Ht ').Value:=factpay;
parameters.ParamByName( 'Ht1 ').Value:=factpay1;
parameters.ParamByName( 'Ht2 ').Value:=glname;
parameters.ParamByName( 'Ht3 ').Value:=inttostr(gl);
parameters.ParamByName( 'Ht4 ').Value:=cardno;
parameters.ParamByName( 'Ht5 ').Value:=inttostr(mdcidyue);
parameters.ParamByName( 'Ht7 ').Value:=fcuid;
parameters.ParamByName( 'Ht8 ').Value:=backid;
parameters.ParamByName( 'Ht9 ').Value:=cardno1;
parameters.ParamByName( 'Ht6 ').Value:=waieerID; //补求服务员后刷卡的情况,也能使服务员ID进入酒水消费表
parameters.ParamByName( 'Ht10 ').Value:=factpay2;
parameters.ParamByName( 'Ht11 ').Value:=mdcid;
parameters.ParamByName( 'Ht12 ').Value:=strtofloat(edt_cuzk.Text);
execsql;