我正在使用 VS 2010 Net Framework 3.5 和 MySQL 5.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);
这是一个好方法吗?
谢谢和亲切的问候,