MyDataSource.SelectParameters["startDate"].DefaultValue =
fromDate.SelectedDate.Date.ToString();
Come si può vedere sto impostando il valore predefinito di un parametro nel mio .Net SqlDataSource. Non penso però che la stringa stia emettendo il formato corretto. Qual è il formato corretto in modo che Tetime Datetime corrisponderà correttamente?Come convertire un Datetime .Net in un datetime T-SQL
Qui ci sono i formati che vengono emessi in questo momento:
- 5/1/2009 12:00:00 AM
- 5/4/2009 11:59:59 PM
Edit: Prima ho avuto DataSource dove dovrebbe essere stato scritto SqlDataSource
Ed ecco qualche codice
<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>
Edit: Beh, ho capito il problema e sembrerà un po 'sciocco. Il codice non chiamava mai DefaultValue perché era sempre presente un valore. Quindi la mia unica soluzione era quella di creare un nuovo controllo etichetta nascosta e caricare il datetime corretto in quello. Quel praticamente ha fatto il trucco. Non so come ho trascurato questo.
Buoni suggerimenti. Non l'ho fatto prima, quindi dovrò capire perché non è impostato in questo modo. –
Immagino che la procedura guidata sia stata utilizzata per impostare SqlDataSource e non ho visto alcun modo per scegliere un tipo –
Dovrebbe aver generato del codice - sarebbe stato utile vedere quel codice. –