Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/277.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.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# 将字符串转换为smalldatetime_C#_.net_Vb.net - Fatal编程技术网

C# 将字符串转换为smalldatetime

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后,让驱动程序为您完成这项工作

我有一个字符串,其排列方式与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
后,让驱动程序为您完成这项工作。(有关示例,请参阅文档。)

这就是您应该如何处理几乎所有的值,尤其是用户输入的值。除了不必担心格式化之外,这还可以防止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应用程序的移动设备,我并没有真正考虑注入。