TADOQueryのSQLでデータを抽出して、TStringGridに吐き出す
方法がわかりません(><)
わかる人いますかぁ??
超初心者発言かしら(--;)
TDBGridを使うのなら、
TADOQuery -> TDataSource -> TDBGrid
で表示します。
TDataSourceのDataSetをADOQuery
TDBGridのDataSourceを指定します。
TADOQueryのActiveをTrueにすると表示します。
TStringGridなら、
列毎に
StringGrid1.Cells[ACol, ARow] := ADOQuery1.Fields[1].asString;
でレコードセットの終わりまで表示します。
Hotaさんへ
StringGrid1.Cells[ACol, ARow] := ADOQuery1.Fields[1].asString;
のFields[1]はテーブルのどの部分を指すのですか??
TDatasetにあるTFielsです。
TADOQueryはTDataSetから派生しています。
DelphiのHelpは少々解りにくいですが、
調べてみましょう。
解らない場合にまた質問して下さい。
もう終わってますか?
私は、TADODataSetを常用しています。
DBGridは使ったこと無いのでわかりませんが
StringGridを使用しています。
Fields[].asStringでは後で分かり辛いので
FieldByName['フィールド名'].saStringを使っています。
//---------------------------------------------------//
ADODataSet.CommandText := 'SQL文';
ADODataSet.Active := True;
If ADODataSet.Recordset.RecordCount > 0 then
begin
for i := 0 to ADODataSet.RecordCount - 1 do
begin
StringGrid1.Cells[0,i+1] := IntToStr(ADODataSet.FieldByName('コード').asInteger);
StringGrid1.Cells[1,i+1] := ADODataSet.FieldByName('名前').AsString;
StringGrid1.RowCount := StringGrid1.RowCount + 1;
end;
end;
ADODataSet.Close;
StringGrid1.RowCount := StringGrid1.RowCount - 1;
//-----------------------------------------------------//
ツイート | ![]() |