2011-09-08 5 views
0

2つのテーブルの値を組み合わせたストアドプロシージャがあります。これはストアドプロシージャです:だから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 

、基本的に私はフォーマット六時のものであり、時間分割 - 9時00分と別のテーブルに格納します。今、このストアドプロシージャをasp.netのsqldatasourceに割り当てる必要があります。しかし、私はどのようにパラメータを送信するか分からない。どちらのパラメータもClassInfoテーブルから来ます。手伝ってくれませんか?

答えて

0

http://www.4guysfromrolla.com/articles/050207-1.aspxで、ASP.NETデータソースの使用に関するいくつかの基本事項を説明します。

しかし、プロシージャに2つのパラメータを渡して、データベースに挿入して結果を返すストアドプロシージャを探していますか?もしそうなら、それはあなたがやりたいと思うようなものではなく、それを挿入物と別のものに分割する必要があります。いずれにしても

、あなたは

<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> 

ような何かを行うことができます挿入するためにSqlDataSourceに2つのパラメータを渡したい場合は、フォームで動作するようにいくつかのより多くの作業を行うと、このコントロールを取得する必要があります、それはそれのジストです。

関連する問題