C# 如何在使用SQL字符串插入MS Access时强制转换正确的数据类型?

C# 如何在使用SQL字符串插入MS Access时强制转换正确的数据类型?,c#,excel,ms-access,casting,type-conversion,C#,Excel,Ms Access,Casting,Type Conversion,我有一个Excel表格,有数百列和各种数据类型(整数、字符串、日期)。我正在使用C#以编程方式将这些行插入MS Access数据库表中 当我构建查询字符串时,所有Excel单元格内容都变成字符串。查询字符串的结果如下所示: string query = "INSERT INTO tbl_Items VALUES ('toy duck', 'yellow', '122', '2015-01-16')" 由于要处理的列的数量太多,并且需要灵活的代码,因此不可能在我的SQL字符串中使用插入到tbl_

我有一个Excel表格,有数百列和各种数据类型(整数、字符串、日期)。我正在使用C#以编程方式将这些行插入MS Access数据库表中

当我构建查询字符串时,所有Excel单元格内容都变成字符串。查询字符串的结果如下所示:

string query = "INSERT INTO tbl_Items VALUES ('toy duck', 'yellow', '122', '2015-01-16')"
由于要处理的列的数量太多,并且需要灵活的代码,因此不可能在我的SQL字符串中使用插入到tbl_项值('toy duck','yellow',CLng('122'),CDate('2015-01-16'))的类型强制转换为tbl_项值('toy duck','yellow',CLng('122'))


那么,如何在Access DB中实现灵活的多种数据类型的编程插入呢?我不介意在Access中预先定义数据库表,但我不确定它是否能正确地自动更改输入的字符串。有什么建议吗?

哦,哇!只需预先定义表列类型即可!MS Access会自动将字符串转换为必要的类型

例如:

***tbl_Items***
name: String,
color: String,
weight: Number,
delivery_date: Date
将接受并自动转换SQL字符串:

string query = "INSERT INTO tbl_Items VALUES ('toy duck', 'yellow', '122', '2015-01-16')"
是的,只要数据可以转换为目标数据类型,就可以了。请注意日期字符串,根据地区设置或当前月相,类似于“01/03/2015”的日期字符串可能会在1月3日或3月1日结束。:)但是
yyyy-mm-dd
是安全的。