基本概念
1 怎么样才能操作数据库?
使用ADO建立和数据库的连接,然后用ADO对象和sql语言对数据库进行操作。
2 SQL是什么?
SQL(Structured Query Language)是一种查询语言,可以查询、更新数据库中的数据。
3 SQL可以查询哪些数据库?
SQL是一种通用的查询语言,可以查询EXCEL,ACCESS,SQL SERVER等各种数据库
4 ADO是什么?
ADO是新的数据库存取技术,可以建立与各数据库库的连接,也可以对数据库数据进行添加、更新、删除等操作
5 我们学习SQL+ADO访问数据库有什么用处?
1 可以在不打开EXCEL文件的情况下,从文件中提取数据.
2 可以从建立连接的专业软件数据库中提取数据.如财务软件等.
6 怎么使用ADO?
1) 引用法
工具--引用---Microsoft Activex..D...O"
引用后再声明: Dim conn As New Connection 声明链接对象
Dim rst As New Recordset 声明记录集对象
2) 创建法
使用CreateObject函数创建
Set conn = CreateObject("adodb.connection") '创建ado对象
Set rst = CreateObject("ADODB.recordset") '创建记录集
ADO的基本对象
一、Connection对象
数据库连接字符串(在类模块中定义)如下:
Property Getexcel_driver(datasource)'Excel数据库 = "provider=microsoft.jet.oledb.4.0;extended properties=excel 8.0;data source=" & ThisWorkbook.path & "/Database/exceldata.xls"
excel_driver = "provider=Microsoft.ACE.OLEDB.12.0;extended properties=excel 12.0;data source=" &datasourceEnd Property
Property Getaccess_driver(datasource)'Access数据库 = "provider=Microsoft.jet.OLEDB.4.0;data source=" & ThisWorkbook.path & "/Database/AccessData.mdb"
access_driver = "provider=Microsoft.jet.OLEDB.4.0;data source=" &datasourceEnd Property
Property Getmysql_driver(host, port, database, uid, pwd)
mysql_driver= "Driver={MySQL ODBC 8.0 Unicode Driver};Server=" & host & ";Port=" & port & ";Database=" & database & ";Uid=" & uid & ";Pwd=" & pwd & ";OPTION=3;"
End Property
Property Getsqlserver_driver(id, database, uid, PassWordChr)
sqlserver_driver= "Provider=sqloledb;Server=" & id & ";Database=" & database & ";Uid=" & uid & ";Pwd=" & PassWordChr & ";"
End Property
Property Getsqlite_driver(database)
sqlite_driver= "Driver={SQLite3 ODBC Driver};Database=" &databaseEnd Property
1 建立和数据库的连接
.Open
Dim conn As New Connection
conn.Open "provider=microsoft.jet.oledb.4.0;extended properties=excel 8.0;data source=" & ThisWorkbook.Path & "/Database/exceldata.xls"
Conn.Open:打开数据库的连接
provider=microsoft.jet.oledb.4.0 数据库引擎版本
extended properties=excel 8.0 连接的是Excel8.0版本(excel2000以后的版本),Excel不是标准的数据库格式,所以要设置扩展属性
data source=" & ThisWorkbook.Path & "/数据库.xls" 数据库路径
************以下是连接其他数据库或文件的字符串表达式*********************************
1)Mysql数据库
strDriver = "Provider=SQLOLEDB;DataSource=" & Path & ";Initial Catolog=" & strDataName
2) TXT文件
strDriver = "Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties=text;IMEX=1;HDR=NO;FMT=Delimited;;Data Source=" & Path
3) MSSQL数据库
strDriver = "Driver={MySQL ODBC 8.0 Unicode Driver};Server=" & host & ";Port=" & port & ";Database=" & database & ";Uid=" & uid & ";Pwd=" & pwd & ";OPTION=3;"
4) Oracle数据库
strDriver= "Provider=madaora;Data Source=MyOracleDB; User Id=UserID; Password=Password"