我有简单的mysql表想从asp页面插入查询详细信息,请查看代码错误;
“字符串未被识别为有效的DateTime”
请建议
try
{
MySqlCommand cmd = new MySqlCommand("sp_LeadInfo", mycon);
cmd.CommandType = CommandType.StoredProcedure;
string currentDate = System.DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss");
string dateCheckIn = Convert.ToDateTime(b.checkIn).ToString("yyyy-MM-dd");
string dateCheckOut = Convert.ToDateTime(b.cheOut).ToString("yyyy-MM-dd");
cmd.Parameters.AddWithValue("@txtName", b.name);
cmd.Parameters.AddWithValue("@txtEmail", b.email);
cmd.Parameters.AddWithValue("@txtPhone", b.phone);
cmd.Parameters.AddWithValue("@txtAlternateNo", b.alternateNo);
cmd.Parameters.AddWithValue("@txtCheckIn", dateCheckIn);
cmd.Parameters.AddWithValue("@txtNight", b.night);
cmd.Parameters.AddWithValue("@txtCheckOut",dateCheckOut);
cmd.Parameters.AddWithValue("@txtRooms", b.noOfRooms);
cmd.Parameters.AddWithValue("@txtAdults", b.adults);
cmd.Parameters.AddWithValue("@txtChildren", b.children);
cmd.Parameters.AddWithValue("@currDate", currentDate);
cmd.Parameters.AddWithValue("@txtMessage", b.message);
cmd.Parameters.AddWithValue("@txtStatus","");
cmd.Parameters.AddWithValue("@txtRemark", "");
mycon.Open();
//cmd.ExecuteNonQuery();
cmd.ExecuteNonQuery();
mycon.Close();
}
catch(Exception ex)
{
throw (ex);
}
答案 0 :(得分:0)
Convert.ToDateTime(string)
method明确使用DateTime.Parse(string, CultureInfo.CurrentCulture)
。
这是怎样的impelemented;
public static DateTime ToDateTime(String value) {
if (value == null)
return new DateTime(0);
return DateTime.Parse(value, CultureInfo.CurrentCulture);
}
这些方法使用CurrentCulture
的标准日期和时间模式。您的字符串模式可能没有当前线程文化的标准格式。
各位感谢您的努力,实际上我得到了解决方案 在表格“20-5-2014”中以日期形式插入日期
嗯,听起来您的CurrentCulture
没有dd-M-yyyy
格式作为标准日期和时间模式。您可能需要使用javascript或ajax vs ...
您可以找到当前文化支持的所有标准模式;
foreach (var pattern in CultureInfo.CurrentCulture.
DateTimeFormat.
GetAllDateTimePatterns())
{
Console.WriteLine(pattern);
}
您可以使用DateTime.TryParseExact
或DateTime.ParseExact
方法来解析自定义日期和时间格式化字符串。
例如;
string s = "20-5-2014";
DateTime dt;
if(DateTime.TryParseExact(s, "dd-M-yyyy", CultureInfo.CurrentCulture,
DateTimeStyles.None, out dt))
{
Console.WriteLine(dt);
Console.WriteLine(dt.ToString("yyyy-MM-dd"));
}
输出将是;
5/20/2014 12:00:00 AM
2014-05-20
这里有 demonstration
。