私はVS2010Net Framework3.5とMySQL5.1をC#で使用しています
基本的に、さまざまなタイプ(int、string、booleanなど)のパラメーターがいくつかあり、それらを入力変数としてMySQLパラメーターに送信する必要があります。
私のアプリの最後のレイヤーはこれを行っています:
public Boolean ExecuteProcedure(string ProcedureName, List<SqlParameter> ParameterCollection) {
Command.CommandType = CommandType.StoredProcedure;
Command.CommandText = ProcedureName;
Command.Parameters.AddRange(ParameterCollection.ToArray<SqlParameter>());
Command.ExecuteNonQuery();
(... etc etc)
したがって、基本的には、前のレイヤーですべてのデータをSQLパラメーターのリストに変換する必要があります。
私の質問は次のとおりです。
- これはいい考えですか?たぶん私は別の種類のオブジェクトをExecuteProcedure関数に送信しましたか?
- 異なる種類の変数をSQLParameterに変換するためのより良い方法はどれですか?
- この種のプログラミングの使用にはどのような制限がありますか?
アップデート:
私の質問は、レイヤー間の通信に関連しています。たとえば、前のレイヤーは...
List<SqlParameter> INParameters = new List<SqlParameter>();
INParameters.Add(new SqlParameter("error_code",error_code));
INParameters.Add(new SqlParameter("error_description",error_description));
SysDB.ExecuteProcedure("sys_log_insert_error", INParameters);
これはこれを行うための良い方法ですか?
よろしくお願いします。