ただし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 件のコメント:
コメントを投稿