Quantcast
Channel: Windows Forms Data Controls and Databinding forum
Viewing all articles
Browse latest Browse all 2535

Updated Rows Display

$
0
0

hello experts,

i am updating a table using a stored procedure passing it few parameters and a table . in rerun i want to use output clause and see inserted (Changed Column) , but i am getting error

sConn.Open();
            SqlCommand cmd = new SqlCommand("updateRCIANos4", sConn);
            cmd.CommandType = CommandType.StoredProcedure;
            //cmd.Parameters.Add(new SqlParameter("@plantid", ErpMdi1.ID));
            cmd.Parameters.Add(new SqlParameter("@finyear", txtfinyear.Text));
            cmd.Parameters.Add(new SqlParameter("@connect2", txtConnect2.Text));
            SqlParameter param = cmd.Parameters.AddWithValue("@RCIANo", dtGrnNo);
            cmd.CommandTimeout = 0;
            param.SqlDbType = SqlDbType.Structured;


            //output cluase test 26.9.2018
            SqlParameter outputPara = new SqlParameter();
            outputPara.ParameterName = "@InsertOutput1";
            outputPara.Direction = ParameterDirection.Output;
            outputPara.SqlDbType = SqlDbType.Structured;
            cmd.Parameters.Add(outputPara);

/****** Object:  StoredProcedure [dbo].[updateRCIANos]    Script Date: 07/21/2011 17:53:16 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF object_id( '[dbo].[updateRCIANos4]', 'P') is not null
	drop procedure [dbo].[updateRCIANos4]
go	
create PROCEDURE [dbo].[updateRCIANos4] 
	@finyear int,
	@connect2 int,
	@RCIANo [dbo].[RCIANo] READONLY
WITH EXECUTE AS CALLER
aS
BEGIN
   SET NOCOUNT OFF; --It returns no. of rows affected when set to OFF
   declare @errid int,@ad nvarchar(max),@Updated [dbo].[RCIAupdated]  ;
   BEGIN TRY
   BEGIN TRAN
	   	--set Context_Info 0x55555 
		--set @ad = 'alter database '+ DB_NAME()  + ' set single_user WITH ROLLBACK IMMEDIATE;'
		--EXECUTE sp_executesql @ad	   		   	
	   	--alter table billitem disable trigger all
		DECLARE @InsertOutput1 table 
		(
			rcia_no varchar(15),
			rcia_dt date,
			rejqty decimal(16,3),
			acceptedqty decimal(16,3)
		)

		UPDATE billitem SET rcia_no = c.rcia_no, rcia_dt=c.rcia_dt,rejqty=isnull(c.rejqty,0),acceptedqty=c.acceptedqty
		OUTPUT INSERTED.rcia_no,INSERTED.rcia_dt,INSERTED.rejqty,INSERTED.acceptedqty 
		INTO @InsertOutput1
		from billitem b 
		join bill a on a.ui=bill_ui
		join maingl d on d.gl_code= a.doc_gl
		join @rciano c on a.finyear = @finyear	
			and a.connect2= @connect2 
			and a.doc_no=c.inv_no
			
		--@@rowcount returns no of rows updated
		--print @@rowcount 
		--set @ad = 'alter database ' + DB_NAME()  + ' SET multi_USER'
		--EXECUTE sp_executesql @ad		
		--alter table billitem enable trigger all		
	  SELECT @errid = @@ERROR

	  IF (@errid <> 0) goto  PROBLEM
		COMMIT TRAN  

	RETURN select * from @InsertOutput1	
END TRY

BEGIN CATCH
	  set @errid = @@ERROR
	  ROLLBACK TRAN
	  RETURN @errid 
END CATCH

PROBLEM:
	IF (@errid <> 0)
	BEGIN
	  ROLLBACK TRAN
	  RETURN @errid
	END

END


Viewing all articles
Browse latest Browse all 2535

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>