[英]stored procedure to SQL DataSource
我有一个存储过程,它结合了2个表中的值。 这是存储过程:
ALTER PROCEDURE dbo.SplitTime
@time nvarchar(50),
@classid nvarchar(50)
AS
/* SET NOCOUNT ON */
DECLARE @delimiter char(1)
DECLARE @index INT
DECLARE @value nvarchar(4000)
SET @index = 1
SET @delimiter='-'
WHILE @index != 0
BEGIN
SELECT @index = CHARINDEX(@Delimiter,LTRIM(@time))
IF @index !=0
SELECT @value = LTRIM(LEFT(@time,@index - 1))
ELSE
SELECT @value = LTRIM(@time)
SET @value = LTRIM(RTRIM(@value))
IF @value <> ''
INSERT into StartEndTimes(times,ID) values(LTRIM(@value),@classid)
SELECT @time =LTRIM(RIGHT(@time,LEN(@time) - @index))
IF LEN(@time) = 0 BREAK
END
SELECT * from StartEndTimes,ClassInfo
因此,基本上我将时间分为6:00-9:00的时间,并将其存储在另一个表中。 现在,我需要将此存储过程分配给asp.net中的sqldatasource。 但是我不确定如何发送参数。 这两个参数都来自ClassInfo表。 你能帮我么?
看一下http://www.4guysfromrolla.com/articles/050207-1.aspx ,其中涵盖了使用ASP.NET数据源的一些基础知识。
但是,从您的存储过程来看,您想要向该过程传递两个参数,该参数将插入数据库,然后返回结果? 如果是这样,那似乎就不是您要执行的操作,应该将其拆分为插入内容,然后将其拆分为另一个单独的内容进行选择。
无论如何,如果要将两个参数传递给SqlDataSource进行插入,则可以执行以下操作
<asp:SqlDataSource ID="MyCommand" runat="server" ConnectionString="Your connection string"
InsertCommand="SplitTimes" InsertCommandType="StoredProcedure">
<InsertParameters>
<asp:Parameter Name="time" PropertyName="String" />
<asp:Parameter Name="classid" PropertyName="String" />
</InsertParameters>
</asp:SqlDataSource>
您将需要做更多的工作,并使此控件与表单一起使用,但这只是它的精髓。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.