public static int MassEmpNumUpdate(string empToUpdateFrom, string empToUpdateTo)
{
string sql;
int retval;
using (cn = new SqlConnection(ConnectionString()))
{
cn.Open();
sql = "uspUpdateDet"; // THIS IS THE 1ST SP
using (cmd = new SqlCommand(sql, cn))
{
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@EmpToUpdateFrom", empToUpdateFrom);
cmd.Parameters.AddWithValue("@EmpToUpdateTo", empToUpdateTo);
cmd.Parameters.Add("@ReturnValue", SqlDbType.Int).Direction = ParameterDirection.ReturnValue;
cmd.ExecuteNonQuery();
retval = (int)cmd.Parameters["@ReturnValue"].Value;
}
if (retval == 0)
{
sql = "uspUpdatePrev"; // THIS IS THE 2ND SP - not working :(
using (cmd = new SqlCommand(sql, cn))
{
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@EmpToUpdateFrom", empToUpdateFrom);
cmd.Parameters.AddWithValue("@EmpToUpdateTo", empToUpdateTo);
cmd.Parameters.Add("@returnvalue", SqlDbType.Int).Direction = ParameterDirection.ReturnValue;
return cmd.ExecuteNonQuery();
}
}
return retval;
}
}
}
У меня есть 2 хранимые процедуры (которые обновят 2 таблицы) uspUpdateDet и uspUpdatePrev.
У меня вопрос, почему мой второй (uspUpdatePrev) оператор не работает. Кстати, sp работает прямо с сервера sql 08.
SP1:
установить ANSI_NULLS ON
установить QUOTED_IDENTIFIER ON
идти
ALTER PROCEDURE [dbo]. [UspUpdateDet]
@EmpToUpdateFrom varchar(7)
, @EmpToUpdateTo varchar(7)
AS
SET NOCOUNT ON;
ОБЪЯВИТЬ @actedRows int
SET @afferedRows = 0;
НАЧАТЬ
ОБНОВЛЕНИЕ tbl1
SET DET1 = @EmpToUpdateTo
WHERE DET1 = @EmpToUpdateFrom
SET @afferedRows = @afferedRows + @@ ROWCOUNT
END
НАЧАТЬ
ОБНОВЛЕНИЕ tbl1
SET DET2 = @EmpToUpdateTo
WHERE DET2 = @EmpToUpdateFrom
SET @afferedRows = @afferedRows + @@ ROWCOUNT
END
НАЧАТЬ
ОБНОВЛЕНИЕ tbl1
SET L1 = @EmpToUpdateTo
ГДЕ L2 = @EmpToUpdateFrom
SET @afferedRows = @afferedRows + @@ ROWCOUNT
END
НАЧАТЬ
ОБНОВЛЕНИЕ tbl1
SET L2 = @EmpToUpdateTo
ГДЕ L2 = @EmpToUpdateFrom
SET @afferedRows = @afferedRows + @@ ROWCOUNT
END
НАЧАТЬ
ОБНОВЛЕНИЕ tbl1
SET L3 = @EmpToUpdateTo
ГДЕ L3 = @EmpToUpdateFrom
SET @afferedRows = @afferedRows + @@ ROWCOUNT
END
НАЧАТЬ
ОБНОВЛЕНИЕ tbl1
SET L4 = @EmpToUpdateTo
ГДЕ L4 = @EmpToUpdateFrom
SET @afferedRows = @afferedRows + @@ ROWCOUNT
END
НАЧАТЬ
ОБНОВЛЕНИЕ tbl1
SET L5 = @EmpToUpdateTo
ГДЕ L5 = @EmpToUpdateFrom
SET @afferedRows = @afferedRows + @@ ROWCOUNT
END
НАЧАТЬ
ОБНОВЛЕНИЕ tbl1
SET L6 = @EmpToUpdateTo
ГДЕ L6 = @EmpToUpdateFrom
SET @afferedRows = @afferedRows + @@ ROWCOUNT
END
НАЧАТЬ
ОБНОВЛЕНИЕ tbl1
SET L7 = @EmpToUpdateTo
ГДЕ L7 = @EmpToUpdateFrom
SET @afferedRows = @afferedRows + @@ ROWCOUNT
END
НАЧАТЬ
ОБНОВЛЕНИЕ tbl1
SET L8 = @EmpToUpdateTo
ГДЕ L8 = @EmpToUpdateFrom
SET @afferedRows = @afferedRows + @@ ROWCOUNT
END
return @ disabledRows