ForNext
Only Do What Only You Can Do
22. パラメータクエリー
VBScript
JScript
Perl
PHP
Python
Ruby
PowerShell
Scala
F#
C
C++
C++Builder
更新日 : 2005.12.13
void __fastcall TForm1::Button18Click(TObject *Sender) { //表示用コントロールをクリア ListBox1->Items->Clear(); ListBox2->Items->Clear(); Variant cn = Variant::CreateObject("ADODB.Connection"); //Edit3 に mdbファイル名を入力 cn.Exec(PropertySet("ConnectionString")<<"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Edit3->Text + ";"); cn.Exec(Procedure("Open")); //Edit4 に テーブル名を入力 //Edit5, Edit6 に フィールド名を入力 AnsiString sql = "UPDATE " + Edit4->Text + " " + "SET " + Edit6->Text + " = DataValue " + "WHERE " + Edit5->Text + " = KeyValue "; Variant cmd = Variant::CreateObject("ADODB.Command"); cmd.Exec(PropertySet("ActiveConnection")<<cn); cmd.Exec(PropertySet("CommandText")<<sql); //Edit1, Edit2 に 値を入力 cmd.Exec(PropertyGet("Parameters")<<"KeyValue").Exec(PropertySet("Value")<<(Edit1->Text)); cmd.Exec(PropertyGet("Parameters")<<"DataValue").Exec(PropertySet("Value")<<(Edit2->Text)); cmd.Exec(Procedure("Execute")); //Edit4 に テーブル名を入力 //Edit5 に フィールド名を入力 sql = "SELECT * FROM " + Edit4->Text + " " + "WHERE " + Edit5->Text + " = KeyValue"; cmd.Exec(PropertySet("CommandText")<<sql); //Edit1 に Key値を入力 cmd.Exec(PropertyGet("Parameters")<<"KeyValue").Exec(PropertySet("Value")<<(Edit1->Text)); Variant rs = cmd.Exec(Function("Execute")); while (!rs.Exec(PropertyGet("EOF"))) { //表示用コントロールに項目内容をセット Variant fd = rs.Exec(PropertyGet("Fields")<<0); ListBox1->Items->Add(fd.Exec(PropertyGet("Value"))); fd = rs.Exec(PropertyGet("Fields")<<1); ListBox2->Items->Add(fd.Exec(PropertyGet("Value"))); rs.Exec(Function("MoveNext")); } cn.Exec(Procedure("Close")); }
VC++
C#
Java
Objective-C
D
VB
VB.NET
Delphi
更新日 : 2005.12.13
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;