Delphi Personal で ADO

パラメータクエリー


procedure TForm1.Button18Click(Sender: TObject);
var
cnn :Variant;//Connection
cmd: Variant;//Command
rs: Variant;//Recordset
sql: string;
begin
//表示用コントロールをクリア
ListBox1.Items.Clear;
ListBox2.Items.Clear;

cnn := CreateOleObject('ADODB.Connection');

//Edit3 に mdbファイル名を入力
cnn.ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=' + Edit3.Text + ';';
cnn.Open;

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

cmd := CreateOleObject('ADODB.Command');
cmd.ActiveConnection := cnn;
cmd.CommandText := sql;

//Edit1, Edit2 に 値を入力
cmd.Parameters('KeyValue') := Edit1.Text;
cmd.Parameters('DataValue') := Edit2.Text;
cmd.Execute;

//Edit4 に テーブル名を入力
sql := 'SELECT * FROM ' + Edit4.Text + ' '
+ 'WHERE ' + Edit5.Text + ' = KeyValue';
cmd.CommandText := sql;

//Edit1 に 値を入力
cmd.Parameters('KeyValue') := Edit1.Text;
rs := cmd.Execute(sql);

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;

cnn.Close;
end;