在我TimeIn.aspx文件,我用下面的代碼顯示時鐘:時間跨度轉換失敗
<div>
<div>
<asp:ScriptManager runat="server" ID="ScriptManager1" />
<br />
<asp:UpdatePanel runat="server" ID="UpdatePanel1">
<ContentTemplate>
<asp:Label runat="server" ID="Label4" Text="Current Time: "/>
<asp:Label runat="server" ID="Label2" />
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="Timer1" EventName="Tick" />
</Triggers>
</asp:UpdatePanel>
<asp:Timer ID="Timer1" runat="server" OnTick="Timer1_Tick" Interval="1000" />
</div>
<br />
<br />
<asp:Button ID="Button1" runat="server" Text="Check In" OnClick="CheckIn" />
</div>
時鐘工作正常。然後在TimeIn.aspx.cs文件,我已經寫的CheckIn方法:
protected void CheckIn(object sender, EventArgs e)
{
TimeSpan currtime = TimeSpan.Parse(Label2.Text);
int eid = Convert.ToInt32(Session["EID"]);
DBClient = new DBConnection();
DBClient.CheckIn(eid, currtime, DateTime.Now.Date.ToString());
Response.Redirect("ECheckin.aspx");
}
在數據庫,CheckinTime
列的數據類型是Time(7)
。
當CheckIn事件觸發時,它在TimeSpan.Parse的第一行發出異常,因爲Label2.Text具有添加了時間格式(AM/PM)的時間。
Label2.Text的示例值爲:1:41:28 PM
最好的解決方案是處理這種情況?我真的想在sql server中使用Time
數據類型,因爲以後我將不得不在時間字段上執行計算。
將quizti2.Text/Database中的值放入questi上。 –
'在數據庫中,CheckinTime的數據類型列是Time(7).'。手段?? –
@Nikhil Agrawal我正在使用Sql Server 2008作爲後端數據庫。在我的應用程序數據庫表中,有一列CheckinTime,其數據類型是Time(7)。我想在該字段中存儲簽入時間。 – Azeem