C# 在mysql中插入日期时出错
我有简单的mysql表,想从asp页面中插入inquery详细信息,请查看一次代码错误 “字符串未被识别为有效的日期时间” 请建议C# 在mysql中插入日期时出错,c#,datetime,C#,Datetime,我有简单的mysql表,想从asp页面中插入inquery详细信息,请查看一次代码错误 “字符串未被识别为有效的日期时间” 请建议 try { MySqlCommand cmd = new MySqlCommand("sp_LeadInfo", mycon); cmd.CommandType = CommandType.StoredProcedure; string currentDate = System.DateTime.Now.ToString("yyyy-MM-
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);
}
明确使用
这是怎么回事
这些方法使用标准的日期和时间模式。可能字符串的模式没有当前线程区域性的标准格式
大家好,谢谢大家的努力,我得到了解决方案
在本表格“20-5-2014”中插入日期
嗯,听起来你的CurrentCulture
没有dd-M-yyyy
格式作为标准日期和时间模式。您可能需要使用javascript或ajax从用户界面侧强制输入该格式,而不是
您可以找到当前文化支持的所有标准模式,例如:
foreach (var pattern in CultureInfo.CurrentCulture.
DateTimeFormat.
GetAllDateTimePatterns())
{
Console.WriteLine(pattern);
}
您可以使用或方法解析自定义日期和时间格式的字符串
比如,
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
这里a.什么是b.签入和b.签出我认为其中一个会导致问题
b.签入和b.签出的值是什么以及您的CurrentCulture
是什么?这些是在bal类中声明的字符串变量检查您的表,看看列currentDate是否具有作为日期时间的数据类型。对dateCheckin和DateCheckOut尝试不将日期/时间转换为字符串。只需将datetime实例作为参数值传递。命令执行应注意正确的FOMATT。
5/20/2014 12:00:00 AM
2014-05-20