VB6.0如何实现excel导入到SQL server2008数据库中
PrivateSubCommand1_Click()DimstrconnAsStringCommonDialog1.Filter="全部文件"CommonDialog1....
Private Sub Command1_Click()
Dim strconn As String
CommonDialog1.Filter = "全部文件"
CommonDialog1.DialogTitle = "请选择要导入的文件"
Set rstemp = CreateObject("ADODB.Recordset")
Set cnn = CreateObject("ADODB.Connection")
strconn = "provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Password=watts1234;Initial Catalog=Data1;Data Source=WNV680WIN7"
cnn.Open strconn
CommonDialog1.ShowOpen
strsql = "select* into Table_1 from openrowset('Microsoft.Jet.OLEDB.4.0','Excel14.0;HDR=Yes;database=Data1" & CommonDialog1.FileName & ";','select * from[sheet1$]') where 型号<>'型号'"
rstemp.Open strsql, cnn, 1, 1
MsgBox "数据导入成功!", vbExclamation + vbOKOnly
cnn.Close
Set conn = Nothing
rstemp.Close
Set rstemp = Nothing
End Sub
大家帮忙看看这段代码有什么错误的地方,在运行的时候'Microsoft.Jet.OLEDB.4.0'返回一个错误提示:找不到可安装的ISAM 展开
Dim strconn As String
CommonDialog1.Filter = "全部文件"
CommonDialog1.DialogTitle = "请选择要导入的文件"
Set rstemp = CreateObject("ADODB.Recordset")
Set cnn = CreateObject("ADODB.Connection")
strconn = "provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Password=watts1234;Initial Catalog=Data1;Data Source=WNV680WIN7"
cnn.Open strconn
CommonDialog1.ShowOpen
strsql = "select* into Table_1 from openrowset('Microsoft.Jet.OLEDB.4.0','Excel14.0;HDR=Yes;database=Data1" & CommonDialog1.FileName & ";','select * from[sheet1$]') where 型号<>'型号'"
rstemp.Open strsql, cnn, 1, 1
MsgBox "数据导入成功!", vbExclamation + vbOKOnly
cnn.Close
Set conn = Nothing
rstemp.Close
Set rstemp = Nothing
End Sub
大家帮忙看看这段代码有什么错误的地方,在运行的时候'Microsoft.Jet.OLEDB.4.0'返回一个错误提示:找不到可安装的ISAM 展开
1个回答
展开全部
用openrowset,具体用法查查资料看看。
更多追问追答
追问
就是用的那个方法 出错了 不知道什么原因
追答
strsql = "select * into Table_1 from (openrowset('Microsoft.Jet.OLEDB.4.0','Excel 8.0;database=" & CommonDialog1.FileName & "','select * from [sheet1$]' where 型号'型号'"
cnn.execute strsql
像这样改一下这两行代码试试看。
因为从EXCEL到SQLSERVER是很严格的,比较EXCEL方面数据类型要一致,要有字段名,不能为NULL等,可以先在SQL的查询分析器中先select一下openrowset的记录,可能同时要修改EXCEL中的数据格式等,至少直到在查询分析器中读取没有问题。
要花点时间琢磨呀。
以前我用openrowset读取过,不过在查询分析器中可以读取,但到VB中又有问题,
最后我放弃了这种作法,而改用OLEDB。但是在VB.NET中。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |