新手问题,希望能给予解答?函数的问题,在线等待!!!!
gwly 2004-03-06 10:41:23 我建了UNIT,名字叫FUNTAXLOG,我在函数里写了这些代码?
unit funTaxLog;
interface
uses
sysutils,dialogs;
function Usern(var l_userno:string;l_operevent:string;l_operdes:string):string;
implementation
uses TaxLog,f_taxlog;
//Ftaxlog.usern(a):boolean;
function Usern(var l_userno:string;l_operevent:string;l_operdes:string):string;
var
ls_userno,ls_username,ls_operevent,ls_operatime,ls_operename,ls_operdes : string;
dt_operatime : TDateTime ;
begin
ls_userno := l_Userno;
dt_operatime := Now();
ls_operevent := l_operevent;
//TaxLog.frmLogFile.ADOQuery_log
// f_taxlog.f_log.ADOConnection1.
f_taxlog.f_log.ADOQuery1.Close;
f_taxlog.f_log.ADOQuery1.SQL.Clear;
f_taxlog.f_log.ADOQuery1.SQL.Text:='select UserName from Tb_UserPassword where userno = '''+ls_userno+ ''' ';
f_taxlog.f_log.ADOQuery1.Open;
f_taxlog.f_log.ADOQuery1.First;
ls_username := f_taxlog.f_log.ADOQuery1.FieldByName('UserName').AsString;
if ls_operevent = '1' then
ls_operename := '制卡' ;
if ls_operevent = '2' then
ls_operename := '卖发票';
if ls_operevent = '3' then
ls_operename := '申报' ;
ls_operatime := datetimeTostr(dt_operatime);
ls_operdes := ls_username + '在'+ ls_operatime + '进行了' + l_operdes + '操作' ;
try
f_taxlog.f_log.ADOQuery2.Close;
f_taxlog.f_log.ADOQuery2.SQL.Clear();
f_taxlog.f_log.ADOQuery2.SQL.Text := 'insert into tb_taxlog(UserNo,OperaTime,Operevent,Operdes)';
f_taxlog.f_log.ADOQuery2.SQL.Text := TaxLog.frmLogFile.ADOQuery2.SQL.Text + 'values('''+ls_userno+''','''+ls_operatime+''','''+ls_operevent+''','''+ls_operdes+''')';
f_taxlog.f_log.ADOQuery2.ExecSQL();
ShowMessage('写日志成功!');
except
ShowMessage('写日志失败!');
end;
end;
end.
上面的ADOQuery,我放到FROM里,里面我放了一个ADOConnection1,和上面用到的两个ADOQuery,我在运行中查询的时候这段会提示Tb_UserPassword 对象名无效。可是我把这段SQL放到SQL SERVER里能查询出数据来啊,请问,我这个函数错在什么地方呢?
f_taxlog.f_log.ADOQuery1.Close;
f_taxlog.f_log.ADOQuery1.SQL.Clear;
f_taxlog.f_log.ADOQuery1.SQL.Text:='select UserName from Tb_UserPassword where userno = '''+ls_userno+ ''' ';
f_taxlog.f_log.ADOQuery1.Open;
f_taxlog.f_log.ADOQuery1.First;