DateTime.Parse将字符串转换为日期时间格式等于数据库中的日期时间字段
问题描述:
我想将日期值的YYYY/MM/DD从文本框转换为日期时间,当值正确时它可以,但是当我尝试输入一个不正确的数据来检查数据库,错误返回为String未被识别为有效的DateTime。DateTime.Parse将字符串转换为日期时间格式等于数据库中的日期时间字段
这里是我的代码:
protected void btnSubmit_Click(object sender, EventArgs e)
{
string format = "YYYY-MM-DD HH:MM:SS";
DateTime birthday = DateTime.Parse(txtBday.Text);
DataSet ds = new DataSet();
ds = (newService.checkAccount());
if (ds.Tables[0].Rows.Count > 0)
{
foreach (DataRow dRow in ds.Tables[0].Rows)
{
string accountNo = dRow["ACCTNO"].ToString();
DateTime birthDate = DateTime.Parse(dRow["DATEOFBIRTH"].ToString());
if (accountNo == txtAccountNo.Text.ToString() && birthDate == birthday)
{
lblMessage.Text = "<br>Account Number Exist. You may now proceed with the registration<br><br>";
HttpCookie lmsCookie = new HttpCookie("id");
lmsCookie.Value = txtAccountNo.Text;
Response.Cookies.Add(lmsCookie);
Response.Redirect("Step2.aspx");
}
else
{
Image2.Visible = false;
lblMessage.Text = "<br>Please check your information and try again." + "<br>Be sure you are entering the correct information.For further assistance, call (+632) 404-2790.<br><br>";
}
}
}
}
例如,我将进入数据将在数据库匹配,程序会以其他方式进行,如果我要输入不带任何的匹配数据数据库中的现有记录,程序将触发错误,字符串未被识别为有效的日期时间。
答
当你解析可能会失败,而不是这是有原因的其他不是一个错误,:
DateTime birthDate = DateTime.Parse(dRow["DATEOFBIRTH"].ToString())
(它抛出,你见过一个例外),使用DateTime.TryParse
:
DateTime birthDate;
if (DateTime.TryParse(dRow["DATEOFBIRTH"].ToString(), out birthDate))
{
// Success case
}
else
{
// Handle error case
}
我注意到,你不是使用你的format
变量,顺便说一下。如果你知道是什么格式将是(和你的问题不同意你的代码,顺便说一句),这将是更好地使用TryParseExact
:
if (DateTime.TryParseExact(dRow["DATEOFBIRTH"].ToString(), "YYYY/MM/dd",
CultureInfo.InvariantCulture, DateTimeStyles.None,
out birthDate))
...
答
Sovel,
步骤1:
this._checkInOutDTO.NgayCham = DateTime.Parse(this.DGVDuLieuVaoRa.Rows [num15] .Cells [1] .Value.ToString()); // this._checkInOutDTO.NgayCham = Convert.ToDateTime(this.DGVDuLieuVaoRa.Rows [num15] .Cells [1] .Value.ToString());
步骤2: 格式:DD/MM/YYYY
乔恩,固定名称的TryParse - > TryParseExact – asktomsk 2012-03-31 07:34:44
@asktomsk:卫生署:)完成。 – 2012-03-31 07:36:24
你能简单解释一下还是给我一个示例代码来做这件事? – Dhenn 2012-03-31 07:38:39