Как вернуть два выходных значения из хранимой процедуры SQL
Я хочу получить два выходных значения одновременно из хранимой процедуры sql .Я использую visual studio 2005 и sql server 2005.В моем сохраненном proceudre не было никаких проблем, он возвращает два значения.
@EmpSid @RevisionNo 79 2
Что я уже пробовал:
Мой код здесь
MySID = objCmd.Parameters.AddWithValue("@EmpSid", 0) RevisionNo = objCmd.Parameters.AddWithValue("@RevisionNo", 1) objCmd.Parameters.Item("@EmpSid").Direction = ParameterDirection.Output objCmd.Parameters.Item("@RevisionNo").Direction = ParameterDirection.Output objCmd.ExecuteNonQuery()
Процедура Sql
ELSE IF @Mode='EDIT' BEGIN Select @RevisionNo = RevisionNo+1 from tblEmployeeMaster where SID=@EmpSid UPDATE tblEmployeeMaster set CompanySID=@CompanySID, EmpCode=@Empcode,HonorficsSID=@HonorficsSID,EmpName=@EmpName, Dob=@Dob, MaritalStatusSID=@MaritalStatusSID, GenderSID=@GenderSID, BloodGroup=@BloodGroup, DateOfJoin=@DateOfJoin,EmpPhoto=@EmpPhoto ,Notes=@Notes,RevisionNo=@RevisionNo, CreatedBy=@CreatedBy, CreatedOn=GETDATE(), EditedBy=@CreatedBy,EditedOn=GETDATE() WHERE SID=@SID SET @EmpSid=@SID END
Он показывает ошибку
Cannot insert the value NULL into column 'RevisionNo', table 'JSolutionHR.dbo.tblEmployeeMaster'; column does not allow nulls. UPDATE fails. The statement has been terminated.
jaket-cp
Глядя на сообщение об ошибке - другими словами, оно говорит о попытке вставить null в
JSolutionHR.dbo.tblEmployeeMaster.Ревизионно
Проверьте, чтобы увидеть, что вы получаете заSelect @RevisionNo = RevisionNo+1 from tblEmployeeMaster where SID=@EmpSid
Предполагая, что он добирается до этой части запроса