我在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
答案 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 - 在存储过程中声明的变量。
否则请参阅以下链接
答案 2 :(得分:0)
我有自己的解决方案: 1.具有varchar类型的split参数,如bellow:
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;
IF(@condition='1')
BEGIN
--your statement here
END
ELSE
BEGIN
--your statement here
END
&#13;