小编xMe*_*orx的帖子

如果其中一个查询失败,存储过程会失败吗?

假设我有一个带有SELECT, INSERTandUPDATE语句的存储过程。

事务块内没有任何内容。也没有Try/Catch块。我也XACT_ABORT设置为OFF。

如果INSERT失败了,还有可能UPDATE继续发生吗?

INSERT失败的原因是因为我将空值传递给不允许这样做的列。我只能访问程序抛出的调用存储过程的异常,据我所知,它没有任何严重性级别。

sql sql-server stored-procedures

3
推荐指数
1
解决办法
5500
查看次数

将 int 数组传递给存储过程的表值参数 - 转换失败

我有一个接受表值参数的存储过程。我想将 int 数组传递给它,但现在我收到此错误:

无法将参数值从 Object[] 转换为 IEnumerable`1。

我的代码:

int[] orderIds; //int array which contains 0 or more values

List<SqlParameter> queryList = new List<SqlParameter>
     {
        new SqlParameter("@companyId", SqlDbType.Int) {Value = companyId}, 
        new SqlParameter("@marketplaceId", SqlDbType.Int) {Value = marketplaceId}, 
        new SqlParameter("@marketlocalId", SqlDbType.Int) {Value = marketLocal}, 
        new SqlParameter("@storeId", SqlDbType.Int) {Value = storeId}
     };

if (orderIds != null)
{
     queryList.Add(new SqlParameter("@OrderIdsSpecified", SqlDbType.Bit) {Value = 1});
     // converting int array to object array 
     queryList.Add(new SqlParameter("@OrderIds", SqlDbType.Structured) {Value = orderIds.Select(orderId => (object)orderId).ToArray() }); 
}

using (SqlDataReader reader …
Run Code Online (Sandbox Code Playgroud)

c# sql stored-procedures table-valued-parameters

2
推荐指数
1
解决办法
2315
查看次数