【发布时间】:2010-11-04 09:34:01
【问题描述】:
我使用 c#-Visual 2008-编写了一个代码:
1- 一张 Excel 表格。
2- 打开与 Excel 的连接
3- 使用 OleDbDataReader 对象和 GetTableSchema 方法读取列名
4- 在数组中添加列名称
5- 创建了一个与 EXcel 表具有相同列名的表(我使用了 CREATE 表
命令)
6-然后,一旦我在 SQL 中创建了表,我就会遍历 excel 行并添加数据 使用 Insert 命令进入 sql。
现在我的问题是:
在“创建表”命令中,我必须为列指定数据类型!即
CREATE TABLE "table_name"
("column 1" "data_type_for_column_1",
"column 2" "data_type_for_column_2",
... )
我应该如何解决这个问题? excel列可以的数据类型和SQL server中的数据类型一样吗?有某种映射吗?请帮帮我。 谢谢
【问题讨论】:
-
是否使所有列 NVarchar 不正常?你需要数据类型来匹配excel中数据的实际类型吗?
-
您可以尽可能地尝试在SQL server中为Excel电子表格数据找到最接近的数据类型。您可以更轻松地从 SQL DB 导出和导入。
-
感谢您的回复,我的目标是让数据类型与 Excel 中数据的实际类型相匹配。我不能使用导入按钮。我需要为它写一个代码
标签: c# sql-server-2005 ado.net oledb getschematable