首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将字符串转换为smalldatetime

将字符串转换为smalldatetime
EN

Stack Overflow用户
提问于 2011-03-15 00:05:15
回答 3查看 19.3K关注 0票数 2

我有一个字符串,它的排列方式与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会混淆月份和日期。

谢谢你的想法

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-03-15 00:07:35

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

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

因此,只剩下将输入字符串解析为DateTime的任务,最好使用DateTime.ParseExactDateTime.TryParseExact来完成,这取决于您是否希望解析失败的结果成为异常。

票数 10
EN

Stack Overflow用户

发布于 2011-03-15 00:10:05

您可以尝试如下所示:

代码语言:javascript
复制
//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。

票数 3
EN

Stack Overflow用户

发布于 2011-03-15 00:08:08

您不应该需要转换为字符串。使用参数化sql查询或存储过程,只需提供一个datetime对象作为参数。sql命令可以很好地处理插入操作。

如果只有字符串,可以使用DateTime.Parse和DateTimeFormatInfo将其转换为datetime (有关创建格式信息的帮助,请参阅this documentation )。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5301189

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档