У меня проблема с обновлением значения dateofbirth из gridview.
В моей таблице базы данных я сохранил дату рождения человека в поле типа ... День, Месяц, Год. После сохранения я отобразил эти значения в gridview в одном поле с именем DateOfBirth, используя этот запрос.
SELECT Id, Name, Address, Day + '-' + Month + '-' + Year AS DateOfBirth,
Phone, EmergencyContact, DateOfRegistration FROM Patient
Работает нормально, отображает DateOfBirth в формате DOB. Но когда я пытаюсь обновить DateOfBirth Содержит из gridview его не обновляется, где, как и другое поле в таблице обновляется правильно.
Вот мой код:
<Columns>
<asp:BoundField DataField="DateOfBirth" HeaderText="DateOfBirth"
SortExpression="DateOfBirth" />
</Columns>
<asp:SqlDataSource>
InsertCommand="INSERT INTO [Patient] ([Name], [Address], [Day],[Month],
[Year], [Phone], [EmergencyContact], [DateOfRegistration])
VALUES (@Name, @Address, @Day, @Month, @Year, @Phone,
@EmergencyContact, @DateOfRegistration)
ProviderName="<%$ ConnectionStrings:ConnectionString.ProviderName %>"
SelectCommand="SELECT Id, Name, Address, Day + '-' + Month + '-' +
Year AS DateOfBirth, Phone, EmergencyContact, DateOfRegistration
FROM Patient
UpdateCommand="UPDATE [Patient] SET [Name] = @Name, [Address] = @Address,
[Day] = @Day, [Month]=@Month, [Year]= @Year, [Phone]=@Phone,
[EmergencyContact]=@EmergencyContact,
[DateOfRegistration]=@DateOfRegistration
WHERE [Id] = @Id">
<InsertParameters>
<asp:Parameter Name="Day" Type="String" />
<asp:Parameter Name="Month" Type="String" />
<asp:Parameter Name="Year" Type="String" />
</InsertParameters>
<UpdateParameters>
<asp:Parameter Name="Day" Type="String" />
<asp:Parameter Name="Month" Type="String" />
<asp:Parameter Name="Year" Type="String" />
</UpdateParameters>
</asp:SqlDataSource>
Моя вторая проблема - когда я выбираю дату из элемента управления календарем и помещаю ее в TextBox, а затем сохраняю. После этого при отображении в виде сетки Дата отображается правильно, но вместе с этим для всей даты время равно 12: 00:00 PM. Для регистрации введите дату как DatTime для таблицы и StoredProcedure. Вот мой код:
protected void
CalendarRegistrationDate_SelectionChanged(object sender, EventArgs e)
{
TxtRegistrationDate.Text =
CalendarRegistrationDate.SelectedDate.ToShortDateString();
CalendarRegistrationDate.Visible = false;
}
protected void BtnCalender_Click(object sender, EventArgs e)
{
CalendarRegistrationDate.Visible = true;
}
DateTime registrationdate = Convert.ToDateTime(TxtRegistrationDate.Text);