Change your code as
SQL:
ALTER proc [dbo].[spr_SalesOrder]
(
@Voucher_No varchar(50) output ,
@Account_No varchar(50)=null,
@Customer_Name varchar(50)=null,
@Address varchar(50)=null,
@PurchaesTax_Type varchar(50)=null,
@Date varchar(50)=null,
@Store_Name varchar(50)=null,
@Currency varchar(50)=null,
@abc varchar(20) =null
)
AS
BEGIN
set nocount on;
DECLARE @SalesOrder_Id int
IF @abc='insert'
insert into tbl_PurchaseRegister(Account_No,customer_Name,Address,SalesTax_Type,Date,Store_Name,Currency)
Values(@Account_No,@Customer_Name,@Address,@SalesTax_Type,@Date,@Store_Name,@Currency)
SET @SalesOrder_Id = SCOPE_IDENTITY();
select @Voucher_No = Voucher_No from tbl_PurchaseRegister where SalesOrder_id = @SalesOrder_Id
END
c#
SqlParameter paramVoucher = new SqlParameter("@Voucher_No", SqlDbType.VarChar, 50);
paramVoucher.Direction = ParameterDirection.Output;
com.Parameters.Add(paramVoucher);
com.ExecuteNonQuery();
string voucherNumber = paramVoucher.Value.ToString();
lblSaleOrder.Text = voucherNumber;