私はドロップダウンリストを持っています。リストは決して静的ではないので、リスト内の項目の数は常に異なっています。インデックスが範囲外です。負でなく、コレクションのサイズより小さくなければなりません。パラメータ名:indexドロップダウンリスト
<asp:SqlDataSource ID="SqlDataSource" runat="server" ConnectionString="<%$ ConnectionStrings:testConnectionString %> " SelectCommand="SELECT * FROM TABLE WHERE STATUS = 'done' "></asp:SqlDataSource>
私は存在しないドロップダウンリストのインデックスにアクセスしようとしていることがわかります。存在しないインデックスを選択することを避けるために離れていますか?
private DataTable test()
{
DataTable dt = new DataTable();
SqlDataAdapter Adpt;
using (SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["testConnectionString"].ConnectionString))
{
SqlCommand cmd = new SqlCommand("SELECT * FROM TABLE WHERE [email protected]", con);
cmd.Parameters.AddWithValue("@id", ddlsubnum.Items[0].Text);
Adpt = new SqlDataAdapter(cmd);
new SqlDataAdapter(cmd).Fill(dt);
}
Chart1.Series["Series1"].YValueMembers = "recs";
Chart1.Series["Series1"].XValueMember = "date";
Chart1.Series["Series1"].XValueType = ChartValueType.DateTime;
Chart1.Series["Series1"].YValueType = ChartValueType.Int32;
return dt;
}
private DataTable test2()
{
DataTable dt2 = new DataTable();
SqlDataAdapter Adpt;
using (SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["testConnectionString"].ConnectionString))
{
SqlCommand cmd = new SqlCommand("SELECT * FROM TABLE WHERE [email protected]", con);
cmd.Parameters.AddWithValue("@id", ddlsubnum.Items[1].Text);
Adpt = new SqlDataAdapter(cmd);
new SqlDataAdapter(cmd).Fill(dt2);
}
Chart2.Series["Series1"].YValueMembers = "recs";
Chart2.Series["Series1"].XValueMember = "date";
Chart2.Series["Series1"].XValueType = ChartValueType.DateTime;
Chart2.Series["Series1"].YValueType = ChartValueType.Int32;
return dt2;
}
私はこれをボタンクリックイベントで実行しています。
protected void Button1_Click(object sender, EventArgs e)
{
{
DataTable dt = this.test();
Chart1.DataSource = dt;
Chart1.DataBind();
}
{
DataTable dt2 = this.test2();
Chart2.DataSource = dt2;
Chart2.DataBind();
}
}
何ですか?エラーが発生している行はどこですか? – itsme86
cmd.Parameters.AddWithValue( "@ id"、ddlsubnum.Items [1] .Text); –
SQLクエリにユーザーが選択したものを入力しようとしていますが、その時点でリストは空ですので、エラーが表示されますか?それですか?リストが空の場合、選択されたものではなくSQL照会にどのようなものを入れるべきですか? –