完成vb下将excel的表导入sql
来源:互联网 发布:海洋cms采集资源库 编辑:程序博客网 时间:2024/05/21 09:42
忙了两天,找书,上网,查了一些资料总算吧这个问题解决了。对于像编程开发一类的工作,有时看书没太大的帮助,以为实践性比较强,还真的不如上网baidu或google一下来的快。前两天找的那篇文章其实没有利用上,倒是连到CSDN上的一个帖子给了直接方法。帖子表述如下:
******************************************************************
'引用ADO(Microsoft ActiveX Data Objects 2.X Library)
Private Sub Command1_Click()
On Error GoTo err
Dim cn As New ADODB.Connection
'具体的数据库连接请自己改过来
cn.ConnectionString = "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Password=123;Initial Catalog=dataBase001;Data Source=mySERVICE"
cn.CursorLocation = adUseClient
cn.Open
cn.Execute "select * into NewTable from OpenRowSet('microsoft.jet.oledb.4.0','Excel 8.0;HDR=Yes;database=c:/Test.xls;','select * from [Sheet1$]')"
cn.Close
Set cn=Nothing
Exit Sub
err:
MsgBox err.Description
End Sub
********************************************************************
由于刚接触数据库,知道这用的是ADO的方法,但是不知道他那引用ADO是什么意思,跑起代码总是第一个声明就错了。后来才知道要在工程->引用里把Microsoft ActiveX Data Library 2.x 选上。
现在目标已经实现,想把其中的几个点记录一下.
1.与sql的连接
这是一个最头大的问题,个人觉得最重要的就是把身份验证设为“混合模式”,用“windows模式”安全但是对编程开发很不便。在想方便就是选择“空密码”;
2.connectionstring
连接字符串各个参数的顺序可以互换,Initial Catalog指数据库的名称,Data Source指数据库服务器的地址。
3.sql语句中变量作为参数
变量还放在原参数的位置,但要在其两侧放上&,在加两个双引号,比如下句:
select * into NewTable from
现在用变量table代替NewTable
select * into " & table & " from
最后实现的代码如下:
Private Sub Command1_Click()
On Error GoTo err
Dim cn As New ADODB.Connection
database = Text3.Text
table = Text2.Text
'cn.ConnectionString = "Provider=SQLOLEDB.1;Password=;Persist Security Info=false;User ID=sa;Initial Catalog=" & database & ";Data Source=(local)"
cn.ConnectionString = "Provider=SQLOLEDB.1;Persist Security Info=false;User ID=sa;Password=;Initial Catalog=" & database & ";Data Source=(local)"
cn.CursorLocation = adUseClient
cn.Open
'cn.Execute "select * into NewTable from OpenRowSet('microsoft.jet.oledb.4.0','Excel 8.0;HDR=yes;database=e:/test.xls;','select * from [Sheet1$]')"
cn.Execute "select * into " & table & " from OpenRowSet('microsoft.jet.oledb.4.0','Excel 8.0;HDR=yes;database=" & filenamefet & ";','select * from [Sheet1$]')"
cn.Close
Set cn = Nothing
MsgBox "ok!"
Exit Sub
err:
MsgBox err.Description
End Sub
Private Sub Command2_Click()
CommonDialog1.Filter = "EXCEL文件(*.xls)|*.xls"
CommonDialog1.ShowOpen
filenamefet = CommonDialog1.FileName
Text1.Text = filenamefet
End Sub
******************************************************************
'引用ADO(Microsoft ActiveX Data Objects 2.X Library)
Private Sub Command1_Click()
On Error GoTo err
Dim cn As New ADODB.Connection
'具体的数据库连接请自己改过来
cn.ConnectionString = "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Password=123;Initial Catalog=dataBase001;Data Source=mySERVICE"
cn.CursorLocation = adUseClient
cn.Open
cn.Execute "select * into NewTable from OpenRowSet('microsoft.jet.oledb.4.0','Excel 8.0;HDR=Yes;database=c:/Test.xls;','select * from [Sheet1$]')"
cn.Close
Set cn=Nothing
Exit Sub
err:
MsgBox err.Description
End Sub
********************************************************************
由于刚接触数据库,知道这用的是ADO的方法,但是不知道他那引用ADO是什么意思,跑起代码总是第一个声明就错了。后来才知道要在工程->引用里把Microsoft ActiveX Data Library 2.x 选上。
现在目标已经实现,想把其中的几个点记录一下.
1.与sql的连接
这是一个最头大的问题,个人觉得最重要的就是把身份验证设为“混合模式”,用“windows模式”安全但是对编程开发很不便。在想方便就是选择“空密码”;
2.connectionstring
连接字符串各个参数的顺序可以互换,Initial Catalog指数据库的名称,Data Source指数据库服务器的地址。
3.sql语句中变量作为参数
变量还放在原参数的位置,但要在其两侧放上&,在加两个双引号,比如下句:
select * into NewTable from
现在用变量table代替NewTable
select * into " & table & " from
最后实现的代码如下:
Private Sub Command1_Click()
On Error GoTo err
Dim cn As New ADODB.Connection
database = Text3.Text
table = Text2.Text
'cn.ConnectionString = "Provider=SQLOLEDB.1;Password=;Persist Security Info=false;User ID=sa;Initial Catalog=" & database & ";Data Source=(local)"
cn.ConnectionString = "Provider=SQLOLEDB.1;Persist Security Info=false;User ID=sa;Password=;Initial Catalog=" & database & ";Data Source=(local)"
cn.CursorLocation = adUseClient
cn.Open
'cn.Execute "select * into NewTable from OpenRowSet('microsoft.jet.oledb.4.0','Excel 8.0;HDR=yes;database=e:/test.xls;','select * from [Sheet1$]')"
cn.Execute "select * into " & table & " from OpenRowSet('microsoft.jet.oledb.4.0','Excel 8.0;HDR=yes;database=" & filenamefet & ";','select * from [Sheet1$]')"
cn.Close
Set cn = Nothing
MsgBox "ok!"
Exit Sub
err:
MsgBox err.Description
End Sub
Private Sub Command2_Click()
CommonDialog1.Filter = "EXCEL文件(*.xls)|*.xls"
CommonDialog1.ShowOpen
filenamefet = CommonDialog1.FileName
Text1.Text = filenamefet
End Sub
- 完成vb下将excel的表导入sql
- vb下将sql中的表导入到excel
- 使用VB将Excel导入到Sql中
- VB.NET将EXCEL中的数据导入到SQL SERVER
- 将Excel表导入到SQL Server 2005 的DB
- vb.net 将DataGridView数据导入到Excel的方式
- 将Excel表导入Sql Server
- vb中怎样将excel表导入到access中
- 使用vb将excel导入PowerDesigner,生成表结构
- 使用vb将excel导入PowerDesigner,生成表结构
- 使用vb将excel导入PowerDesigner,生成表结构2
- 将指定文件夹下结构相同的EXCEL文件批量导入到SQL数据库中指定的表
- VB.net将图片导入到Excel
- vb(3) 将excel导入grid
- vb(4) 将grid数据导入Excel
- vb(5) 将查询导入Excel
- 将Excel导入SQL Server
- vb excel导入到sql server
- 如何做好部门经理
- 《人物》:计算机世界第一人 - 艾兰·图灵
- oracle 监听程序无法启动解决方法。
- JTextArea的undo与redo
- 详细解析Java中抽象类和接口的区别
- 完成vb下将excel的表导入sql
- [转贴]How do I find a stored procedure containing ?
- 某知识问答竞技生活网被挂马Trojan.Win32.Undef.eab
- C/C++ 文件读写操作总结
- fedora 7软件添加/删除
- C Java PHP Perl Python的程序代码美化工具使用
- C++内存管理
- 以前做MIT 6.828练习的一点总结
- 程序员的效率