DAO(DataAccessObject)全称为数据访问对象 它是数据库编程的重要方法之一 DAO的一种面向对象的界面接口 特色为它不是可视化的对象 使用它全部都要靠编码来完成 DAO是设计关系型数据库系统结构的对象类的集合 它提供了完成管理这样一个系统所需的全部 *** 作的属性和方法 包括创建数据库 定义表 字段和索引 建立表间的关系 定位和查询数据库等工具 由于ADO(ActiveXDataObjectActiveX数据对象)的出现 DAO的使用已大大减少 但它无须使用ODBC(开放数据库连接)便可连接各个数据源 因而我们仍经常用经典的DAO 下面我向大家详细介绍如何使用DAO编程
DAO使用之前必须先引用 方法为打开VB 从VB的 工程 菜单中 选择 引用 项 当 引用 对话框出现后 从库的列表中 选择 MicrosoftDAO ObjectLibrary 单击 确定 现在便可以使用DAO对象库提供的所有对象进行编程了
一 创建数据库
在DAO中用CreatDataBase方法可以根据用户需求动态的创建数据库 这一点在程序中是非常有用的 用户可以根据要求实时建立数据库 建立过程如下
PrivateSubCom_creat_Click()
OnErrorGoToErr
CreatDataBase 数据库名称 mdb dbLangGeneral
Msgbox 数据库建立完毕
ExitSub
Err :
MsgBox 不能建立数据库! &vbCrLf&vbCrLf&Err Description vbInformation
EndSub
这样 数据库便在当前默认的路径下建立了
二 创建表与字段
建立数据库后 则需要在该数据库中建立表 这要用到TableDef对象 先定义一个TableDef类型的对象 然后用TableDef集合中Append方法将之追加到数据库当中去 并且同时定义一个Field对象 用CreatFiele的方法创建一个Field对象 向表中添加字段 例如:
PrivateSubCom_table_Click()
OnErrorGoToErr
DimDefdbAsDataBase
DimNewTableAsTableDef
DimNewFieldAsField
SetDefdb=Workspaces( ) OpenDatabase(App path&数据库名称 mdb False)
SetNewTable=DefDataBase CreateTableDef( 表名 )
SetNewField=DefTable CreateField( 字段名 dBText )′创建一个字符型的字段 长度为 个字符
DefTableFields AppendNewField′字段追加
DefDatabase TableDefs AppendNewTable′表追加
Msgbox 表建立完毕
ExitSub
Err :
MsgBox 对不起 不能建立表 请先再建表前建立数据库? vbCritical
EndSub
一个数据库可能有十几个甚至几十个字段 一个表中有多少个字段 则要创建多少次并要追加到表中 每建立一个字段后都要用到字段追加命令 但是表追加只需在所有字段建立完成后用一条命令即可完成
三 打开数据库
在VB中 对一个对象变量引用之前必须加以说明 DAO也是如此 必须先声明数据库变量 例如 DimdbaseAsDatabase 建立了数据库对象变量后 我们便可打开数据库了 在一般情况下都只是访问一个数据库 当打开数据库后再对数据库中的各个记录进行 *** 作 这就要用到Recordset对象建立记录集 例如
PrivateSubCommand_OpenDatabase_Click()
DimdbaseasDatabase
DimrsAsRecordset
Setdbase=OpenDatabase(App path&数据库名称 mdb )
Setrs=dbase OpenRecordset( select*from表名 )
EndSub
这样 数据库中的记录便放到Recordset中 可以进行后续 *** 作了
四 使用数据库
当打开数据库 建立Recordset记录集后 便可浏览 删除 添加 查找数据库中的内容
)向前浏览
PrivateSubcmd_previous_Click()
rs MovePrevious
ifrs BOF=Truethen
rs Movelast
Endif
fori= to
label(i) caption=rs F
)向后浏览
PrivateSubcmd_next_Click()
rs MoveNext
Ifrs EOF=Truethen
rs MoveFirst
Endif
fori= to
label(i) caption=rs Fields(i)&
next
EndSub
)删除记录
PrivateSubcmd_del_Click()
OnErrorGoTohandle
Dimmsgasstring
msg= 是否要删除记录 &Chr$( )
msg=msg&label( )′把删除记录的代号加入msg中
IfMsgbox(msg 删除记录 )<>ThenExitsub
rs delete
rs Movenext
Ifrs EOF=TrueThen
rs MovePrevious
Endif
fori= to
label(i) caption=rs Fields(i)&
next
handle:
MsgBox 该记录无法删除!!!
ExitSub
EndSub
)添加记录
向数据库中添加记录比较麻烦一点 大致分为三步 首先 用AddNew方法向数据库添加一个新的空白记录 其次 将要输入的数据分别赋到数据库的各个字段中 最后 用Updata的方法 把记录写到数据库中去 例如
PrivateSubcmd_new_Click()
rs AddNew
Fori= to
rs Fields(i)=TextBox(i) Text
Next
rs Updata
EndSub
)查找记录
查找记录可以用Find方法 例如
PrivateSubCmd_search_Click()
Setrs=dbase openRecordset( 表名 dbopenDynaset)
rs findfirst 字段名= &Text Text&′Text Text是输入的关键字
ifrs Nomatch=Truethen
Msgbox 对不起 没有该记录
else
Fori= to
label(i) caption=rs Fields(i)&
Next
Endif
rs close
EndSub
以上只是大致介绍了DAO的一些最常用 最典型的用法 真正要熟练掌握它需要不懈的努力 当你很好的理解了DAO后 对学习新的RDO和ADO也有很大的帮助 并且DAO和ADO可以同时使用 DAO的缺陷在于查找功能不强 没有ADO方便 但动态创建数据库却远超ADO 因此有时二者结合更强大 我们相信DAO一定会帮你节约宝贵时间 为工作提供方便
lishixinzhi/Article/program/c/201404/30446问题一:如何将数据库导出成sql文件 您好,很高兴为您解答。
1、打开SQL Server Management Studio 2008 ,连接到数据库服务器,展开对象资源管理器到数据库节点
2、选择需要将数据导出到脚本的数据库,将包含所有的存储过程,表,视图,表里的数据等等。
3、右击选中的数据,按照以下路径选择生成脚本向导 :AdventureWorks -〉任务 -〉生成脚本
4、当点击生成脚本,d出一个向导--生成数据库对象脚本。
5、下一步到达设置脚本编写选项,进入高级设置对话框,关键是要编写脚本的数据类型这里,默认是仅限架构,选择架构和数据或者是数据都可以吧数据导成脚本
执行完就可以看到结果了
如若满意,请点击右侧【采纳答案】,如若还有问题,请点击【追问】
希望我的回答对您有所帮助,望采纳!
~ O(∩_∩)O~
问题二:如何导出mysql数据库到sql文件 可以使用mysqldump
如下几种 *** 作:
1、导出整个数据库(包括数据)
mysqldump -u username -p dbname >dbname.sql
2、导出数据库结构(只有建表语句,不含数据)
mysqldump -u username -p -d dbname >dbname.sql
3、导出数据库中的某张数据表(包含数据)
mysqldump -u username -p dbname tablename >tablename.sql
4、导出数据库中的某张数据表的表结构(只有建表语句,不含数据)
mysqldump -u username -p -d dbname tablename >tablename.sql
还有负责的用法,可以查看mysqldump的参数
问题三:Oracle数据库如何导出?? 1 将数据库TEST完全导出,用户名system 密码manager 导出到D:\daochu.dmp中
exp [email protected] file=d:\daochu.dmp full=y
2 将数据库中system用户与sys用户的表导出
exp [email protected] file=d:\daochu.dmp owner=(system,sys)
3 将数据库中的表table1 、table2导出
触xp [email protected] file=d:\daochu.dmp tables=(table1,table2)
4 将数据库中的表table1中的字段filed1以00打头的数据导出
exp [email protected] file=d:\daochu.dmp tables=(table1) query=\ where filed1 like '00%'\
上面是常用的导出,对于压缩我不太在意,用winzip把dmp文件可以很好的压缩。
不过在上面命令后面 加上 press=y 就可以了
问题四:如何批量导出MYSQL数据库成.sql文件 DOS 执行,改成你的mysql路径和要导出的数据库名字
set path=C:\Program Files (x86)\MySQL\MySQL Server 5.0穿bin
mysqldump -u root -ppassword --default-character-set=utf8 数据库名>数据库名.sql
这个真不知道,不过一般的MySQL里面好像没有这么多数据库,如果是几个或者十几个,那么就直接复制后面的一句,改数据库名字就可以了
问题五:.db后缀名的数据库文件如何打开并导出数据 比如Access数据库(扩展名为mdb)、xBase类数据库(扩展名为dbf),但有两种扩展名同为db的数据库,分属两个公司的产品,一个是老牌桌面数工库Paradox,这是Borland公司的产品,其广泛使用的时代是在Dos时期,但现在仍有用Delphi、C++Builder等工具开发的产品使用这一类型的数据库,Microsoft的桌面数据引擎JET对其支持也比较完整;
另一个是Sybase的ASA数据库,全称叫做Adaptive Server Anywhere,这个数据库以前被称作Sql Anywhere,这个数据库不仅可以用在桌面级,还可以用于服务器级,因为其支持存储过程、触发器等,一般在使用PowerBuilder开发的产品中很常见,因为毕竟是同一个公司的产品,这两个数据库都可以通过Ado来访问.
问题六:在phpmyadmin中怎么导出数据库 选择下方另存为文件,然后根据提示导出就可以了
问题七:怎样将从网站后台的数据库中导出数据? ''利用ASP生成EXECL文档
'=================================================
set conn=server.createobject(adodb.connection)
conn.open application(connstring)
set rs=server.createobject(Adodb.recordset)
sql=select * from xxloginteachers order by jsid desc
rs.open sql,conn
do whil订 not rs.eof
msg=msg &rs(jsid) &chr(9) &rs(jsxm) &vbcrlf
rs.movenext
loop
set f=server.createobject(scripting.filesystemobject)
set myfile=f.createtextfile(d:\xmllover.xls,true)
myfile.close
'已生成xmllover.xls!!!!
问题八:从oracle数据库里想导出单个表,怎么导出呀 exp [email protected] file=d:\daoc罚u.dmp tables=(table1) system是用户名,manager 是密码,myoracle 是数据库名。
问题九:.mdf数据库文件如何导入数据库 打开企业管理器->向下展开到&哗39数据库'->右键点击'数据库'->选择'所有任务'->点击'附加数据库'->点击 带三个点的按钮(...)->找到要附加的数据库(要选择后缀名.mdf的)->点击确定->点击确定 附加成功
问题十:sql server2005数据库文件怎么导入 方法/步骤
1、点击左下角 开始按钮,找到sql server2005,打开它
2、右击数据库,选择新建数据库,如果已经有了数据库,则可以点击附加数据库,将本地的数据库文件附加到sql里面
3、附加完成后,我们点击数据库,展开,找到我们附加上的test数据库,再点开test数据库下的表文件夹,发现里面有已经创建好的表
4、右击,打开表,则可以增加表或修改的内容
5、右击修改表,怎可以增加或修改表的属性
6、也可通过右击表文件夹,选择新建表来新建一直表,或者点击左上角的新建查询通过命令来新建一张表
关于将数据库中的一张表与dao结合在以前思路大体有两种:第一种:不使用框架,使用JDBC(Java DataBase Connectivity)java连接数据库。
加载驱动:class.forNname(" ")
得到连接:Connection connection = DriverManager.getConnection(" ")
声明sql:String sql = " "
执行sql语句:connection.createStatement().executeUpdate(sql)
第二种:使用框架。
创建实体类:实体的属性与数据库字段对应
创建映射文件:将数据库字段与实体属性关联
在spring框架中管引入映射文件,并配置事物
在Dao层直接用
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)