Dim fileName As String
Dim conn As New OleDbConnection
conn.ConnectionString = "Provider=SQLOleDb;Data Source=10.134.252.9;Initial Catalog=attendence;User ID=SA;Password="
Dim strConn As New OleDbConnection
strConn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source='" & fileName & "';Extended Properties=Excel 8.0;"
Me.OpenFileDialog1.Filter = "Excle文件(*.xls)|*.xls"
If Me.OpenFileDialog1.ShowDialog() = DialogResult.OK Then
fileName = Me.OpenFileDialog1.FileName
Dim strsql As String = "insert shifinfo(EMPLOYEEID,EMPLOYEEID1,EMPLOYEENAME,DEPARTMENTNO,SETDATE,DETAILNO) SELECT * FROM [SHIFTINFO$]"
Dim SqlCmd As New OleDbCommand
SqlCmd.Connection = conn
SqlCmd.Connection = strConn
SqlCmd.CommandText = strsql
Try
conn.Open()
strConn.Open()
SqlCmd.ExecuteNonQuery()
MessageBox.Show("数据倒入成功")
Me.Bingub()
Catch ex As Exception
MessageBox.Show(ex.Message)
Finally
conn.Close()
strConn.Close()
End Try
End If
End Sub
21 个解决方案
#1
你要说说现象的呀,什么地方出错了,抱什么样的错误
#2
无效的参数量
#3
执行的时候弹出提示框就是上面说的无效的参数量
#4
有没有人知道怎么回事呀
#5
SqlCmd.Connection = conn
SqlCmd.Connection = strConn
检查一下这两个语句,能这样写吗?我可没试过。
SqlCmd.Connection = strConn
检查一下这两个语句,能这样写吗?我可没试过。
#6
楼上的,楼主这两句语法上好像没什么问题吧
SqlCmd.Connection = conn
SqlCmd.Connection = strConn
SqlCmd.CommandText = strsql
SqlCmd.Connection已经被刷新。那还能执行你的SQL吗?
SqlCmd.Connection = conn
SqlCmd.Connection = strConn
SqlCmd.CommandText = strsql
SqlCmd.Connection已经被刷新。那还能执行你的SQL吗?
#7
我的意思就是这样啊,LZ原意是想用一个SQLCOM做两个链接,他那样写,就别刷新了啊。
#8
我的意思就是这样啊,LZ原意是想用一个SQLCOM做两个链接,他那样写,就给刷新了啊。
#9
建议楼主单步调试一下,看看在哪一行代码上面出错,
#10
Dim SqlCmd As New OleDbCommand
SqlCmd.Connection = conn
SqlCmd.Connection = strConn
SqlCmd.CommandText = strsql
====================================================
这个conncetion怎么被重复的赋值
SqlCmd.Connection = conn
SqlCmd.Connection = strConn
SqlCmd.CommandText = strsql
====================================================
这个conncetion怎么被重复的赋值
#11
[SHIFTINFO$] 从哪里来?,这样当然出错
#12
SHIFTINFO$] 从哪里来?你只是得到了Excle文件的路径,并没有做什么,这样当然出错
#13
我的思想是做两个连接,一个连接excel的[SHIFTINFO$],一个连接数据库的shiftinfo表,然后将excel的[SHIFTINFO$]表导入到sql数据库的shiftinfo表中,可能上面的方法不对,请各位指教!!
#14
conn.ConnectionString = "Provider=SQLOleDb;Data Source=10.134.252.9;Initial Catalog=attendence;User ID=SA;Password="
這句應該不對吧,password=後如果沒有密碼,應該加個''這個符號。
這句應該不對吧,password=後如果沒有密碼,應該加個''這個符號。
#15
你用的是Excel2000还是2003?
#16
2003
#17
1433 端口有没有打开
Public conn As SqlConnection = New SqlConnection("Data Source=10.134.252.9,1433;Network Library=DBMSSOCN;Initial Catalog=attendence;user id=sa;password=")
sql server 2000 sp4补丁要打,否则连不上
Public conn As SqlConnection = New SqlConnection("Data Source=10.134.252.9,1433;Network Library=DBMSSOCN;Initial Catalog=attendence;user id=sa;password=")
sql server 2000 sp4补丁要打,否则连不上
#18
各位仔细看看代码,再回答
#19
我没有做过command连接二个Connection,如果这是可以的话,那么如下的SQL语句肯定是错误的,因为这里没有指明表说在的数据库,执行成功才是奇怪的。
insert shifinfo(EMPLOYEEID,EMPLOYEEID1,EMPLOYEENAME,DEPARTMENTNO,SETDATE,DETAILNO) SELECT * FROM [SHIFTINFO$]
insert shifinfo(EMPLOYEEID,EMPLOYEEID1,EMPLOYEENAME,DEPARTMENTNO,SETDATE,DETAILNO) SELECT * FROM [SHIFTINFO$]
#20
像这种情况,我也试过好的办法,但都没有成功,不知各位有没有好看方法实现
#21
我也觉得是SQL语句的问题
SELECT * into 表名
FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="文件路径";Extended properties="Excel 8.0;HDR=No"')...[Sheet1$]
SELECT * into 表名
FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="文件路径";Extended properties="Excel 8.0;HDR=No"')...[Sheet1$]
#1
你要说说现象的呀,什么地方出错了,抱什么样的错误
#2
无效的参数量
#3
执行的时候弹出提示框就是上面说的无效的参数量
#4
有没有人知道怎么回事呀
#5
SqlCmd.Connection = conn
SqlCmd.Connection = strConn
检查一下这两个语句,能这样写吗?我可没试过。
SqlCmd.Connection = strConn
检查一下这两个语句,能这样写吗?我可没试过。
#6
楼上的,楼主这两句语法上好像没什么问题吧
SqlCmd.Connection = conn
SqlCmd.Connection = strConn
SqlCmd.CommandText = strsql
SqlCmd.Connection已经被刷新。那还能执行你的SQL吗?
SqlCmd.Connection = conn
SqlCmd.Connection = strConn
SqlCmd.CommandText = strsql
SqlCmd.Connection已经被刷新。那还能执行你的SQL吗?
#7
我的意思就是这样啊,LZ原意是想用一个SQLCOM做两个链接,他那样写,就别刷新了啊。
#8
我的意思就是这样啊,LZ原意是想用一个SQLCOM做两个链接,他那样写,就给刷新了啊。
#9
建议楼主单步调试一下,看看在哪一行代码上面出错,
#10
Dim SqlCmd As New OleDbCommand
SqlCmd.Connection = conn
SqlCmd.Connection = strConn
SqlCmd.CommandText = strsql
====================================================
这个conncetion怎么被重复的赋值
SqlCmd.Connection = conn
SqlCmd.Connection = strConn
SqlCmd.CommandText = strsql
====================================================
这个conncetion怎么被重复的赋值
#11
[SHIFTINFO$] 从哪里来?,这样当然出错
#12
SHIFTINFO$] 从哪里来?你只是得到了Excle文件的路径,并没有做什么,这样当然出错
#13
我的思想是做两个连接,一个连接excel的[SHIFTINFO$],一个连接数据库的shiftinfo表,然后将excel的[SHIFTINFO$]表导入到sql数据库的shiftinfo表中,可能上面的方法不对,请各位指教!!
#14
conn.ConnectionString = "Provider=SQLOleDb;Data Source=10.134.252.9;Initial Catalog=attendence;User ID=SA;Password="
這句應該不對吧,password=後如果沒有密碼,應該加個''這個符號。
這句應該不對吧,password=後如果沒有密碼,應該加個''這個符號。
#15
你用的是Excel2000还是2003?
#16
2003
#17
1433 端口有没有打开
Public conn As SqlConnection = New SqlConnection("Data Source=10.134.252.9,1433;Network Library=DBMSSOCN;Initial Catalog=attendence;user id=sa;password=")
sql server 2000 sp4补丁要打,否则连不上
Public conn As SqlConnection = New SqlConnection("Data Source=10.134.252.9,1433;Network Library=DBMSSOCN;Initial Catalog=attendence;user id=sa;password=")
sql server 2000 sp4补丁要打,否则连不上
#18
各位仔细看看代码,再回答
#19
我没有做过command连接二个Connection,如果这是可以的话,那么如下的SQL语句肯定是错误的,因为这里没有指明表说在的数据库,执行成功才是奇怪的。
insert shifinfo(EMPLOYEEID,EMPLOYEEID1,EMPLOYEENAME,DEPARTMENTNO,SETDATE,DETAILNO) SELECT * FROM [SHIFTINFO$]
insert shifinfo(EMPLOYEEID,EMPLOYEEID1,EMPLOYEENAME,DEPARTMENTNO,SETDATE,DETAILNO) SELECT * FROM [SHIFTINFO$]
#20
像这种情况,我也试过好的办法,但都没有成功,不知各位有没有好看方法实现
#21
我也觉得是SQL语句的问题
SELECT * into 表名
FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="文件路径";Extended properties="Excel 8.0;HDR=No"')...[Sheet1$]
SELECT * into 表名
FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="文件路径";Extended properties="Excel 8.0;HDR=No"')...[Sheet1$]