хранимая процедура для источника данных SQL - PullRequest
0 голосов
/ 09 сентября 2011

У меня есть хранимая процедура, которая объединяет значения из 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 и сохраняю его в другой таблице.Теперь мне нужно назначить эту хранимую процедуру для sqldatasource в asp.net.Но я не уверен, как отправить параметры.Оба параметра взяты из таблицы ClassInfo.Не могли бы вы мне помочь?

1 Ответ

0 голосов
/ 20 сентября 2011

Взгляните на 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>

. Вам нужно будет проделать еще немного работы и заставить этот элемент управления работать с формой, но в этом суть.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...