gridview에서 dateofbirth 값을 업데이트하는 데 문제가 있습니다.Gridview에서 DOB 값을 업데이트 할 때의 문제점
내 데이터베이스 테이블에는 ... 일, 월, 연도와 같은 필드에 사람의 생일이 저장되어 있습니다. 저장 한 후이 쿼리를 사용하여 DateOfBirth라는 단일 필드에서이 값을 gridview에 표시했습니다.
SELECT Id, Name, Address, Day + '-' + Month + '-' + Year AS DateOfBirth,
Phone, EmergencyContact, DateOfRegistration FROM Patient
DOB 형식의 DateOfBirth를 표시하는 데 문제가 없습니다. 하지만 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][email protected], [Year]= @Year, [Phone][email protected],
[EmergencyContact][email protected],
[DateOfRegistration][email protected]
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>
내 두 번째 문제는 내가있는 gridview 날짜에 표시하고 때 표시되는 달력 컨트롤에서 날짜를 선택한 다음 텍스트 상자 안에 saving.After 그것을 걸었습니다 때입니다 : 여기
내 코드입니다 정확하게하지만 모든 날짜에 대해 이와 함께 12:00:00 AM입니다. 테이블 및 StoredProcedure에 대해 DatTime으로 찍은 등록 날짜 유형입니다. 내 코드는 다음과 같습니다.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);