請大家幫我看一下問題出在哪兒? |
尚未結案
|
Elaine1981
一般會員 發表:18 回覆:21 積分:7 註冊:2004-08-21 發送簡訊給我 |
我要將資料庫的值傳給Combobox,以下是程式片段:
=============
Unit1的程式:
=============
procedure TForm1.FormShow(Sender: TObject);
var
sSQL: String;
FObj: TOrder;
iDx: Integer;
sStr: String;
sSQL2: String;
begin
sSQL:= 'select t1.LastName t1.FirstName "EmployeeName",t2.* from Employees t1,Orders t2 where t1.EmployeeID = t2.EmployeeID Order by t2.EmployeeID,t2.OrderID';
dtmMain.OpenQuery(sSQL);
sSQL2:= 'select EmployeeID,LastName,FirstName from Employees';
dtmMain.OpenQuery2(sSQL2);
FObj:= FObj.Create;
dtmMain.getValue(FObj);
for iDx:= 0 to dtmMain.Query2.RecordCount - 1 do begin
sStr:= IntToStr(FObj.EmployeeID) ' ' FObj.EName;
ComboBox1.Items.AddObject(sStr, FObj);
dtmMain.Query2.Next;
end;
FObj.Free;
end;
=============
Unit2的程式:
=============
procedure TdtmMain.getValue(FObj: TOrder);
begin
FObj.EmployeeID:= Query2.FieldbyName('EmployeeID').AsInteger;
FObj.EName:= Query2.FieldbyName('LastName').AsString
Query2.FieldbyName('FirstName').AsString;
end; procedure TdtmMain.OpenQuery(sSQL: String);
begin
Query1.Close;
Query1.SQL.Text:= sSQL;
Query1.Open;
end; procedure TdtmMain.OpenQuery2(sSQL2: String);
begin
Query2.SQL.Text:= sSQL2;
Query2.Open;
end;
=============
Unit3的程式:
=============
unit Unit3; interface type
TOrder = class
public
EmployeeID: Integer;
EName: String;
end;
implementation end.
===============
錯誤訊息:
==============
Query2:Field'EmployeeID' not Found.
[Warning] Unit1.pas(58): Variable 'FObj' might not have been initialized
=============
可是我明明就有'EmployeeID'這個欄位呀,請問要怎麼解決呢?謝謝!^^
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |