Z
zzktcs
Unregistered / Unconfirmed
GUEST, unregistred user!
我在远程数据模块Dmmain中定义一个Database(db),在另一个公共单元中引用该Database,如下所示,可远程模块中一调用Tlogin.getinfo便出错,出错在引用DB上,在引用不知如何解决,无法继续。
procedure Tlogin.GetInfo;
var
qr: TQuery;
begin
qr := TQuery.Create(nil);
try
qr.DatabaseName := DMMain.DB.DatabaseName;
qr.SQL.Clear;
qr.SQL.Add('select a.DUTY_OFFICE_CODE,a.DUTY_OFFICE_NAME,');
qr.SQL.Add('a.duty_abbr,');
qr.SQL.Add('a.PARENT_CODE,a.DUTY_OFFICE_TEL,a.GRADE,');
qr.SQL.Add('nvl(a.IF_DIRECTLY_UNDER,''0'') IF_DIRECTLY_UNDER,a.AREA_FLAG, ');
qr.SQL.Add('a.DUTY_OFFICE_ADDR,b.DEPT_CODE,b.DEPT_NAME,');
qr.SQL.Add('b.DEPT_KIND,b.REMARK dREMARK,');
qr.SQL.add('b.dept_abbr,');
qr.SQL.Add('c.STAFF_CODE,c.STAFF_NAME,c.GENDER,c.IDCD_NUM,');
qr.SQL.Add('c.ADDR,c.TEL,c.JOB_TIME,c.STS,c.STS_TIME,');
qr.SQL.Add('c.REMARK sREMARK,a.AREA_TYPE ');
qr.SQL.Add('from Area_Code a,Work_Area b,Staff_member c');
qr.SQL.Add('where c.DUTY_OFFICE_CODE=:code1');
qr.SQL.Add('and c.Staff_Code=:code2');
qr.SQL.Add('and a.DUTY_OFFICE_CODE=c.DUTY_OFFICE_CODE');
qr.SQL.Add('and b.DUTY_OFFICE_CODE=c.DUTY_OFFICE_CODE');
qr.SQL.Add('and b.DEPT_CODE=c.DEPT_CODE');
qr.ParamByName('code1').AsString := Me.DUTY_OFFICE_CODE;
qr.ParamByName('code2').AsString := LoginCode;
qr.Prepare;
qr.Open;
if qr.IsEmpty then
Exception.Create('该员工不存在');
//单位信息
DUTY_OFFICE_CODE := qr.FieldByName('DUTY_OFFICE_CODE').AsString;
DUTY_OFFICE_NAME := qr.FieldByName('DUTY_OFFICE_NAME').AsString;
PARENT_CODE := qr.FieldByName('PARENT_CODE').AsString;
DUTY_OFFICE_TEL := qr.FieldByName('DUTY_OFFICE_TEL').AsString;
DUTY_OFFICE_ADDR := qr.FieldByName('DUTY_OFFICE_ADDR').AsString;
GRADE := qr.FieldByName('GRADE').AsString;
//部门信息
DEPT_CODE := qr.FieldByName('DEPT_CODE').AsString;
DEPT_NAME := qr.FieldByName('DEPT_NAME').AsString;
//员工信息
STAFF_CODE := qr.FieldByName('STAFF_CODE').AsString;
STAFF_NAME := qr.FieldByName('STAFF_NAME').AsString;
TEL := qr.FieldByName('TEL').AsString;
finally
qr.Free;
end;
end;
procedure Tlogin.GetInfo;
var
qr: TQuery;
begin
qr := TQuery.Create(nil);
try
qr.DatabaseName := DMMain.DB.DatabaseName;
qr.SQL.Clear;
qr.SQL.Add('select a.DUTY_OFFICE_CODE,a.DUTY_OFFICE_NAME,');
qr.SQL.Add('a.duty_abbr,');
qr.SQL.Add('a.PARENT_CODE,a.DUTY_OFFICE_TEL,a.GRADE,');
qr.SQL.Add('nvl(a.IF_DIRECTLY_UNDER,''0'') IF_DIRECTLY_UNDER,a.AREA_FLAG, ');
qr.SQL.Add('a.DUTY_OFFICE_ADDR,b.DEPT_CODE,b.DEPT_NAME,');
qr.SQL.Add('b.DEPT_KIND,b.REMARK dREMARK,');
qr.SQL.add('b.dept_abbr,');
qr.SQL.Add('c.STAFF_CODE,c.STAFF_NAME,c.GENDER,c.IDCD_NUM,');
qr.SQL.Add('c.ADDR,c.TEL,c.JOB_TIME,c.STS,c.STS_TIME,');
qr.SQL.Add('c.REMARK sREMARK,a.AREA_TYPE ');
qr.SQL.Add('from Area_Code a,Work_Area b,Staff_member c');
qr.SQL.Add('where c.DUTY_OFFICE_CODE=:code1');
qr.SQL.Add('and c.Staff_Code=:code2');
qr.SQL.Add('and a.DUTY_OFFICE_CODE=c.DUTY_OFFICE_CODE');
qr.SQL.Add('and b.DUTY_OFFICE_CODE=c.DUTY_OFFICE_CODE');
qr.SQL.Add('and b.DEPT_CODE=c.DEPT_CODE');
qr.ParamByName('code1').AsString := Me.DUTY_OFFICE_CODE;
qr.ParamByName('code2').AsString := LoginCode;
qr.Prepare;
qr.Open;
if qr.IsEmpty then
Exception.Create('该员工不存在');
//单位信息
DUTY_OFFICE_CODE := qr.FieldByName('DUTY_OFFICE_CODE').AsString;
DUTY_OFFICE_NAME := qr.FieldByName('DUTY_OFFICE_NAME').AsString;
PARENT_CODE := qr.FieldByName('PARENT_CODE').AsString;
DUTY_OFFICE_TEL := qr.FieldByName('DUTY_OFFICE_TEL').AsString;
DUTY_OFFICE_ADDR := qr.FieldByName('DUTY_OFFICE_ADDR').AsString;
GRADE := qr.FieldByName('GRADE').AsString;
//部门信息
DEPT_CODE := qr.FieldByName('DEPT_CODE').AsString;
DEPT_NAME := qr.FieldByName('DEPT_NAME').AsString;
//员工信息
STAFF_CODE := qr.FieldByName('STAFF_CODE').AsString;
STAFF_NAME := qr.FieldByName('STAFF_NAME').AsString;
TEL := qr.FieldByName('TEL').AsString;
finally
qr.Free;
end;
end;