ストアド プロシージャを呼び出して戻り値を使用する基本的な方法
著者:Eve Cole
更新時間:2009-05-31 00:08:21
戻り値を使用してストアド プロシージャを参照する良い方法が見つからず、データを追加する際にかなり遠回りしましたが、最近、多くの情報を調べた結果、Microsoft のインスタンスで良い方法を見つけました。
まず戻り値を含むストアド プロシージャを作成します
プロシージャ proc_name を作成します
@para1 nchar(20)、--入力パラメータ
@para2 int = null out --プログラムで使用する出力パラメータ
として
ノーカウントをオンに設定する
if (存在しない ( em_name=@para1の従業員から * を選択))
始める
従業員(名前)の値に挿入(@para1)
select @para2=@@identity -- 追加されたレコードの ID を返します
return 1 -- データが正常に追加されたかどうかを返します。
終わり
それ以外
0 を返す -- 失敗を返す
行く
次に、ストアドプロシージャを呼び出すメソッドがあります。
sqlcommand コマンド。
コマンド = new sqlcommand(proc_name,new sqlconnection(connectionstr));
command.paraments.add("@para1"),"name1"); //入力パラメータ、従業員名
command.paraments.add(new sqlparament("@para2", //出力パラメータを生成する)
SqlDbType.Int; //パラメータのデータ型;
ParameterDirection.OutPut, //入出力タイプ
0、
0、
文字列.空、
DataRowVerstion.Default、
null) //パラメータ値、パラメータを入力するときに必要です
);
command.commandtype=commandtype.StoredProcedure;
command.connection.open();
command.executenonQuery();
int pkid=(int)command.Parameters["@para2"].value; //出力パラメータの値を取得します。
command.connection.close();
戻り値 (データが正常に追加されたかどうか) を参照したい場合は、ParamenterDirection の型を returnvalue に変更してから、パラメーター名を自分で変更するだけです。