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.mzph.cn/pingmian/61727.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ffmpeg本地编译不容易发现的问题 — Error:xxxxx not found!

这里区分电脑CPU架构 本次编译是在Mac笔记本,M1芯片上进行! 前面大致流程:分为两种(1.仅适用,直接下载编译好的本地安装即可;2.使用并查看源码,自己修改编译运行)。这里介绍的是第…

从0-1逐步搭建一个前端脚手架工具并发布到npm

前言 本文介绍的案例已同步到github,github地址。 vue-cli 和 create-react-app 等 cli 脚手架工具用于快速搭建应用,无需手动配置复杂的构建环境。本文介绍如何使用 rollup 搭建一个脚手架工具。 脚手架工具的工作流程简言为:提供远端仓库…

摄影:相机控色

摄影:相机控色 白平衡(White Balance)白平衡的作用: 白平衡的使用环境色温下相机色温下总结 白平衡偏移与包围白平衡包围 影调 白平衡(White Balance) 人眼看到的白色:会自动适应环境光线。 相…

键盘党福音!自定义指令实现回车快捷删除

前言 📫 大家好,我是南木元元,热爱技术和分享,欢迎大家交流,一起学习进步! 🍅 个人主页:南木元元 目录 确认对话框 回车键快捷确认 自定义指令实现回车删除 实现思路 实现代码 …

AG32既可以做MCU,也可以仅当CPLD使用

Question: AHB总线上的所有外设都需要像ADC一样,通过cpld处理之后才能使用? Reply: 不用。 除了ADC外,其他都是 mcu可以直接配置使用的。 Question: DMA和CMP也不用? Reply: DMA不用。 ADC/DAC/CMP 用。 CMP 其实配置好后,可以直…

深度学习实战人脸识别

文章目录 前言一、人脸识别一般过程二、人脸检测主流算法1. MTCNN2. RetinaFace3. CenterFace4. BlazeFace5. YOLO6. SSD7. CascadeCNN 三、人脸识别主流算法1.deepface2.FaceNet3.ArcFace4.VGGFace5.DeepID 四、人脸识别系统实现0.安装教程与资源说明1. 界面采用PyQt5框架2.人…

macOS 的目录结构

文章目录 根目录 (/)常见目录及其用途示例目录结构注意事项根目录 (/)主要目录及其含义其他目录总结 macOS 的目录结构无论是在 Intel 架构还是 ARM 架构的 Mac 电脑上都是相同的。macOS 的目录结构遵循 Unix 和 BSD 的传统,具有许多标准目录。以下是一些主要目录及…

003 STM32基础、架构以及资料介绍——常识

注: 本笔记参考学习B站官方视频教程,免费公开交流,切莫商用。内容可能有误,具体以官方为准,也欢迎大家指出问题所在。 01什么是STM32(宏观) STM32属于一个微控制器,自带了各种常用通…

aws凭证(一)凭证存储

AWS 凭证用于验证身份,并授权对 DynamoDB 等等 AWS 服务的访问。配置了aws凭证后,才可以通过编程方式或从AWS CLI连接访问AWS资源。凭证存储在哪里呢?有以下几个方法: 一、使用文件存储 1、介绍 文件存储适用于长期和多账户配置…

力扣面试经典 150(上)

文章目录 数组/字符串1. 合并两个有序数组2. 移除元素3. 删除有序数组中的重复项4. 删除有序数组的重复项II5. 多数元素6. 轮转数组7. 买卖股票的最佳时机8. 买卖股票的最佳时机II9. 跳跃游戏10. 跳跃游戏II11. H 指数12. O(1)时间插入、删除和获取随机元素13. 除自身以外数组的…

聚焦AI存储,联想凌拓全力奔赴

【全球存储观察 | 科技热点关注】 每一个时代,都有每一个时代的骄傲。 在信息化时代,NAS文件存储肩负着非结构化数据管理与存储的重任,NetApp以其创新实力,赢得了全球存储市场的极高声誉。 在数智化时代,…

JavaWeb后端开发知识储备2

目录 1.HttpClient 2.微信小程序开发 3.Spring Cache 1.HttpClient 简单来说,HttpClient可以通过编码的方式在Java中发送Http请求 2.微信小程序开发 微信小程序的开发本质上是前端开发,对于后端程序员来说了解即可 3.Spring Cache Spring Cache 是…

基于CNN+RNNs(LSTM, GRU)的红点位置检测(pytorch)

1 项目背景 需要在图片精确识别三跟红线所在的位置,并输出这三个像素的位置。 其中,每跟红线占据不止一个像素,并且像素颜色也并不是饱和度和亮度极高的红黑配色,每个红线放大后可能是这样的。 而我们的目标是精确输出每个红点的…

树莓派搭建NextCloud:给数据一个安全的家

前言 NAS有很多方案,常见的有 Nextcloud、Seafile、iStoreOS、Synology、ownCloud 和 OpenMediaVault ,以下是他们的特点: 1. Nextcloud 优势: 功能全面:支持文件同步、共享、在线文档编辑、视频会议、日历、联系人…

数据集-目标检测系列- 花卉 鸡蛋花 检测数据集 frangipani >> DataBall

数据集-目标检测系列- 花卉 鸡蛋花 检测数据集 frangipani >> DataBall DataBall 助力快速掌握数据集的信息和使用方式,会员享有 百种数据集,持续增加中。 贵在坚持! 数据样例项目地址: * 相关项目 1)数据集…

初次体验加猜测信息安全管理与评估国赛阶段训练习

[第一部分] 网络安全事件响应 window操作系统服务器应急响应流程_windows 服务器应急响应靶场_云无迹的博客-CSDN博客 0、请提交攻击者攻击成功的第一时间,格式:YY:MM:DD hh:mm:ss1、请提交攻击者的浏览器版本2、请提交攻击者目录扫描所使用的工具名称…

Python Matplotlib 安装指南:使用 Miniconda 实现跨 Linux、macOS 和 Windows 平台安装

Python Matplotlib 安装指南:使用 Miniconda 实现跨 Linux、macOS 和 Windows 平台安装 Matplotlib是Python最常用的数据可视化工具之一,结合Miniconda可以轻松管理安装和依赖项。在这篇文章中,我们将详细介绍如何使用Miniconda在Linux、mac…

opencv-python 分离边缘粘连的物体(距离变换)

import cv2 import numpy as np# 读取图像,这里添加了判断图像是否读取成功的逻辑 img cv2.imread("./640.png") # 灰度图 gray cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) # 高斯模糊 gray cv2.GaussianBlur(gray, (5, 5), 0) # 二值化 ret, binary cv2…

KubeSphere内网环境实践GO项目流水线

KubeSphere内网环境实践GO项目流水线 kubesphere官方给出的流水线都是在公网环境下,并对接github、dockerhub等环境。本文在内网实践部署,代码库使用内网部署的gitlab,镜像仓库使用harbor。 1. 环境准备 1.1 部署kubesphere环境 参考官方…

UE5材质篇5 简易水面

不得不说,UE5里搞一个水面实在是相比要自己写各种反射来说太友好了,就主要是开启一堆开关,lumen相关的,然后稍微连一些蓝图就几乎有了 这里要改一个shading model,要这个 然后要增加一个这个node 并且不需要连接base …