我已经意识到我有一个非常大的方法,它创建SqlParameter对象并将它们添加到SqlCommand (cmd)中。例如:
SqlParameter itemType = new SqlParameter
{
ParameterName = "ItemType",
Direction = ParameterDirection.Input,
SqlDbType = SqlDbType.Int,
Value = (int)item.ItemType
};
cmd.Parameters.Add(itemType);按照设计,存储过程有许多参数,并且设计不能更改。
我不喜欢用几页代码来创建参数。这很难阅读/支持。当然,我可以在这里使用区域,但问题是关于代码。
你有什么想法可以改进我的代码吗?
目前,我在这里只看到一种方法:我需要使用自定义属性来为每个项目属性指定参数名称、方向和数据库类型。在这种情况下,我需要使用反射,我不确定这是不是最好的选择。
你是这么想的?
谢谢。
发布于 2009-07-01 16:51:37
另一种方法是使SqlCommand成为类的成员字段,并使用成员方法对其进行初始化。
这类似于Visual Studio在创建组件,然后将SqlCommand拖到设计图面上时生成的代码。如果使用参数化查询或带参数的存储过程配置SqlCommand,则它将生成代码来创建SqlParameter对象并将它们添加到parameters属性中。
要在稍后的代码中使用此SqlCommand,您将执行以下操作:
m_Command.Parameters["@ParamName"].Value = value;https://stackoverflow.com/questions/1067993
复制相似问题