首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >调用具有多个参数的存储过程的最佳代码是什么

调用具有多个参数的存储过程的最佳代码是什么
EN

Stack Overflow用户
提问于 2009-07-01 08:37:34
回答 4查看 483关注 0票数 0

我已经意识到我有一个非常大的方法,它创建SqlParameter对象并将它们添加到SqlCommand (cmd)中。例如:

代码语言:javascript
运行
复制
SqlParameter itemType = new SqlParameter
{
    ParameterName = "ItemType",
    Direction = ParameterDirection.Input,
    SqlDbType = SqlDbType.Int,
    Value = (int)item.ItemType
};

cmd.Parameters.Add(itemType);

按照设计,存储过程有许多参数,并且设计不能更改。

我不喜欢用几页代码来创建参数。这很难阅读/支持。当然,我可以在这里使用区域,但问题是关于代码。

你有什么想法可以改进我的代码吗?

目前,我在这里只看到一种方法:我需要使用自定义属性来为每个项目属性指定参数名称、方向和数据库类型。在这种情况下,我需要使用反射,我不确定这是不是最好的选择。

你是这么想的?

谢谢。

EN

Stack Overflow用户

回答已采纳

发布于 2009-07-01 16:51:37

另一种方法是使SqlCommand成为类的成员字段,并使用成员方法对其进行初始化。

这类似于Visual Studio在创建组件,然后将SqlCommand拖到设计图面上时生成的代码。如果使用参数化查询或带参数的存储过程配置SqlCommand,则它将生成代码来创建SqlParameter对象并将它们添加到parameters属性中。

要在稍后的代码中使用此SqlCommand,您将执行以下操作:

代码语言:javascript
运行
复制
m_Command.Parameters["@ParamName"].Value = value;
票数 0
EN
查看全部 4 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1067993

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档