2010-11-04 152 views
1

我當前正嘗試使用C#將Excel電子表格中存在的數據直接插入到Access表中。不想使用互操作,以避免掛會話等使用C#將Excel電子表格中的數據插入到Microsoft Access中

設法得到相當遠了使用OleDb的軌道和下面的SQL: -

INSERT INTO [MS訪問; DATABASE = C:\報告。 MDB] .tbl_Limit SELECT 1,限制從[rngLimit]」,其中rngLimit是Excel範圍名稱

ERR消息:。=沒有用於一個或多個必需參數的給定值

非常接近,但它仍然沒有按」任何想法?

回答

0

兩個想法:

Excel電子表格中的列標題是否與剛好匹配到Access數據庫中的列名稱?

rngLimit在Excel中的命名範圍的名稱(嚴格地說,一個Name對象,它是Names收集相應的工作簿中的一員),或者是它是指一個Range對象的變量只是名字?如果是後者,那麼你需要給出這種格式的範圍的完整地址:[Sheet1$A1:D52]。您可以調查對象的Worksheet.NameAddress屬性。

1

可管理以解決由於跟蹤和錯誤導致的問題。首先確保連接字符串指向OLEDB中的Access數據庫,然後讓SQL遵循以下格式: -

[INSERT INTO] + [MS Access; DATABASE =「+ AccessDatabaseName +」]。「+ AccessDestinationTableName + 「SELECT」+ ExcelFieldNames +「FROM [」+ ExcelRangeName +「]」;

與正常的SQL插入語句一樣,您必須確保字段FROM和TO的計數相等,即INSERT INTO tbl_Name( col1,col3)值(col1,col2)

相關問題