如何传递单选按钮值来过滤数据

时间:2016-06-08 07:31:08

标签: asp.net sql-server vb.net stored-procedures

我在SQL Server中有一个存储过程,用于在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

3 个答案:

答案 0 :(得分:2)

我可以想到2个解决方案:

1-使用ajax,因为你无法更改代码,你可以只更新.aspx文件并在页面加载后添加AJAX调用以加载你的单选按钮,使用你之前提到的相同程序..这个解决方案完全是隔离,因为您不需要对vb.net代码进行任何更改

2-从.aspx中删除Inheritance标记并添加:

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

您实际上是在第二个解决方案中重做整个页面。

答案 1 :(得分: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

答案 2 :(得分:0)

我有自己的解决方案: 1.具有varchar类型的split参数,如bellow:

&#13;
&#13;
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)
&#13;
&#13;
&#13; 2.从aspx页面获取单选按钮的值 3.在存储过程中添加条件:

&#13;
&#13;
IF(@condition='1')
  BEGIN 
  --your statement here
  END
ELSE
  BEGIN
  --your statement here
  END
&#13;
&#13;
&#13;

  1. 将dll重新上传到IIS managemer