私は、SQLデータベースからデータを取得するASP.NETのチャート機能を使用してグラフを生成しました。 2008年を含むすべての日付を見つけるようにSQLデータソースに依頼して以来、2008年のすべての気温を取得しています。私はコンボボックスをSQLデータソースに接続しようとしていました。したがって、1年選択すると、特定の年ではなく2008以下のコードは、現在、2008年のすべてのタンをコンボボックスなしで動作して取得し、次のようにデータソースを照会するデータソースのコンボボックスから値を選択
<asp:Chart ID="Chart1" runat="server" DataSourceID="SqlDataSource1"
Height="349px" Width="977px">
<Series>
<asp:Series Name="Series1" XValueMember="JobDate" YValueMembers="CureTemp">
</asp:Series>
</Series>
<ChartAreas>
<asp:ChartArea Name="ChartArea1">
</asp:ChartArea>
</ChartAreas>
</asp:Chart>
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:T2DataString %>"
SelectCommand="SELECT * FROM [T2] WHERE DatePart(yyyy, JobDate) = 2008">
</asp:SqlDataSource>
は、私は次のコンボボックスを追加し、私のSQLデータソースを変更:
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:T2DataString %>"
SelectCommand="SELECT * FROM [T2] WHERE ([JobDate] = @JobDate)">
<SelectParameters>
<asp:ControlParameter ControlID="ComboBox" DbType="Date" Name="JobDate"
PropertyName="SelectedValue" />
</SelectParameters>
</asp:SqlDataSource>
<asp:DropDownList ID="ComboBox" runat="server">
<asp:ListItem>2011</asp:ListItem>
<asp:ListItem>2010</asp:ListItem>
<asp:ListItem>2009</asp:ListItem>
<asp:ListItem>2008</asp:ListItem>
</asp:DropDownList>
アプリケーションを実行しようとすると、「文字列が有効なDateTimeとして認識されませんでした」と表示されます。データソースで使用できるように、コンボボックスの値を整数に変換するにはどうすればよいですか?私は、データソースからデータをドロップダウンメニューに移入しようとしていません、私はドロップダウンメニューを使用してデータソースに値を入力しようとしています。
ありがとうございました。
こんにちはからあなたのクエリに類似しているべきです。 Iveはあなたが提案したものを試してみました。私はこのページを試してみるとエラーが出ます:「Stringは有効なDateTimeとして認識されませんでした」ありがとう – Blob
sqldatasourceの 'DbType =" Date "を' DbType = "String" 'に変更しました。 –