下面是我的工作代码。但是,我没有接受名称、值和SqlParameter的SqlDbType构造函数,我只想提供日期参数的类型。有没有一种不需要添加大量代码的方法?
SqlParameter[] parameters =
{
new SqlParameter("@START_ORDER", startOrder),
new SqlParameter("@END_ORDER", endOrder),
new SqlParameter("@START_ITEM", startItem),
new SqlParameter("@END_ITEM", endItem),
new SqlParameter("@START_DUEDATE", dateFrom),
new SqlParameter("@END_DUEDATE", dateTo)
};发布于 2015-05-18 21:10:29
new SqlParameter("@name", SqlDbType.Whatever) { Value = value }有些构造函数过载采用各种参数,但它们可能不值得为指定每个参数而费劲。上面的内容可能是最简单的。
(请注意,在某些情况下,您可能希望设置SqlValue而不是Value。)
发布于 2015-05-18 21:13:32
如果您正在执行大量的手动ADO.NET,一个很好的替代方法可能是将一些帮助程序构建到一个基类或实用程序类中,这也有助于确保您正在传递正确的类型:
public static SqlParameter CreateStringParam(string paramName,
int length, string value) {}
public static SqlParameter CreateIntParam(string paramName,
int? value) {}
// etc...通过将null转换为DBNull.Value,并确保您记住字符串和数字的参数大小,这些帮助程序可以帮助您解决问题。
最多只能构建十几个数据类型,但更有可能的是您只使用了少数几个数据类型,所以您不需要这些类型中的很多。
https://stackoverflow.com/questions/30312834
复制相似问题