上一篇讲解了一些TADOQuery的简单的用法,但是还有很多方法没有讲到,这里就直接拿来主义,转载一篇《TADOQuery学习总结》为我所用。

1.Create三种参数的区别

TADOQuery.Create(nil) 和TADOQuery.Create(Self)以及TADOQuery.Create(Application)的区别

  • 用nil创建,需要自己手动销毁创建的对象
  • 用self创建,如果是在窗体单元里,则是在窗体销毁的时候,同时自动销毁创建的对象
  • 用Application,则是在整个程序退出的时候自动销毁创建的对象

2.Open方法

  所要执行的SQL语句必须是有返回结果的,update、delete、insert都不行

3.Close方法

  关闭连接;基于TADOQuery的操作都不能进行

4.SQL属性

  存放SQL语句的列表

  • Clear:清空SQL语句
  • Add:增加SQL语句的内容

5.对于Record的操作 

  • Prior方法:前一个记录
  • Next方法:下一个记录
  • First方法:第一个record
  • Last方法:最后一个record

6.GetFieldNames方法

  获取一个新的表的所有名字,例如

  1. ADOQuery.GetFieldNmes(ListBoxs.Items);

7.修改一个记录可以用update SQL执行

  1. ADOQuery.Close;
  2. ADOQuery.SQL.Clear;
  3. ADOQuery.SQL.Add('Update SQL 语句');
  4. ADOQuery.ExecSQL;

  也可以用

  1. ADOQuery.Edit;
  2. ADOQuery.FieldByName('uno').AsString:='no1'
  3. ......
  4. ADOQuery.FieldByName('uname').AsString:= 'jack';
  5. TADOQuery.Post;

  注意第一种形式不要Post,第二种形式必须Post才能保证修改了数据库。

8.增加一条记录

  可以使用SQL语句,和update一样。

  也可以使用这样的方式,例子

  1. ADOQuery.Append;
  2. ADOQuery.FieldByName('uno').AsString:= 'no2';
  3. ...
  4. ADOQuery.FieldByName('uname').AsString:= 'name';
  5. ADOQuery.Post;

9.删除一条记录

  可以直接删除

  1. ADOQuery.Delete;

  也可以使用SQL删除

  1. ADOQuery.SQL.Clear;
  2. ADOQuery.SQL.Add('delete from practice where uname=''jack'' ');
  3. ADOQuery.ExecSQL;

  

TADOQuery学习总结的更多相关文章

  1. Delphi中封装ADO之我重学习记录

    delphi adodataset ctstatic 数据是缓存在服务器端还是客户端 答:客户端,开启本地缓存功能后,就能数据在本地批量修改后,再批量提交,减少了网络传送   原创,专业,图文 Del ...

  2. 借鉴 学习 DELPHI 通用函数 哈哈

    [转]关于Delphi通用涵数 http://m.blog.csdn.net/blog/dragonjiang5460/1196927 2006-9-8阅读2016 评论0 DELPHI程序注册码设计 ...

  3. 从直播编程到直播教育:LiveEdu.tv开启多元化的在线学习直播时代

    2015年9月,一个叫Livecoding.tv的网站在互联网上引起了编程界的注意.缘于Pingwest品玩的一位编辑在上网时无意中发现了这个网站,并写了一篇文章<一个比直播睡觉更奇怪的网站:直 ...

  4. Angular2学习笔记(1)

    Angular2学习笔记(1) 1. 写在前面 之前基于Electron写过一个Markdown编辑器.就其功能而言,主要功能已经实现,一些小的不影响使用的功能由于时间关系还没有完成:但就代码而言,之 ...

  5. ABP入门系列(1)——学习Abp框架之实操演练

    作为.Net工地搬砖长工一名,一直致力于挖坑(Bug)填坑(Debug),但技术却不见长进.也曾热情于新技术的学习,憧憬过成为技术大拿.从前端到后端,从bootstrap到javascript,从py ...

  6. 消息队列——RabbitMQ学习笔记

    消息队列--RabbitMQ学习笔记 1. 写在前面 昨天简单学习了一个消息队列项目--RabbitMQ,今天趁热打铁,将学到的东西记录下来. 学习的资料主要是官网给出的6个基本的消息发送/接收模型, ...

  7. js学习笔记:webpack基础入门(一)

    之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...

  8. Unity3d学习 制作地形

    这周学习了如何在unity中制作地形,就是在一个Terrain的对象上盖几座小山,在山底种几棵树,那就讲一下如何完成上述内容. 1.在新键得项目的游戏的Hierarchy目录中新键一个Terrain对 ...

  9. 《Django By Example》第四章 中文 翻译 (个人学习,渣翻)

    书籍出处:https://www.packtpub.com/web-development/django-example 原作者:Antonio Melé (译者注:祝大家新年快乐,这次带来<D ...

随机推荐

  1. jquery隐藏侧边栏和折叠侧边栏方法

    两种效果如下所示: 隐藏侧边栏: 折叠侧边栏: 下面,分享隐藏侧边栏实现方法: 实现思路:给body切换class,通过class控制侧边栏和主体部分left 来实现效果 html部分: <di ...

  2. 网络抓包wireshark(转)

    转自 网络抓包wireshark   抓包应该是每个技术人员掌握的基础知识,无论是技术支持运维人员或者是研发,多少都会遇到要抓包的情况,用过的抓包工具有fiddle.wireshark,作为一个不是经 ...

  3. js 刷新页面window.location.reload();

    Javascript刷新页面的几种方法:1    history.go(0)2    window.location.reload() window.location.reload(true) 3   ...

  4. TinyFox/Jexus如何正确使用配置文件

    一.阅读须知 1.TinyFox是什么 Tinyfox3.x 将支持多站点多域名 2.Jexus是什么 二.使用问题解答 * 问题1.发布Owin项目到Win/Centos系统下的TinyFox上时, ...

  5. ActiveMQ中的Destination高级特性(一)

    ---------------------------------------------------------------------------------------- Destination ...

  6. gvim 安装YCM

    gvim的插件安装笔记 1.安装vunble插件 该插件主要用于管理别的插件,借助与git,从github来下载插件,实现自动安装前提条件是git安装正确,可以听过cnd使用,并且可以正确访问gith ...

  7. 关于es5的一些新方法

    1.数组方法(1)isArray在之前我们判断数组类型的数据都是用instanceof来判断的,es5新增了对数组的判断,即Array.isArray()(2)every和some这两个方法一般用于对 ...

  8. 【Android自学日记】使用DatePicker以及TimePicker显示当前日期和时间

    DatePicker 1.获取一个日历对象: Calendar cal=Calendar.getInstance(); 2.获取当前日期及时间: int year=cal.get(Calendar.Y ...

  9. python中单引号, 双引号,三引号的差异

    1. 单引号和双引号用法都是一样的,但是如果字符串里有相同的字符时要使用\进行转义 举例:1) print 'hello'2) print "hello"1和2,结果都是hello ...

  10. MySQL 排名统计

    select actor_id,@curr_cnt:=cnt as cnt , ,@rank) as rank, @prev_cnt:=@curr_cnt as dummy from( select ...