我发现别人的自定义函数没有指定参数类型,而我建立的必须写上参数类型functoin cardpay(cardid,paymoney)
var fun_sql : string;
begin
fun_sql='update card set cardmoney=cardmoney-'+paymoney+' where cardid='+cardid+''
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add(fun_sql);
ADOQuery1.Open;
end上面代码总是报错。
var fun_sql : string;
begin
fun_sql='update card set cardmoney=cardmoney-'+paymoney+' where cardid='+cardid+''
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add(fun_sql);
ADOQuery1.Open;
end上面代码总是报错。
另:执行Update语句,没有返回值,应用ExecSql代替Open
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add(fun_sql);
ADOQuery1.Open;
红色部分:
第一,要检查类型是否错误
第二,最好加个括号
蓝色部分:
改成ADOQuery1.ExecSQL;
[Error] uPulicFun.pas(11):missing parameter type
另:
paymoney 就整数
undeclared identifier: 'inttostr' inttostr是delhpi 自带函数呀?
才发现你这儿还有错误
functoin cardpay(cardid,paymoney:integer);
functoin cardpay(cardid,paymoney:integer):integer;
procedure cardpay(cardid,paymoney:integer);