ただしDelphiだとある一定以上のエディションでなければ接続できないPostgreSQLへLazarusだと難なく接続可能
●コンポーネント配置
- PQConnectionを配置、プロパティを適切に設定
- SQLQueryを配置、プロパティのSQLを記述
- Transactionを配置
- ロードアクション用のボタンを配置
- StringGridを配置
●ボタンのクリックイベントへ下記のコードを記述
procedure TForm1.Button1Click(Sender: TObject);
var
row:integer;
begin
// グリッド幅調整
self.StringGrid1.ColWidths[2]:=200;
self.StringGrid1.ColWidths[3]:=200;
// SQLを実行して結果を読み込みグリッドへ追加
try
self.SQLQuery1.Open;
// 件数を取得してグリッドを広げる
self.SQLQuery1.Last;
self.StringGrid1.RowCount:= self.SQLQuery1.RecordCount+1;
// 先頭に戻して読み込み開始
self.SQLQuery1.First;
row:=1;
while self.SQLQuery1.EOF=FALSE do
begin
self.StringGrid1.Cells[1,row]:=self.SQLQuery1.FieldByName('商品コード').AsString;
self.StringGrid1.Cells[2,row]:=self.SQLQuery1.FieldByName('商品名1').AsString;
self.StringGrid1.Cells[3,row]:=self.SQLQuery1.FieldByName('商品名2_1').AsString;
self.SQLQuery1.Next;
inc(row);
end;
finally
self.SQLQuery1.Close;
end;
end;
DBGridを利用すればこういった記述すら不要になる
とは言いつつ実際にはコードが必要になる場合も多々あるので一応テストがてら書いてみた
0 件のコメント:
コメントを投稿