MyDataSource.SelectParameters["startDate"].DefaultValue =
fromDate.SelectedDate.Date.ToString();
Como puede ver, estoy estableciendo el valor predeterminado de un parámetro en .Net SqlDataSource. No obstante, creo que la cadena no está produciendo el formato correcto. ¿Cuál es el formato correcto para que un T-SQL Datetime coincida correctamente?¿Cómo puedo convertir un .Net Datetime en un T-SQL Datetime
Éstos son los formatos que se generan en este momento:
- 5/1/2009 12:00:00 AM
- 5/4/2009 11:59:59 PM
Editar: Antes de que tuviera origen de datos donde debería haber sido escrito SqlDataSource
Y aquí es un código
<asp:SqlDataSource ID="MyDataSource" runat="server" ConnectionString="<%$ ConnectionStrings:sampledb %>" SelectCommand="Recording_Select" SelectCommandType="StoredProcedure" OnSelecting="MyDataSource_Selecting">
<SelectParameters>
<asp:ControlParameter ControlID="respondentID" DefaultValue="%" Name="RespondentID" PropertyName="Text" Type="String" />
<asp:SessionParameter Name="projectCode" SessionField="proj" Type="String" />
<asp:ControlParameter ControlID="interviewerList" Name="InterviewerID" PropertyName="SelectedValue" Type="String" />
<asp:ControlParameter ControlID="dispCodeList" Name="dispCode" PropertyName="SelectedValue" Type="Int32" />
<asp:ControlParameter ControlID="fromDate" DefaultValue="1/1/1900" Name="startDate" PropertyName="SelectedValue" Type="DateTime" />
<asp:ControlParameter ControlID="toDate" DefaultValue="1/1/1900" Name="endDate" PropertyName="SelectedValue" Type="DateTime" />
</SelectParameters>
</asp:SqlDataSource>
Editar: Bueno, me di cuenta del problema y va a parecer un poco tonto. El código nunca llamaba DefaultValue porque siempre había un valor presente. Así que mi única solución fue crear un nuevo control oculto de etiqueta y cargar el datetime corregido en eso. Eso prácticamente hizo el truco. No sé cómo lo pasé por alto.
Buenas sugerencias. No hice esto en primer lugar, así que tendré que investigar por qué no está configurado de esa manera. –
Supongo que el asistente se usó para configurar un SqlDataSource y no vi ninguna forma de elegir un tipo –
. Debería haber generado algún código, sería útil ver ese código. –