存储过程到SQL数据源



我有一个存储过程,它组合了来自两个表的值。这是存储过程:

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表。你能帮帮我吗?

看看https://web.archive.org/web/20211020133929/https://www.4guysfromrolla.com/articles/050207-1.aspx,它涵盖了一些使用ASP的基础知识。净数据源。

然而,从您的存储过程来看,您想要传递两个参数到过程,它插入到数据库,然后返回结果?如果是这样的话,你应该把它分成insert和select两部分。

无论如何,如果您希望向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>

您需要做更多的工作,使这个控件与表单一起工作,但这就是它的目的。

相关内容

最新更新