2009年5月29日

Delphi 取出資料庫欄位值的方法

在 Form 上放入 TMemo 和 TQuery
在 Form Create 事件中加入

procedure TForm1.FormCreate(Sender: TObject);
var
Index: Integer;
begin
with Query1, Memo1 do
begin
Lines.Clear;
DatabaseName := 'DBDEMOS';
SQL.Clear;
SQL.Add('SELECT NAME, CAPITAL, CONTINENT, AREA, POPULATION');
SQL.Add(' FROM COUNTRY');
SQL.Add(' WHERE NAME = ' + QuotedStr('Argentina'));
Active := True;
// 列出所有欄位名稱
Lines.Add('-- List Field Name --');
Lines.AddStrings(FieldList);
if IsEmpty then
Exit;
Lines.Add('-- Get Field Value --');
while not Eof do
begin
// 以 field name 取出值
Lines.Add(VarToStr(FieldByName('NAME').AsVariant));
Lines.Add(VarToStr(FindField('CAPITAL').AsVariant));
Lines.Add(VarToStr(FindField('CONTINENT').AsVariant));
Lines.Add(VarToStr(FieldValues['AREA']));
//
// 以 field index 取出 POPULATION 值
Index := FieldList.IndexOf('POPULATION');
Lines.Add(VarToStr(Fields[Index].AsVariant));
Lines.Add(VarToStr(FieldList[Index].AsVariant));
Next;
end;
end;
end;
{
-- List Field Name --
NAME
CAPITAL
CONTINENT
AREA
POPULATION
-- Get Field Value --
Argentina
Buenos Aires
South America
2777815
32300003
32300003
}

沒有留言:

網誌存檔