微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

插入并从SQL Server数据库中selectdate

尝试从sql Server中select数据或使用C#windows应用程序插入数据时,出现以下exception。 我在这样的单引号中的select查询的where子句中传递date,如'16/03/2011'exception消息如下所示:

char数据types转换为date时间数据types导致超出范围的date时间值。

是否有任何完美的解决scheme,从sqlserver数据库插入和selectdate无关的操作系统。 即在意大利和英国的操作系统上都可以运行。

将文本文件中的数字与另一个文本文件中的数字列表进行比较

如何在Windows 7中打开.win文件

Oracle SID和服务名称; 连接问题

非常大的写入密集型MysqL导入

强制整个MysqL数据库在内存中

我应该使用什么数据库来部署WPF应用程序?

XNA的Windows游戏简单的数据库访问 – .mdb不起作用

如何从unix连接到oracle数据库

领域支持UWP

夜间任务将数据库备份到MS Access

如果您不能使用存储的特效或参数化查询,则可能需要以yyyy-mm-dd格式格式化日期。 防爆。 '2011-03-16'

T-sql示例

INSERT INTO MyTable (SomeDate) VALUES ('2011-03-16')

要么

SELECT * FROM MyTable WHERE SomeDate <= '2011-03-16'

另外,请记住日期的时间部分。 如果时间不重要,那么确保不要存储它,因为它可能会影响你的SELECT查询

使用存储过程或参数化查询。 这些可以让你传入一个C#的datetime对象,转换将自动为你处理。

我会建议从sqlDataAdapter类开始。 一个简单的例子是:

using (sqlDataAdapter da = new sqlDataAdapter("SELECT * FROM MyTable WHERE myDate = @myDate",somesqlConnection) { da.SelectCommand.Paramaters.Add("@myDate",new DateTime()); DataTable dt = new DataTable(); da.Fill(dt); }

但是,请注意,有许多不同的方法来实现您的目标。 从你的问题,我会想象你正在创建sql字符串,并执行它们对您的数据库。 由于许多原因(包括您所描述的原因),这被认为是一种不好的做法。 阅读关于ORM的实体框架或NHibernate。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐