C# 从字符串转换日期时间时出现语法错误
我试图使用以下代码在ms sql表中插入一行C# 从字符串转换日期时间时出现语法错误,c#,sql-server,string,datetime,type-conversion,C#,Sql Server,String,Datetime,Type Conversion,我试图使用以下代码在ms sql表中插入一行 SqlCMDText = "INSERT INTO attendance(date, time_in, time_out, time_total, status,"; SqlCMDText += " is_late_in, is_half_day, is_early_out, user_id, remarks)"; SqlCMDText += " VALUES('@yestarday_date', 'NA', 'NA', 'NA', 'ABSENT
SqlCMDText = "INSERT INTO attendance(date, time_in, time_out, time_total, status,";
SqlCMDText += " is_late_in, is_half_day, is_early_out, user_id, remarks)";
SqlCMDText += " VALUES('@yestarday_date', 'NA', 'NA', 'NA', 'ABSENT', 'NA', 'NA', 'NA', 52, 'DONE BY PORTAL')";
SqlCMD = new SqlCommand(SqlCMDText, SqlCON);
SqlCMD.Parameters.AddWithValue("@yestarday_date", Yestarday);
SqlCMD.ExecuteNonQuery();
其中Yestarday是一个字符串变量,包含短日期格式,如“04/04/2011”。我还尝试传递datetime变量本身,但它不起作用,我得到了如下相同的错误
“从字符串转换日期时间时出现语法错误”
我应该使用什么格式使其工作
谢谢。您应该直接使用
DateTime
对象。如果您遇到另一个错误,请发布该错误。使用DateTime.Parse(Yestarday)
请尝试以下代码
CurDate = DateTime.ParseExact(@Yestarday, "dd/MM/yyyy", System.Globalization.CultureInfo.CurrentCulture, System.Globalization.DateTimeStyles.None)
你的专栏是datetime?因此,添加一个参数作为日期时间应该是有效的,感谢Ranhiru的工作。解析(Yestarday)。但我仍然不明白为什么DirectDateTime对象不起作用,我认为它应该起作用。
CurDate = DateTime.ParseExact(@Yestarday, "dd/MM/yyyy", System.Globalization.CultureInfo.CurrentCulture, System.Globalization.DateTimeStyles.None)