将字符串转换为smalldatetime

Lou*_*uis 2 .net c# 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会让月份和日期混淆.

谢谢你的想法

Jon*_*eet 9

不要使用字符串开始将数据发送到SQL Server.而是使用参数化的SQL语句,并在指定之后让驱动程序为您完成工作DateTime.(有关示例,请参阅SqlCommand.Parameters文档.)

这就是你应该如何处理几乎所有的价值 - 特别是用户输入的价值.除了不必担心格式化之外,这还可以防止SQL注入攻击.

因此,只需将解析输入字符串的任务留作a DateTime,最好用DateTime.ParseExact或完成DateTime.TryParseExact,具体取决于您是否希望解析失败的结果是异常.