2

SqlDataSource select コマンドで SqlParameter を機能させるのに問題があります。カレンダー コントロールで新しいカレンダーの日付を選択して、選択した日付でクエリをフィルター処理するときに、クエリを実行しようとしています。これが私がC#側に持っているものです:

protected void Calendar1_SelectionChanged(object sender, EventArgs e)
{
    SqlParameter para1 = new SqlParameter("@mydate", SqlDbType.DateTime);
    para1.Value = Calendar1.SelectedDate;
    SqlDataSource1.SelectParameters.Add(para1);
}

私は /ほぼ/ このスレッドで必要なものを見つけました: どうすれば sqldatasource パラメータの値を設定できますか?

しかし、一番上の回答で提供された解決策では、SelectParameters.Add 行に次のエラーが表示されます。

このエラーを修正して、選択クエリでパラメーターを機能させるにはどうすればよいですか?

ありがとう。

4

1 に答える 1

1

このリンクの Jon Skeet の回答に関するコメント: Setting DateTime as a SqlDataSource parameter for Gridview、この行を次のように変更してみてください。

para1.Value = Calendar1.SelectedDate.ToString();

それが機能するかどうかを確認します。

編集 jadarnel27 からのコメントごとに、次のことを試してください。

SqlDataSource1.SelectParameters.Add("@mydate", SqlDbType.DateTime, Calendar1.SelectedDate.ToString());

SQLParameter.Valueタイプがであるため object、オーバーロードはCalendar1.SelectedDate.ToString()SQLDbType

于 2013-03-06T14:12:10.420 に答える