当前位置: 首页 > article >正文

Delphi ADO组件中的 ADOTable、ADOQurey 无SQL语句实现增、删、改、查

准备:

数据库是Acess数据库

1.放一个 Adoconnection1到 表单上,设置好数据连接字符串 并 设置 connected 属性  为 true
2 设置 adoquery1的connection 属性为 adoconnection1
3  设置 adoquery1的 sql 属性为 select * from 表名
4  设置 adoquery1的 active =true
5  设置 datasource1的dataset 属性为 adoquery1
6.再放一个 DBNavigator1  设置 datasource=datasource1
7.设置 dbgrid1的 datasource=datasource1 

一、ADOTable对数据表的操作

增加、修改与删除:(以线路管理为例)
1、增加:
procedure TForm7.Button1Click(Sender: TObject);
begin
ADOTable1.TableName:='线路管理';
ADOTable1.Close;
ADOTable1.Open;
adotable1.Edit;
adotable1.Insert;
adotable1.Fields[1].AsString:=edit1.Text;
adotable1.Fields[2].AsString:=edit2.Text;
adotable1.Fields[3].AsString:=edit3.Text;
adotable1.Post;
end;

2、修改:
procedure TForm7.Button2Click(Sender: TObject);
begin
adotable1.Edit;
adotable1.FieldByName('线路编号').AsString:=trim(edit1.Text);
adotable1.FieldByName('线路名称').AsString:=trim(edit2.Text);
adotable1.FieldByName('备注').AsString:=trim(edit3.Text);
end;

3、删除:
procedure TForm7.Button3Click(Sender: TObject);
begin
if Application.MessageBox('确实要删除当前数据吗?','提示',mb_YesNo)=ID_Yes then
begin
try
        ADOTable1.Delete;
        Application.MessageBox('删除成功','提示',64);
except
        Application.MessageBox('系统出错','提示',64);
end;
end;
end;

二、adoquery对数据库的增加,查询,编辑,删除:
1、增加:
procedure TForm8.Button1Click(Sender: TObject);
begin
ADOQuery1.Close;
ADOQuery1.Open;
ADOQuery1.Edit;
ADOQuery1.Insert;
ADOQuery1.Fields[0].AsString:=edit1.Text;
ADOQuery1.Fields[1].AsString:=edit2.Text;
ADOQuery1.Fields[2].AsString:=edit3.Text;
ADOQuery1.Fields[3].AsString:=edit3.Text;
ADOQuery1.Fields[4].AsString:=edit3.Text;
ADOQuery1.Fields[5].AsString:=edit3.Text;
ADOQuery1.Fields[6].AsString:=edit3.Text;
ADOQuery1.Post;
end;

2、查询:
procedure TForm8.Button2Click(Sender: TObject);
begin
with ADOQuery1 do
begin
close;
sql.clear;
sql.add('select * from 班次管理 where 班次编号='''+edit1.text+'''or 班次名称='''+edit2.text+''' or 开始时间='''+edit3.text+''' or 结束时间='''+edit4.text+''' or 零点之前数据流向='''+edit5.text+''' or 零点之后数据流向='''+edit6.text+''' or 备注='''+edit7.text+'''');     //书写SQL语句时的格式很重要
open;
if dbgrid1.DataSource.DataSet.IsEmpty then  //判断查询结果是否为空
begin
showmessage('输入错误!');
adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.sql.Add('select * from 班次管理');
adoquery1.Open;
end;
end;

end;

3、更改:
procedure TForm8.Button3Click(Sender: TObject);
begin
adoquery1.Edit;
adoquery1.FieldByName('班次名称').AsString:=trim(edit2.Text);
adoquery1.FieldByName('开始时间').AsString:=trim(edit3.Text);
adoquery1.FieldByName('结束时间').AsString:=trim(edit4.Text);
adoquery1.FieldByName('零点之前数据流向').AsString:=trim(edit5.Text);
adoquery1.FieldByName('零点之后数据流向').AsString:=trim(edit6.Text);
adoquery1.FieldByName('备注').AsString:=trim(edit7.Text);
adoquery1.Append;
end;

4、删除:
procedure TForm8.Button4Click(Sender: TObject);
begin
if Application.MessageBox('确实要删除当前数据吗?','提示',mb_YesNo)=ID_Yes then
begin
try
        adoquery1.Delete;
        Application.MessageBox('删除成功','提示',64);
except
        Application.MessageBox('系统出错','提示',64);
end;
adoquery1.SQL.Clear;       //刷新DBGRID 中显示的内容
adoquery1.SQL.Add('select * from 班次管理');
adoquery1.Open;
end;
end;

5、显示全部:
procedure TForm8.Button5Click(Sender: TObject);
begin
with ADOQuery1 do
begin
close;
sql.clear;
sql.add('select * from 班次管理');
open;
end;
end; 
 


http://www.kler.cn/a/406270.html

相关文章:

  • 大模型在智能客服中心领域的应用思考
  • Linux驱动开发快速入门——字符设备驱动(直接操作寄存器设备树版)
  • 【Python TensorFlow】进阶指南(续篇三)
  • c语言学习23数组传递到子函数
  • mac安装Pytest、Allure、brew
  • Flume日志采集系统的部署,实现flume负载均衡,flume故障恢复
  • 时间操作[计算时间差]免费API接口教程
  • 模型的评估与选择——交叉验证(基于Python实现)
  • Vue3项目实战(vue3+vite+pinia+element-plus+axios+mock)
  • DBeaver错误:Public Key Retrieval is not allowed
  • 人工智能|计算机视觉——微表情识别(Micro expression recognition)的研究现状
  • 智慧营区整体解决方案
  • 04高可用高并发(D2_高可用 - D1_负载均衡)
  • 二次封装的天气时间日历选择组件
  • 鸿蒙安全控件之粘贴控件简介
  • 通威传媒:移动AI数字人OLED透明屏应用案例
  • FPGA 第十讲 避免latch的产生
  • 太速科技-232-基于FMC的2收2发TLK2711子卡
  • Go语言的并发与管道
  • 【头歌实训:利用kmp算法求子串在主串中不重叠出现的次数】
  • 使用 前端技术 创建 QR 码生成器 API1
  • HTML详解(1)
  • 『 Linux 』网络层 - IP协议(一)
  • wireshark网络安全流量分析基础
  • 量化交易系统开发-实时行情自动化交易-3.4.3.4.期货衍生数据
  • 沥川的算法学习笔记:基础算法(3)----高精度算法