2010-10-11 55 views
-1

我有一種情況,我需要從表中檢索記錄並使用這些值並作爲存儲過程的參數傳遞。存儲過程將重新運行一行,並且我需要使用存儲過程返回的值並更新其他表。請給我一個示例C#代碼來實現這種情況。任何幫助都將被佔用。需要做與SQLServer數據庫的多個事務

由於事先

普拉迪普

+3

也只是另一種 「Giv'me澤codez」 -Questions ... – 2010-10-11 06:55:51

回答

0

你可以試試這個:

createPROCEDURE MultipleTransaction 

    AS 
    BEGIN 
     -- SET NOCOUNT ON added to prevent extra result sets from 
     -- interfering with SELECT statements. 
     SET NOCOUNT ON; 
     declare @a int; 
     set @a=1; 
     -- Insert statements for procedure here 
     while((select distinct id from a where id [email protected]) is not null) 
     begin 
     declare @name varchar(100) 
     declare @id int 

     set @name =(select distinct name2 from a where id [email protected]) 
     set @id =(select distinct id from a where id [email protected]) 

     exec GetRows @name,@id -- calling another procedure 
     set @a [email protected]+1; 
     end 
    END 


create PROCEDURE GetRows 
    (@Para varchar(100),@id varchar(10) ) 
AS 
BEGIN 
    -- SET NOCOUNT ON added to prevent extra result sets from 
    -- interfering with SELECT statements. 
    SET NOCOUNT ON; 

    -- Insert statements for procedure here 
    UPDATE [Cube].[dbo].[b] 
    SET [name1] = @Para 
WHERE id [email protected] 
END 
+0

我知道這可以實現通過創建新的存儲過程,但不幸的是我沒有創建任何存儲過程的特權,我只需要通過c#代碼來實現這一點。 – Pradeep 2010-10-11 07:25:43

+0

在C#代碼中這麼做很糟糕,因爲您正在生成不必要的網絡往返。可能是你與那個有權做正確事情的人交談...... – 2010-10-11 08:02:33

+0

感謝您的回答,但是由於我正在使用使用產品數據的插件,因此無法使用我的方案。我無法創建表格或程序。 – Pradeep 2010-10-11 08:54:08