Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在mysql中插入日期时出错_C#_Datetime - Fatal编程技术网

C# 在mysql中插入日期时出错

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-

我有简单的mysql表,想从asp页面中插入inquery详细信息,请查看一次代码错误

“字符串未被识别为有效的日期时间”

请建议

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