2016-06-08 103 views
5

我有一個SQL服務器中的存儲過程,以顯示vb.net應用程序中的一些數據。我可以編輯我的程序嗎?如何通過單選按鈕值顯示基於選定的單選按鈕的數據而不更改VB代碼,並且無需在SQL中添加新參數,是否可以這樣做?這些是我的參數。如何通過單選按鈕值來過濾數據

ALTER PROCEDURE [dbo].[LMS_Report]  
 
@deptID varchar(10),  
 
@month int,  
 
@year int,  
 
@startIndex int,  
 
@pageSize int,  
 
@generateData int, 
 
@totalRecords int OUTPUT

抱歉,這是我第一次用vb.net

+0

你怎麼會希望通過一個新的參數,而不改變VB代碼? –

+0

,因爲我無法重新編譯代碼,我只有在發佈後才從應用程序獲得代碼,並且我必須將此單選按鈕添加到此報告界面中。如果使用子字符串來分裂@deptID參數可能嗎?我不知道.. –

回答

2

我能想到的這2個解決方案:用ajax

1,因爲你不能改變代碼中,只能更新.aspx文件,並在加載頁面後添加AJAX調用以加載您的單選按鈕,使用前面提到的相同過程。此解決方案完全隔離,因爲您不需要對vb進行任何更改.NE T代碼

2 - 從在.aspx取出Inheritance標籤,並添加:

<script runat="server> rewrite the whole page code here </script>

你居然重做整個頁面在第二個解決方案。

+0

我會盡力,謝謝 –

2

1)獲取單選按鈕的價值,同時單擊它,並將其存儲在變量。

2)之後,您可以在執行sqlcommand時將值傳遞給存儲過程。

例如

1)值單選按鈕是「紅色」這個值存儲字符串「RadioButtonValue」英寸

2)使用cmd將此RadioButtonValue傳遞給SQL的存儲過程。

cmd.Parameters.AddWithValue(「@ RadioButtonValue」,RadioButtonValue)

@RadioButtonValue - 在存儲過程中聲明的變量。

其他參考以下鏈接

http://www.aspsnippets.com/Articles/Pass-Table-Valued-Parameters-to-Stored-Procedure-from-Code-Behind-using-ADONet-C-and-VBNet.aspx

0

我有我自己的解決方案:

Declare @condition varchar(20) = null 
 

 
SET @condition = SUBSTRING(RTRIM(@deptID), LEN(RTRIM(@deptID) + '|')-1,LEN(RTRIM(@deptID))) 
 
SET @deptID = SUBSTRING(RTRIM(@deptID), 0, PATINDEX('%|%',RTRIM(@deptID))) 
 
SET @deptID = RTRIM(@deptID)
2.獲取:具有VARCHAR類型,如波紋管 1.分裂參數從aspx頁面單選按鈕的值 3。在存儲過程中添加條件:

IF(@condition='1') 
 
    BEGIN 
 
    --your statement here 
 
    END 
 
ELSE 
 
    BEGIN 
 
    --your statement here 
 
    END

  • 重新上傳DLL到IIS managemer
  • 相關問題