凤尾村 发表于 2014-7-28 09:08:10

DELPHI XE6 DBgrid连接ACCESS增删改查图文教程

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

废话不再多说,直入正题
打开DELPHI XE6


凤尾村 发表于 2014-7-28 09:10:51

依次选择file——new——VCL Forms Application -Delphi

凤尾村 发表于 2014-7-28 09:23:14

本帖最后由 凤尾村 于 2014-7-28 09:32 编辑

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


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


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


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






凤尾村 发表于 2014-7-28 09:52:58

本帖最后由 凤尾村 于 2014-7-28 09:56 编辑

窗体结构设计


凤尾村 发表于 2014-7-28 10:03:03

本帖最后由 凤尾村 于 2014-7-28 10:42 编辑

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


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

con1.LoginPrompt:=False;

凤尾村 发表于 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的组件名。
此时表数据未运行就直接会显示在表里面了


凤尾村 发表于 2014-7-28 10:16:38



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


凤尾村 发表于 2014-7-28 10:18:43

本帖最后由 凤尾村 于 2014-7-28 10:20 编辑



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



凤尾村 发表于 2014-7-28 10:24:13



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



凤尾村 发表于 2014-7-28 10:26:42

本帖最后由 凤尾村 于 2014-7-28 10:28 编辑

查询

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



凤尾村 发表于 2014-7-28 10:29:13

刷新意思就是查询后恢复总表显示用的
Datatable1.filter:='';
Datatable1.filtered:=true;

凤尾村 发表于 2014-7-28 10:32:27

怎么判断选中行数呢
这里先申请变量
var
r:integer;
然后
r:=TDrawGrid(dbgrd1).row;
Edit1.text:=IntToStr(r);

凤尾村 发表于 2014-7-28 10:36:22

选中一行后想读出各个列的数据该怎么操作呢
这里可以先选一个表格被单击的事件
然后再放上俩编辑框
edit2.Text:=Datatable1.fields.asstring;
edit3.Text:=Datatable1.fields.asstring;

凤尾村 发表于 2014-7-28 10:38:18

本帖最后由 凤尾村 于 2014-7-28 10:46 编辑

代码是这样的



凤尾村 发表于 2014-7-28 10:45:28

最后别忘记设置行选

凤尾村 发表于 2014-7-28 10:48:35

本帖最后由 凤尾村 于 2014-7-28 10:51 编辑

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


凤尾村 发表于 2014-7-29 22:06:52

我说纯手工的教程你们都木有人回复么

lenson123 发表于 2014-7-30 00:33:02

{:1_1:}

要学习 发表于 2014-7-30 00:46:16

还是视频教学更好学呢?

凤尾村 发表于 2014-7-30 13:43:10

详细到这光景了再想着视频好学,那真的直接放弃DELPHI算了吧
页: [1] 2
查看完整版本: DELPHI XE6 DBgrid连接ACCESS增删改查图文教程