2

我无法让我的 SqlParameter 在我的 SqlDataSource 选择命令中工作。I'm trying to run a query when a new calendar date on a calendar control is selected to filter the query by the date selected. 这是我在 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.Valuetype一样object,重载可能会对 进行一些验证Calendar1.SelectedDate.ToString()以匹配SQLDbType

于 2013-03-06T14:12:10.420 回答