【发布时间】:2015-05-19 05:29:21
【问题描述】:
在 .NET 3.5 的 ASP.NET WebForms 项目中,数据被传输到 Access 数据库。该站点在 Windows 2003(英文版)的 IIS 6 上运行。
在 ASPX 文件中,AccessDataSource 用于读取和写入数据。读取数据工作正常,但写入日期失败。但写作工作,如果日期提供为 MM-dd-yyyy,但 dd.mm.yyyy 不起作用。如果日期以 dd.mm.yyy 的形式提供,我会收到此错误:
System.Data.OleDb.OleDbException: Data type mismatch in criteria expression.
导致此错误的代码示例:
AccessDataSource myAds = new AccessDataSource("~/App_Data/mydb.mdb", "");
myAds.InsertCommand =
"INSERT INTO [table1] " +
"([Value], [Date]) VALUES ('data', DateValue('" + DateTime.Now.ToString("dd.MM.yyyy") + "'))";
myAds.Insert();
区域和语言设置设置为德语,因此日期格式正确。 在 Database 中,日期和时间存储在 DateTime 字段中。
在不更改数百页遗留代码的情况下,我必须配置什么来纠正这个问题?
【问题讨论】:
-
这对阅读消息没有任何好处...您可以发布代码、架构和/或告诉我们特定字段的数据类型是什么对于日期字段是什么......是这是一个真正的数据时间字段,时间戳,varchar ...等...请提供更多有用的信息
-
感谢您的建议,我添加了有关数据库的代码和信息。
标签: c# ms-access webforms datasource