Ошибка: невозможно неявно преобразовать тип System.DateTime в System.Data.Common.DbParameter.

Я получаю сообщение об ошибке в своем коде и не знаю, что делать дальше

Код во внешнем интерфейсе (asp.net)

<asp:SqlDataSource ID="SqlDataSource2" runat="server" 
                ConnectionString="<%$ ConnectionStrings:LicensingConnectionString %>" 



                SelectCommand="SELECT [School Name], [School City], [School State], LoginName, [Current Sales], Commission, [Pay Period start date], [Pay Period End date] FROM commissions WHERE ([Pay Period start date] &gt;= @Txt_selected_start_date) AND ([Pay Period End date] &lt;= @Txt_selected_end_date) AND (LoginName = '[email protected]') " 
                OnSelecting="SqlDataSource2_Selecting"
                >
                <SelectParameters>
                    <asp:parameter  
                        Name="Txt_selected_start_date" Type="DateTime" />
                    <asp:Parameter Name="Txt_selected_end_date"  Type="DateTime" />
                </SelectParameters>
            </asp:SqlDataSource>



<asp:PlaceHolder ID="pnlwithdates" runat="server" Visible="false"> 
<div style="padding: 0 200px 0 200px">
<br /><br />
Start Date: <asp:TextBox ID="TxtDatepicker_start" runat="server" Width = 125px >
      </asp:TextBox>

      &nbsp;&nbsp;End Date: <asp:TextBox ID="TxtDatepicker_end" runat="server" Width = 125px >
      </asp:TextBox>
      &nbsp;&nbsp;&nbsp;&nbsp;<asp:Button ID="Button_daterecords" runat="server"  Text="Show records"  OnClick ="SQLDisplay_Date_records" /><br />
<br /><br />

в то время как код на бэкэнде

protected void SqlDataSource2_Selecting (отправитель объекта, SqlDataSourceSelectingEventArgs e) { e.Command.Parameters["@username"].Value = HttpContext.Current.User.Identity.Name; e.Command.Parameters["@Txt_selected_start_date"] = DateTime.Parse(TxtDatepicker_start.Text);

    }

Код, выделенный полужирным шрифтом, — это строка, выдающая ошибку.

Как мне это исправить, любые входные данные были бы замечательными.

Спасибо


person Mervin    schedule 25.05.2011    source источник
comment
Разве это не тот же вопрос, что и stackoverflow.com/questions/6128622/ ?   -  person Jan-Peter Vos    schedule 25.05.2011


Ответы (2)


Вы неправильно настраиваете, должно быть:

e.Command.Parameters["@Txt_selected_start_date"].Value = DateTime.Parse(TxtDatepicker_start.Text);

Обратите внимание на .Value, которого нет в вашем коде. Вы пытаетесь присвоить DateTime DbParameter.

person James Michael Hare    schedule 25.05.2011

Пытаться

e.Command.Parameters["@Txt_selected_start_date"].Value = DateTime.Parse(TxtDatepicker_start.Text)

Or

e.Command.Parameters["@Txt_selected_start_date"].Value = DateTime.Parse(TxtDatepicker_start.Text).ToShortDateString();
person KBoek    schedule 25.05.2011