Delphi ADO プログラミング
久々にSQL Serverをアクセスするプログラムを作成したところ、すっかりメソッドやプロパティを忘れてました。
よく使うメソッド、プロパティ、イベントをメモっておきます。
SQL Serverを使っている関係かもしれませんが、ほとんどDelphiではSQL文を書かないようにして、データの追加、修正、削除ともストアドを使っています。
SQL Serverには、マネージメントスタジオという非常に便利なツールがあるため、プログラムで表示したり、処理(追加、削除、修正)したい
内容はこのツールでテストして、ストアドとして登録してしまいます。
あとは、Delphiでストアドを実行するソースを書くだけ。
前もってストアドでテストしているため、応答時間や表示内容等の重要な部分はクリアしているので、結構スムースにプログラミングが仕上がります。
たまに、応答時間が悪くなったりしたときは、ストアドだけチューニングして、Delphiの修正は行わないで対応できたりして、結構このパターンが気に入っています。
で、よく使うメソッド等はストアド関係ばかりとなるわけです。
◆メソッド ADOStoredProc1.Open; //結果を返すストアドを実行する。実行結果はデータセットとして参照可能。 ADOStoredProc1.ExecProc; //サーバのストアドを呼び出す。 ADOStoredProc1.Close; //データセットを閉じる ADOStoredProc1.Parameters.Refresh; //パラメータを初期化する。 ADOStoredProc1.Edit; //現在のレコードを編集状態にする ADOStoredProc1.Post; //変更されたレコードをデータベースまたは変更ログに書き込む DBGrid1.SetFocus; //グリッドにフォーカスをセットする ◆プロパティ ADOStoredProc1.ProcedureName :='q01注文金額合計'; //ストアド名を設定する ADOStoredProc1.RecordCount //レコード数 ADOStoredProc1.RecNo //現在のレコードカウント ADOStoredProc1['フィールド名'] //フィールドの値 ADOStoredProc1.Filter :='フィールド名=' + IntToStr(ADOStoredProc1['コード']); //フィルタの値 ADOStoredProc1.Filtered:=true; //フィルタを適用する ADOStoredProc1.Parameters.ParamByName('@社員番号').Value := 1000; //パラメータのセット DBGrid3.Columns[1].Visible:=false; //カラムを非表示にする ◆イベント ADOStoredProc1AfterScroll //行移動後 DBGrid1DblClick //ダブルクリック ◆おまけ showmessage('テスト'); //メッセージを表示する application.Terminate; //プログラムを終了する