2017-05-01 33 views
1

SQLデータソースからストアドプロシージャを使用してLabelにデータを取り込みたいとします。 私のストアドプロシージャには2つのパラメータが必要ですが、呼び出す方法はわかりません。SQLデータソースを使用してストアドプロシージャを呼び出しますか?

私のテーブルには、次のようになります。

CityID  CityName    London        Paris         
----------- -------------------- --------------------------------------- -- 
1   London    0          60          
2   Paris    50          0          
3   Berlin    90          60          
4   Madrid    150          90          
5   Dublin    30          80          
6   Rome     75          88  

私の意図は、都市がリストダウン2つの別々のドロップから選択された内容に基づいて値を返すことです。 例えばロンドン、パリは私が

<asp:SqlDataSource ID="JourneyPrice" runat="server" 
ConnectionString="<%$ 
ConnectionStrings:connectToEnterpriseAssignmentDB %>" SelectCommand="GetBusPrice" 
SelectCommandType="StoredProcedure"> 
<SelectParameters> 
<asp:ControlParameter ControlID="ddlDepart" Name="city" PropertyName="SelectedValue" Type="String" /> 
    <asp:ControlParameter ControlID="ddlDestination" Name="column" PropertyName="SelectedValue" Type="String" /> 
      </SelectParameters> 
     </asp:SqlDataSource> 

私のC#のコードは、データソースが

を設定していると思われる60

を返します:

DataView dataViewJourneyPrice = (DataView)JourneyPrice.Select(DataSourceSelectArguments.Empty); 
      if (dataViewJourneyPrice != null) 
      { 


       if (dataViewJourneyPrice.Count > 0) 
        // Whatever column is coming from database 
        lblPrice.Text = dataViewJourneyPrice.ToString(); 

      } 
     } 

この正しい結果が得られていない

解決: labelBusPrice.Text = dataViewJourneyPrice[0]["ColumnName"].ToString();

+0

ここで何らかのコードを確認する必要があります。これは始めるのに最適な場所です。 http://spaghettidba.com/2015/04/24/how-to-post-a-t-sql-question-on-a-public-forum/ –

+0

あなたはEntity Frameworkを使用していますか?またはADO? –

+0

"SQLデータソース"とは、特にASPXファイルの ''を指していますか?それとも一般にSQL Serverにアクセスするのですか? – Dai

答えて

1

データビューから値を取得するだけです。列名を修正したら、実際のデータ型にキャストして、ラベルに入れる前に適切な書式設定を行うことができます。

if (dataViewJourneyPrice.Count > 0) 
    // Whatever column is coming from database 
    labelBusPrice.Text = dataViewJourneyPrice[0]["ColumnName"].ToString(); 
+0

唯一の問題は、ユーザーがドロップダウンリストから選択した内容に応じて列名が変更される可能性があることです。 '' ColumnName ''の代わりに何を入れますか? –

+0

それはうまくいくはずです。これは単なる文字列なので、ドロップダウンリストの値として取得することができます。列名がストアドプロシージャの出力と一致する限り、問題ありません。 –

+0

格納されたprocの出力は、列名と決して一致しません。ストアドプロシージャは、2つの異なるドロップダウンリストで行われた選択に基づいて値を返します。私は –

関連する問題