function TsellF.changerecord:boolean;
var
Query:TQuery;
begin
try
Query:=TQuery.create(nil);
Query.DatabaseName:=DBName;
Query.SQL.Add('update SellLand set sell=sell+:sell,totalmoney=totalmoney+:totalmoney where outday=:today');
Query.ParamByName('sell').AsFloat :=strtofloat(edit8.Text);
Query.parambyName('totalmoney').asfloat:=strtofloat(edit8.text);
Query.ParamByName('today').AsDatetime:=date;
except
Query.Free ;
Query.Close ;
exit;
end;
Query.ExecSQL ;
Query.Free;
Query.Close ;end;function TsellF.updata:boolean;
var
Query : TQuery;
begin
try
Query := TQuery.Create(nil);
Query.DatabaseName := DBName;
Query.SQL.add('select *from SellLand where outday=:today');
Query.parambyname('today').asdatetime :=date;
Query.open;
if Query.recordcount<>0 then
begin
changerecord;
end
else
begin
insertrecord;
end;
result:=true;
except
result:=false;
Query.Free ;
Query.close;
exit;
end;
Query.Free ;
Query.Close ;
end;function TSellF.insertrecord:boolean;
var
Query : TQuery;
begin
try
Query := TQuery.Create(nil);
Query.DatabaseName := DBName;
Query.SQL.Add('insert into SellLand(sell,Land,Totalmoney,outday)'
+' values(:Sell,:Land,:Totalmoney,:outday)');
Query.ParamByName('sell').Asfloat := strtofloat(edit8.text);
Query.ParamByName('Land').Asfloat:=0;
Query.ParamByName('Totalmoney').Asfloat:=strtofloat(edit8.text);
Query.parambyName('outday').asdate:=date;
Query.ExecSQL;
result:=true;
except
Query.free;
result:=false;
exit;
end;end;
var
Query:TQuery;
begin
try
Query:=TQuery.create(nil);
Query.DatabaseName:=DBName;
Query.SQL.Add('update SellLand set sell=sell+:sell,totalmoney=totalmoney+:totalmoney where outday=:today');
Query.ParamByName('sell').AsFloat :=strtofloat(edit8.Text);
Query.parambyName('totalmoney').asfloat:=strtofloat(edit8.text);
Query.ParamByName('today').AsDatetime:=date;
except
Query.Free ;
Query.Close ;
exit;
end;
Query.ExecSQL ;
Query.Free;
Query.Close ;end;function TsellF.updata:boolean;
var
Query : TQuery;
begin
try
Query := TQuery.Create(nil);
Query.DatabaseName := DBName;
Query.SQL.add('select *from SellLand where outday=:today');
Query.parambyname('today').asdatetime :=date;
Query.open;
if Query.recordcount<>0 then
begin
changerecord;
end
else
begin
insertrecord;
end;
result:=true;
except
result:=false;
Query.Free ;
Query.close;
exit;
end;
Query.Free ;
Query.Close ;
end;function TSellF.insertrecord:boolean;
var
Query : TQuery;
begin
try
Query := TQuery.Create(nil);
Query.DatabaseName := DBName;
Query.SQL.Add('insert into SellLand(sell,Land,Totalmoney,outday)'
+' values(:Sell,:Land,:Totalmoney,:outday)');
Query.ParamByName('sell').Asfloat := strtofloat(edit8.text);
Query.ParamByName('Land').Asfloat:=0;
Query.ParamByName('Totalmoney').Asfloat:=strtofloat(edit8.text);
Query.parambyName('outday').asdate:=date;
Query.ExecSQL;
result:=true;
except
Query.free;
result:=false;
exit;
end;end;
这两句怎么是一个edit
Query.ParamByName('sell').AsFloat :=strtofloat(edit8.Text);
Query.parambyName('totalmoney').asfloat:=strtofloat(edit8.text);
Query.parambyName('outday').asdate:=date;date 这里也有问题呀!
你如果这样改了就改了我的本意了呵
谢谢!!
你的数据库名是DBName?
Query.Free ;
Query.Close ;//对象FREE之后不能调用他的任何方法,因为他已经不存在了,把这两行颠倒
应该放入到function TsellF.updata:boolean;着个函数中吧?
不然你怎么插入和更新啊
还有asdatetime 和你的date不对吧?