我'm uploading an excel sheet, and want to move its data to another table in the database. The last two days I'已经收到错误( System.Data.OleDb.OleDbException invalid argument
),但是,如果我设计一个非常简单的应用程序,它工作正常 . 请帮我
Using conn As New SqlConnection(ConfigurationManager.ConnectionStrings("TERAMSConnectionString").ConnectionString)
Dim path As String = FileUpload1.PostedFile.FileName
Dim excelConnectionString As String = ("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + (path + ";Extended Properties=Excel 12.0;Persist Security Info=False"))
Dim excelConnection As OleDbConnection = New OleDbConnection(excelConnectionString)
conn.Open()
excelConnection.Open()
Dim cmd As OleDbCommand = New OleDbCommand("Select * from [Sheet1$]", excelConnection)
'Clears any previous data
Dim sClearSQL = "DELETE FROM Desktop_Compare "
Dim SqlCmd As SqlCommand = New SqlCommand(sClearSQL, conn)
SqlCmd.ExecuteNonQuery()
Dim dReader As OleDbDataReader = cmd.ExecuteReader
Dim sqlBulk As SqlBulkCopy = New SqlBulkCopy(conn)
excelConnection.Close()
conn.Close()
End Using
Line 74: Dim excelConnection As OleDbConnection = New OleDbConnection(excelConnectionString)
Line 75: conn.Open()
Line 76: **excelConnection.Open()**
Line 77: Dim cmd As OleDbCommand = New OleDbCommand("Select * from [Sheet1$]", excelConnection)
Line 78: 'Clears any previous data
2 回答
尝试将连接字符串更改为:
如果这不起作用,请尝试一次更改/添加
Extended Properties
和Persist Security Info
,因为您看到ACE驱动程序出现问题,或者其他一个参数导致问题至于你的用户得到未处理的错误,你可以尝试这样的事情:
首先,将excel数据加载到datagridview中 . 之后,来自gridview的所有数据,必须将它们插入到表数据库中 . 它会解决你的问题 . 你必须试试这个!
第一次投入 -
1个按钮 - btnOpen -
1个文本框 - txtOpen -
再次按下1个按钮 - btnLoad-
1 datagridview - DataGridView3-
1个组合框 - cboSheet
在OpenButton中 . 把这段代码
在加载按钮中将此代码放在下面
然后将所有数据保存到表数据库中 . 请使用以下代码
我希望它会奏效! :)