我在从gridview更新dateofbirth值时遇到问题。
在我的数据库表中,我已将人的出生日期存储在......日,月,年等字段中。存储后,我已使用此查询在名为DateOfBirth的单个字段下在gridview中显示这些值。
SELECT Id, Name, Address, Day + '-' + Month + '-' + Year AS DateOfBirth,
Phone, EmergencyContact, DateOfRegistration FROM Patient
它工作正常,显示DOB格式的DateOfBirth。但是,当我尝试从gridview更新DateOfBirth Contains时,它不会更新表中的其他字段正确更新的位置。
这是我的代码:
<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然后保存。之后当我显示在gridview中日期正确显示但是对于所有日期,时间是12: 00:00 AM。对于registerdate类型,为table和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);
答案 0 :(得分:0)
我。将数据存储在数据库中的良好做法是将其存储在日期时间格式中。绑定到GridView列时,可以指定格式以使其显示。
您需要设置的属性是
DataFormatString =“dd-MMM-yyyy”
以上将以您想要的格式显示日期。修改insert / update / select查询,以便DateofBirth字段是datetime类型的单个字段。
II。如果您想要显示日期,请按照您想要显示的方式进行格式化。
例如:string date = DateTime.Now.ToString(“dd-MMM-yyyy”)