DAO(Database Access Object)使用Microsoft Jet数据库引擎来访问数据库。Microsoft Jet为象Access和Visual Basic这样的产品提供了数据引擎。
与ODBC一样,DAO提供了一组API供编程使用。MFC也提供了一组DAO类,封装了底层的API,从而大大简化了程序的开发。利用MFC的DAO类,用户可以编写独立于DBMS的应用程序。
DAO是从Visual C++40版开始引入的。一般地讲,DAO类提供了比ODBC类更广泛的支持。一方面,只要有ODBC驱动程序,使用Microsoft Jet的DAO就可以访问ODBC数据源。另一方面,由于DAO是基于Microsoft Jet引擎的,因而在访问Access数据库(即MDB文件)时具有很好的性能。
通俗点讲microsoft DAO36是安装office的时候选择完全安装就会装到你的电脑上,这个是连接数据库用的,一般人是用不到,但是一般不建议删除,否则可能会对其他office组件造成影响,比如会引起word、Excel出错。
数据库Database对象:
在1个workspace对象中包含一个database对象集合,1个database对象代表了1个打开的数据库,每1个database对象又包含了五个对象集。
即表TableDef对象集合,查询QueryDef对象集合,容器Container对象集合,记录集Recordset对象集合和关系Relation对象集合,
RecordAffected属性:返回在数据库对象中删除,插入,更改的记录个数。
Transactionds属性:是否允许使用事务处理方法。
database对象方法:
CreateQueryDef方法:创建1个新的查询对象。
格式:
set 对象变量=database对象CreateQueryDef(查询对象名,SQL命令)
CreateTableDef方法:创建1个TableDef对象
OpenRecordset方法:创建1个新的recordset对象。
格式:
set 对象变量=database对象OpenRecordset(数据源,类型,选项,开放权限)
数据源可是1个表,也可是1条SQL语句,类型就是记录集的五种类型(table,
dynaset,snapshot等)之一,选项是对记录集对象的一些特色设置,如只能添加或禁止其它用户读写等。
CreateRelation方法:创建新的关系对象。
Execute方法:执行1个动作查询。
close方法:关闭数据库database对象
表TableDef对象:表的结构。1个数据库database对象中包含了1个TableDef对象集合,有多个tabledef对象,
TableDef属性:
LastUpdatabled属性:表最后1次修改的日期。
DataCreated属性:该对象对应表的创建日期。
SourceTableName属性:链接表或基表的名称。
Updatable属性:该对象是否可以更新。
recordcount属性:返回表中记录的个数。
Attributes属性:返回对应的表的状态。
ValidationRule属性:设置有效性规则。以进行有效性检查。
ValidationText属性:当表的内容不符合有效性规则时,显示的警告信息。
TableDef方法:
CreateField方法:创建1个字段field对象。格式:
Set 字段对象变量=tabledef对象CreateField(字段名,数据类型,大小)
OpenRecordset方法:打开对应的表记录集。格式:
Set 记录集对象变量=tabledef对象OpenRecordset(类型,选项,只读)
其参数和上面数据库database对象的openrecordset方法的一致。
记录集recordset对象:
在前面讲过许多属性,现补充如下:
Restartble属性:是否可以使用Requery方法重新查询返回不同记录集。
filter属性:指定条件,使记录集只返回符合条件的记录。相当于SQL语言中的where关健字。如:
Dim c as Database
Dim d as Recordset
Set d = cOpenRecordset("select from BB")
dFilter = "垫付(元) > 0"
Set d = dOpenRecordset()
注:对filter属性重新赋值后,要用openrecordset()方法重新打开,才能起作用。
LastModified属性:返回最后一个被修改或最新添加的记录的书签。
LockEdits属性:当更改数据时进行锁定,避免多个用户同时对同1记录修改而产生冲突。
查询QueryDef对象:可在其中进行SQL查询。包含两个对象集合:Parameter对象集和Field对象集。
Parameter包含所有变量对象的集合,Field包含字段对象集合。
属性:
SQL属性;用来使用SQL语句,格式: querydef对象SQL="SQL语句"
例:
Dim e As Database
Dim f As QueryDef
Dim g As Recordset
Set e = DBEngineWorkspaces(0)OpenDatabase("c:\windows\desktop\lxnmdb")
Set f = eCreateQueryDef("lxnn")
fSQL = "select from BB where 姓名<>'吴莲秀'"
Set g = fOpenRecordset()
Execute方法:对数据库执行1个动作查询。格式:querydef对象Execute options
OpenRecordset方法:按查询对象querydef内容返回1个记录集。
格式与tabledef对象的openrecordset方法一致。
字段Field对象:在表TableDef对象中包含1个field对象集合,其中由多个field对象组成,每个field对象对应数据库表中1个字段。可通过field对象对当前记录的某字段进行修改。
格式:recordset对象Fields("姓名"),或缺省为recordset("姓名")
Field属性:
name属性:字段名称。
CollatingOrder属性:文本排序的规则。
OrdinalPosition属性:1个字段field对象在field对象集合中的下标。
size属性:字段的最大字节数。
value属性:返回或设置当前记录指定字段值。是field对象的缺省属性,可省略,如:gfields("id")value=94114,也可写为gfields("id")=94114
sourcefield,sourcetable属性:1个字段field对象中数据来源的字段或表的名称。我们知道,记录集可能作为一个查询结果集,是建立在几个不同表上的,且字段名也可能被更改了。如果希望知道1个字段来源于哪个表的哪个字段,可用此两个属性。
Field方法:
AppendChunk方法:
GetChunk方法:用于对大型字段的数据进行分段读取。格式:
field对象GetChunk 开始拷贝读取的位置,读取的字节数。
database对象属性:
name属性:标识1个数据库对象。
Updatable属性:该数据库对象内容是否可以更改(true时可以,false为只读)
RecordAf
1、加载数据库驱动
2、获得数据库连接
3、执行sql语句4、(处理结果集)
5、关闭资源
第4歩看你的sql语句了,如果有返回结果则有第4歩,否则不用。
具体的:用一个类做例子
public class UserDaoImpl{
public void insertUserMessage(String name,String pwd){
ClassforName("oraclejdbcdriverOracleDriver")newInstance();
//上面是加载数据库驱动
String url="jdbc:oracle:thin:@localhost:1521:orcl";
//orcl为数据库的SID
String user="test";//这个是数据库的登录用户名
String password="test"; //登录密码 Connection conn =DriverManagergetConnection (url,user,password);
//获得数据库连接
PreparedStatement pst = connprepareStatement("Sql语句");
pstsetString(1,name);
pstsetString(2,pwd);
pstexcute();
pstclose();//关闭资源
connclose();
}
}
工具:Access数据库
步骤:
桌面上新建Access数据库。
新建完毕后,默认名称如图。
将名称进行修改,并点击打开。
主界面如图。
点击“外部数据”。
继续点击“Excel”按钮。
d出“导入”界面,点击浏览按钮。
选中student的Excel文件,点击打开。
导入窗口中,继续点击“确定”。
没有问题,点击下一步。选择“我自己选择主键”,点击下一步。
确定表名称,点击完成。
继续点击“关闭”按钮。导入的表成功,出现在左侧,点开它,验证一下。
数据无误,成功导入。
以上就是关于microsoft DAO3.6是什么全部的内容,包括:microsoft DAO3.6是什么、DAO的问题、DAO 更新数据库如何生效等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)