Delphi Personal で DAO

パラメータクエリー


procedure TForm1.Button18Click(Sender: TObject);
var
de:Variant;//DBEngine
db:Variant;//Database
qd:Variant;//QueryDef
rs:Variant;//Recordset
const
dbOpenForwardOnly:Integer = 8;
begin
//表示用コントロールをクリア
ListBox1.Items.Clear;
ListBox2.Items.Clear;

de := CreateOleObject('DAO.DBEngine.36');

//Edit3 に mdbファイル名を入力
db := de.OpenDatabase(Edit3.Text,false, false);
qd := db.CreateQueryDef('');

//Edit4 に テーブル名を入力
//Edit5, Edit6 に フィールド名を入力
qd.Sql := 'UPDATE ' + Edit4.Text + ' '
+ 'SET ' + Edit6.Text + ' = DataValue '
+ 'WHERE ' + Edit5.Text + ' = KeyValue';

//Edit1, Edit2 に 値を入力
qd.Parameters['KeyValue'] := Edit1.Text;
qd.Parameters['DataValue'] := Edit2.Text;
qd.Execute;

qd.Sql := 'SELECT * FROM ' + Edit4.Text + ' WHERE ' + Edit5.Text + ' = KeyValue';
qd.Parameters['KeyValue'] := Edit1.Text;
rs := qd.OpenRecordset(dbOpenForwardOnly);
while not rs.EOF do
begin
//表示用コントロールに項目内容をセット
ListBox1.Items.Add(rs.Fields[0].Value);
ListBox2.Items.Add(rs.Fields[1].Value);

rs.MoveNext;
end;

rs.Close;
qd.Close;
db.Close;
end;