VBA SQLServer 基本操作
2012-08-09 16:27
316 查看
读取MS SQL Server数据表数据,并将它保存到excel工作表中
读取excel工作表数据,并将之插入到数据库中(将sheet1工作表中的A2:D6的记录插入到数据库pubs的jobs数据表中)
分类: VBA
转自:/article/5700124.html
个人学习收藏用!
Sub ReturnSQLrecord() 'sht 为excel工作表对象变量,指向某一工作表 Dim i As Integer, sht As Worksheet '定义数据链接对象 ,保存连接数据库信息 '使用ADODB,须在菜单的Tools->References中添加引用“Microsoft ActiveX Data Objects library 2.x” Dim cn As New ADODB.Connection '定义记录集对象,保存数据表 Dim rs As New ADODB.Recordset Dim strCn As String, strSQL As String '定义数据库链接字符串,Server=服务器名称或IP地址(本地可填写“.”);Database=数据库名称;Uid=用户登录名;Pwd=密码 strCn = "Provider=sqloledb;Server=NIKEY-980114BB0;Database=pubs;Uid=sa;Pwd=sa;" '定义SQL查询命令字符串 strSQL = "select job_id, job_desc from dbo.jobs" '与数据库建立连接,如果成功,返回连接对象cn cn.Open strCn '执行strSQL所含的SQL命令,结果保存在rs记录集对象中 rs.Open strSQL, cn i = 1 '把sht指向当前工作簿的sheet1工作表 Set sht = ThisWorkbook.Worksheets("sheet1") '当数据指针未移到记录集末尾时,循环下列操作 Do While Not rs.EOF '把当前记录的job_id字段的值保存到sheet1工作表的第i行第1列 sht.Cells(i, 1) = rs("job_id") sht.Cells(i, 2) = rs("job_desc") '把指针移向下一条记录 rs.MoveNext i = i + 1 Loop '关闭记录集 rs.Close '关闭数据库链接,释放资源 cn.Close End Sub
读取excel工作表数据,并将之插入到数据库中(将sheet1工作表中的A2:D6的记录插入到数据库pubs的jobs数据表中)
Sub ReturnSQLrecord() Dim i As Integer, sht As Worksheet '定义数据链接对象 ,保存连接数据库信息 '使用ADODB,须在菜单的Tools->References中添加引用“Microsoft ActiveX Data Objects library 2.x” Dim cn As New ADODB.Connection Dim strCn As String, strSQL As String '定义数据库链接字符串,Server=服务器名称或IP地址(本地可填写“.”);Database=数据库名称;Uid=用户登录名;Pwd=密码 strCn = "Provider=sqloledb;Server=.;Database=pubs;Uid=sa;Pwd=sa;" '清空定义的变量 strSQL = "" '与数据库建立连接,如果成功,返回连接对象cn cn.Open strCn Set sht = ThisWorkbook.Worksheets("sheet1") For i = 2 To 6 '构造SQL命令串,对标识列job_id执行插入操作时,要设置表的IDENTITY_INSERT为打开,否则会插入失败 strSQL = strSQL & "SET IDENTITY_INSERT dbo.jobs ON;insert into dbo.jobs(job_id,job_desc,min_lvl,max_lvl) values(" _ & sht.Cells(i, 1) & "," & CStr(sht.Cells(i, 2)) & "," & sht.Cells(i, 3) & "," & sht.Cells(i, 4) & ") ;" Next '执行该SQL命令串,如果SQL命令没有错误,将在数据库中添加5个记录;也可以用rs.open strSQL,cn 执行 cn.Execute strSQL '关闭数据库链接,释放资源 cn.Close End Sub
A | B | C | D | |
1 | job_id | job_desc | min_lvl | max_lvl |
2 | 30 | 'test30' | 20 | 100 |
3 | 31 | 'test31' | 20 | 100 |
4 | 32 | 'test32' | 20 | 100 |
5 | 33 | 'test33' | 20 | 100 |
6 | 34 | 'test34' | 20 | 100 |
转自:/article/5700124.html
个人学习收藏用!
相关文章推荐
- VBA SQLServer 基本操作
- vba基本操作 -- MS SQL Server操作
- 存储过程的基本操作(SQL Server Management Studio)
- SQL_server 的基本操作
- Microsoft SQL server 2000基本操作
- oracle mysql sqlserver 查看当前所有数据库及数据库基本操作命令
- vb sql server创建数据库实现增、删、改、查等基本操作
- C# Excel 基本操作、MS SQL Server
- Microsoft SQL server 2005的基本操作
- 数据库开发基本操作-Microsoft SQL Server Management Studio Express下载和安装
- MySQL 学习教程(二)【整理】-SQL 基本操作(库操作/ 表操作/ 数据操作)
- 思杰 Citrix xen server 6.2 企业级布署(三)Citrix XenCenter 基本操作
- Mysql/SQLServer数据类型与java基本数据类型的对应
- 基本的sql语句操作
- 用SQL语句添加删除修改字段、一些表与字段的基本操作、数据库备份等
- OutLook的VBA基本对象及操作
- Python001-操作MSSQL(Microsoft sql server)基础示例(一)
- SQL Server之查询检索操作
- 操作 SQL Server Mobile 2005 数据库的常用 C# 代码
- Hibernate映射的基本操作 Java类型、Hibernate映射类型以及SQL类型之间的对应关系