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; //プログラムを終了する