鱼C论坛

 找回密码
 立即注册
查看: 7913|回复: 25

[技术交流] DELPHI XE6 DBgrid连接ACCESS增删改查图文教程

[复制链接]
发表于 2014-7-28 09:08:10 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
小甲鱼完成了DELPHI7的基础教程后,一直就没有再更新DELPHI的教程了,数据库这块成了大家的遗憾,大家知道在写程序的时候一款开发工具如果不能满足用来开发数据库程序的需求,那么路是很窄的,写一些简单点的程序也会变得繁琐复杂。我先学了易语言,后来学了VB.NET和C#.net,然后才回过头来完成了DELPHI的学习,发现DELPHI的数据库开发比其他语言简单的有点过分了,好多都是选择选择就实现了,无需代码来控制,节省了很多代码量,这样有好处,当然,不够底层,让初学者很难深入领悟,大家学会了这种方法后可以举一反三,再用stringgrid来实现他,那种代码量的需求比较大一些,也更能深入理解。

废话不再多说,直入正题
打开DELPHI XE6
QQ截图20140728090938.jpg

评分

参与人数 1荣誉 +5 鱼币 +5 贡献 +3 收起 理由
tigermali + 5 + 5 + 3 支持楼主!

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2014-7-28 09:10:51 | 显示全部楼层
依次选择file——new——VCL Forms Application -Delphi 1.jpg

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-7-28 09:23:14 | 显示全部楼层
本帖最后由 凤尾村 于 2014-7-28 09:32 编辑

1、在Dbgo选项卡里面选择ADODCconnection拖入窗口
2.jpg

2、 继续在Dbgo选项卡里面选择ADOtable拖入窗口

3.jpg
3、在Data Access选项卡里面选择 Datasource拖入窗口

4.jpg
4、在Data controls选项卡里面选择DBGrid拖入窗口
5.jpg





想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-7-28 09:52:58 | 显示全部楼层
本帖最后由 凤尾村 于 2014-7-28 09:56 编辑

窗体结构设计
6.jpg

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-7-28 10:03:03 | 显示全部楼层
本帖最后由 凤尾村 于 2014-7-28 10:42 编辑

连接mdb
双击ADODCconnection在弹出的窗口选中下面的单选框,然后点build..
在数据连接属性窗口中选择Microsoft Jet 4.0 OLE DB Provider后点下一步
在连接里面的选择你的数据库路径,选择后是绝对路径,可以把前面部分改为...,然后点测试弹出成功后点确定即可。
7.jpg

然后点OK
最后在ADODCconnection的属性面板上选择.LoginPrompt属性为False

con1.LoginPrompt:=False;
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-7-28 10:10:15 | 显示全部楼层
本帖最后由 凤尾村 于 2014-7-28 10:14 编辑

配置源

选择ADOTable,然后在属性面板上选择Connection为ADODCconnection的组件名,再在属性面板里找到TableName属性选择数据库的表名,最后将Active的属性设置为true
至此ADOTable配置完成。

选择DataSource,在属性面板里找到DataSet,将其选为ADOTable的组件名
至此DataSource,配置完成。
配置表

选择DBGrid,然后在属性面板里面找到DataSource并选择为DataSource的组件名。
此时表数据未运行就直接会显示在表里面了
8.jpg

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-7-28 10:16:38 | 显示全部楼层


双击“添加”按钮,在代码里面写上
ADOTable1.InsertRecord(['自力更生','艰苦奋斗']);
A.jpg

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-7-28 10:18:43 | 显示全部楼层
本帖最后由 凤尾村 于 2014-7-28 10:20 编辑



双击“删除”按钮,在代码里面写上
ADOTable1.Delete;
B.jpg


想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-7-28 10:24:13 | 显示全部楼层


双击“修改”按钮,在代码里面写上
ADOtable1.edit;
ADOtable1.Fields[0].AsString:='修改记录';
ADOtable1.Fields[1].AsString:='修改记录';
ADOtable1.Post;

C.jpg

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-7-28 10:26:42 | 显示全部楼层
本帖最后由 凤尾村 于 2014-7-28 10:28 编辑

查询

双击“查询”按钮,在代码里面写上
Datatable1.filter:='字段名1=''词汇'' and 字段名2=''词汇'';
Datatable1.filtered:=true;

D.jpg

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-7-28 10:29:13 | 显示全部楼层
刷新意思就是查询后恢复总表显示用的
Datatable1.filter:='';
Datatable1.filtered:=true;
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-7-28 10:32:27 | 显示全部楼层
怎么判断选中行数呢
这里先申请变量
var
r:integer;
然后
r:=TDrawGrid(dbgrd1).row;
Edit1.text:=IntToStr(r);
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-7-28 10:36:22 | 显示全部楼层
选中一行后想读出各个列的数据该怎么操作呢
这里可以先选一个表格被单击的事件
然后再放上俩编辑框
edit2.Text:=Datatable1.fields[0].asstring;
edit3.Text:=Datatable1.fields[1].asstring;
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-7-28 10:38:18 | 显示全部楼层
本帖最后由 凤尾村 于 2014-7-28 10:46 编辑

代码是这样的

AAS.jpg

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-7-28 10:45:28 | 显示全部楼层
最后别忘记设置行选
AA.jpg
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-7-28 10:48:35 | 显示全部楼层
本帖最后由 凤尾村 于 2014-7-28 10:51 编辑

总结
那个记录DBgrid现行选中行的时候有个小BUG,只能识别当前显示行的行数,比如可显示的一共24行,就算你把行数拉到最后100行,选中最后一行识别的还是24,这点就请懂得的人来解决了。


想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-7-29 22:06:52 | 显示全部楼层
我说纯手工的教程你们都木有人回复么
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-7-30 00:33:02 | 显示全部楼层
{:1_1:}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-7-30 00:46:16 | 显示全部楼层
还是视频教学更好学呢?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-7-30 13:43:10 | 显示全部楼层
详细到这光景了再想着视频好学,那真的直接放弃DELPHI算了吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-23 10:34

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表