C# 将字符串转换为smalldatetime
我有一个字符串,其排列方式与yyyy dd MM HH:MM:ss格式相匹配 它可能看起来像这样C# 将字符串转换为smalldatetime,c#,.net,vb.net,C#,.net,Vb.net,我有一个字符串,其排列方式与yyyy dd MM HH:MM:ss格式相匹配 它可能看起来像这样2010-20-12 13:30:00 我需要将其插入SQL Server中的smalldatetime列。列的格式为 yyyy MM dd HH:MM:ss 我需要字符串如下所示2010-12-20 13:30:00,否则SQL Server将混淆月份和日期 感谢您的想法不要以字符串开头将数据发送到SQL server。相反,使用参数化SQL语句,在指定DateTime后,让驱动程序为您完成这项工作
2010-20-12 13:30:00
我需要将其插入SQL Server中的smalldatetime列。列的格式为
yyyy MM dd HH:MM:ss
我需要字符串如下所示2010-12-20 13:30:00
,否则SQL Server将混淆月份和日期
感谢您的想法不要以字符串开头将数据发送到SQL server。相反,使用参数化SQL语句,在指定
DateTime
后,让驱动程序为您完成这项工作。(有关示例,请参阅文档。)
这就是您应该如何处理几乎所有的值,尤其是用户输入的值。除了不必担心格式化之外,这还可以防止SQL注入攻击
因此,只剩下将输入字符串解析为
DateTime
,这最好使用或来完成,这取决于您是否希望解析失败的结果是异常。您不需要转换为字符串。使用参数化sql查询或存储过程,只需提供datetime对象作为参数。sql命令将很好地处理插入
如果您只有字符串,可以使用datetime.Parse和DateTimeFormatInfo将其转换为datetime(有关创建格式信息的帮助,请参阅)。您可以尝试以下操作:
//First convert string to DateTime
DateTime dt;
dt = Convert.ToDateTime("2010-20-12 13:30:00");
//Second Convert DateTime to formatted string
string t_time;
t_time = dt.ToString("yyyy-dd-MM hh:mm tt");
HTH.这不是一种有效的方式:)OP直截了当地问“我需要字符串看起来像这个2010-12-20 13:30:00”我不认为我的答案是否决投票有那么糟糕:(谢谢你提醒我有关参数。我在Web应用程序上使用了这些参数。这是一个需要同步一些SQLite数据和Web应用程序的移动设备,我并没有真正考虑注入。