创建具有内联 SqlDataType、Size AND 值的 Data.SqlClient.SqlParameter



我有一个函数,可以接受许多SqlParameter对象:

Public Shared Function RunSQL(sqlInput As String, Optional params As Data.SqlClient.SqlParameter() = Nothing) As String

目标基本上是能够根据需要调用函数并根据需要创建参数。

不幸的是,似乎没有任何可用的构造函数允许我指定ValueSqlDbType,而无需添加大量其他参数(我也不需要)。

期望的结果是这样的:

Dim myStr As String = RunSQL("spMyStoredProc", {New Data.SqlClient.SqlParameter("@FieldName", Data.SqlDbType.NVarChar, 50, "MyValue")})

显然,由于不存在这方面的构造函数,我的问题基本上是问是否有任何解决方法,就像在任何替代方案中一样,等等,同时仍然允许在函数调用中声明参数的便利性?

我宁愿不必事先声明所有参数来设置 Value 属性。

首先,您的代码进行编译,但最后一个参数不是值,而是源列名称。

但是您可以使用 With 语句来分配Value

Dim myStr As String = RunSQL("spMyStoredProc",
{
    New Data.SqlClient.SqlParameter("@FieldName", Data.SqlDbType.NVarChar, 50) With {.Value = "MyValue"}
})

请参见: 对象初始值设定项

最新更新