у меня есть этот GridView, и я использую SqlDataSourceОшибка: при преобразовании даты и/или времени из символьной строки при преобразовании даты выбрана ошибка?
это моя команда выбора,
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:TAXIConnectionString %>"
SelectCommand="SELECT [TripId] FROM [BookingMaster]
WHERE(([PickupLocation] = @PickupLocation or @PickupLocation is null)
AND ([DestinationLocation] = @DestinationLocation
or @DestinationLocation is null)
AND ([Status] = @Status or @Status is null)
AND (cast([PickupDateTime] as date) = @PickupDateTime
or @PickupDateTime is null))"
CancelSelectOnNullParameter="False">
<SelectParameters>
<asp:ControlParameter ControlID="ddPickup" Name="PickupLocation"
PropertyName="SelectedValue" Type="String"
ConvertEmptyStringToNull="true" />
<asp:ControlParameter ControlID="ddDestination" Name="DestinationLocation"
PropertyName="SelectedValue" Type="String"
ConvertEmptyStringToNull="true" />
<asp:ControlParameter ControlID="ddStatus" Name="Status"
PropertyName="SelectedValue" Type="String"
ConvertEmptyStringToNull="true" />
<asp:ControlParameter ControlID="txtBookingDate" Name="PickupDateTime"
PropertyName="Text" Type="String" ConvertEmptyStringToNull="true" />
</SelectParameters>
</asp:SqlDataSource>
но пришла ошибка, как я выбрать дату после 13 или еще ...
Server Error in '/' Application.
Conversion failed when converting date and/or time from character string.
Что не так с этим?
Кроме того, это ваш столбец базы данных '[PickupDateTime]' фактический столбец времени? Если нет, есть ли причина, почему нет? Если это так, вам не нужно указывать его на сегодняшний день. – Adrian
Я использовал «[PickupDateTime]» как varchar, bcoz его хранилище дата времени для базы данных, но мне нужно сравнивать только дату, а не время, которое yi выбирает для сравнения даты .. – Saranya
В этом случае вы должны использовать данные 'date' тип. Хранение дат как строк - плохая идея для качества и производительности данных. – mroach