接続文字列でクエリの代わりにストアドプロシージャを使用する方法。あなたは私にコーディングを提案できますか?例を含むストアドプロシージャの使用
0
A
答えて
0
sqlコマンド(この場合はストアドプロシージャの呼び出し)を定義してからデータベースに接続し、クエリを送信して結果を受け取る必要があります。
その後、接続を閉じることを忘れないでください!
良いチュートリアルはcsharp-stationでオンラインです。
私はあなたがより詳細な質問がある場合だけで戻ってくると聞いて、ここでは全体の手順を記述することはできません - それはあなたが
string spName = "stored_proc_name";
string idParameterValue = "someId";
using (SqlConnection connection = new SqlConnection(ConnectionString))
{
using (SqlCommand command = new SqlCommand(spName, connection))
{
command.CommandType = CommandType.StoredProcedure;
command.Parameters.Add(new SqlParameter("@Id", idParameterValue));
connection.Open();
IDbDataAdapter da = new SqlDataAdapter();
da.SelectCommand = command;
// (*) Put here a code block of the actual SP execution logic
// There are different ways of SP execution and it depends on
// return result set type, see below
}
}
(*)を行くStackOverflowのはここ:)
2
のためにあるものです適切なアプローチを選択:DataSetの設定
保存出力結果を
// Store output result set in the DataSet DataSet ds = ExecuteQuery(da);
またはストアドプロシージャの戻り値として単一の整数読んで(ないOUT PARAMを!)場合
IDataReader reader = command.ExecuteReader(); if (reader != null && reader.Read()) { retValue = (reader.GetInt32(returnParamName)); }
ストアドプロシージャは何も返さない
bool successfull = cmd.ExecuteNonQuery() == 1;
ヘルパーメソッド
のprivate static DataSet ExecuteQuery(IDataAdapter da)
{
DataSet ds = new DataSet("rawData");
da.Fill(ds);
ds.Tables[0].TableName = "row";
foreach (DataColumn c in ds.Tables[0].Columns)
{
c.ColumnMapping = MappingType.Attribute;
}
return ds;
}
public static class DataReaderExtensions
{
public static Int32 GetInt32(this IDataReader rdr, string fieldName)
{
int ordinal = rdr.GetOrdinal(fieldName);
return !rdr.IsDBNull(ordinal) ? rdr.GetInt32(ordinal) : Int32.MinValue;
}
}
便利なリンク:
+0
「使用中」でラップされているときに接続を閉じる必要はありません –
+0
右を削除します。 – sll
関連する問題
- 1. オプションのパラメータを含むストアドプロシージャの挿入を使用する
- 2. caseステートメント、サブクエリーを含むストアドプロシージャ
- 3. xmlデータを含むストアドプロシージャ
- 4. TableValueParameterを含むDapperストアドプロシージャ
- 5. レポートにパラメータを含むストアドプロシージャを使用する
- 6. FROM句のパラメータを含むストアドプロシージャ
- 7. AWS:Boto3:役割の使用を含むAssumeRoleの例
- 8. MariaDBパラメータを含むストアドプロシージャを挿入
- 9. 結果に複数のテーブルを含むストアドプロシージャを使用したSilverlight LOBアプリケーション
- 10. 例とチュートリアルを含むハッシュフォールバックライブラリを使用したHTML5プッシュステート
- 11. Web Api Odataを使用してパラメータを含むストアドプロシージャを呼び出す
- 12. C#グラフコントロールはパラメータを含むストアドプロシージャを使用して設定します
- 13. 例を含むJavaScriptモジュールパターン
- 14. 例外を含むコードbbcode
- 15. 例外を含むPHPリストファイル
- 16. 一時テーブルを含むストアドプロシージャを使用するBIISを使用したSSISパッケージの生成
- 17. SAT4J含意使用例
- 18. 例を含むPythonキーワードの説明
- 19. SessionIdを含むSonos Soap Envelopeの例
- 20. Htaccess 301例外を含むサブフォルダのリダイレクト
- 21. 例外を含むis_valid()の拡張
- 22. ペアプロットを含む凡例の位置r
- 23. 例外を含むSQLクエリの注文
- 24. Tensorflowバイナリファイルのカスタムトレーニング例を含むオートエンコーダー
- 25. ファイルリストを含むPandasのread_tableの使用
- 26. 複数のバッチを含むSQL Serverストアドプロシージャ - 一時テーブルの再利用
- 27. Eager Loading使用の問題を含む
- 28. 入力パラメータと出力パラメータの両方を含むストアドプロシージャ
- 29. 複数のSELECTおよびレポートサービスを含むストアドプロシージャ
- 30. ストアドプロシージャここでは多くのパラメータを含むステートメント
*の代わりに、接続文字列での問合せ*私はあなたが接続文字列は、他の目的ではなく、照会のために知っている願っています。実際の質問を定式化するのに時間をかけてください。 – V4Vendetta