zoukankan      html  css  js  c++  java
  • Delphi ADOQuery连接数据库的查询、插入、删除、修改

    //查询记录
    procedure TForm1.Button1Click(Sender: TObject);
    begin
    ADOQuery.Close;
    ADOQuery.SQL.Clear;
    ADOQuery.SQL.Add('select * from YourTABLE where 查询条件');
    ADOQuery.Open;
     
    //插入记录
    procedure TForm1.Button2Click(Sender: TObject);
    begin
    ADOQuery.Close;
    ADOQuery.SQL.Clear;
    ADOQuery.SQL.Text:='insert into YourTABLE(字段1,字段2) values(:字段1,:字段2)';
    // ADOQuery.SQL.Add('insert into YourTABLE values(:字段1)');
    ADOQuery.Parameters.ParamByName('字段1').Value:=trim(Edit1.Text);
    ADOQuery.Parameters.ParamByName('字段2').Value:=trim(Edit2.Text);
    ADOQuery.ExecSQL;
    end;
    //删除记录
    procedure TForm1.Button3Click(Sender: TObject);
    begin
    ADOQuery.Close;
    ADOQuery.SQL.Clear;
    ADOQuery.SQL.Text:='Delete from YourTABLE where 字段3=:字段3';
    //这里没有添加where的条件判断,实际使用时,注意添加判断
    // ADOQuery.SQL.Add('Delete from NEW_TABLE where 字段3=:字段3');
    ADOQuery.Parameters.ParamByName('字段3').Value:=trim(Edit3.Text);
    ADOQuery.ExecSQL;
    //删除记录也可用DeleteRecords()函数
    procedure DeleteRecords(AffectRecords: TAffectRecords = arAll);  
    这个函数有一个参数:AffectRecords可以取如下的值:  
    1、arCurrent :删除当前记录  
    2、arFiltered :删除符合Filter过滤后的所有记录(如果你使用Filter过滤的话)  
    3、arAll          :删除所有记录  
    4、arAllChapters :Delete affects all chapters(ADO chapters)
    //修改记录
    procedure TForm1.Button4Click(Sender: TObject);
    begin
    ADOQuery.Close;
    ADOQuery.SQL.Clear;
    ADOQuery.SQL.Text:='Update YourTABLE SET 字段4=:字段4';
    //这里没有添加where的条件判断,实际使用时,注意添加判断
    // ADOQuery.SQL.Add('Update YourTABLE SET 字段4=:字段4');
    ADOQuery.Parameters.ParamByName('字段4').Value:=trim(Edit4.Text);
    ADOQuery.ExecSQL;
    //即时更新插入、删除、修改后的记录
    在上面插入、删除、修改的语句后添加如下代码即可:
    ADOQuery.Close;
    ADOQuery.SQL.Add('select * from YourTABLE where 查询条件');
    ADOQuery.Open;
    //使用ADOQuery时注意:

    1、如果你需要更改数据,query.requestlive必须为true

    2、如果有输入参数的时候,容易出错,通常的错法是这样:
    比如:“WHERE abc = : abc”
    改正如下:“WHERE abc=:abc”就是说=:前后都不能留空格。
    3、ADOQuery.Open与ADOQuery.ExecSQL 有不同之处。
    ADOQuery.Open一般用在查询,select时候;而ADOQuery.ExecSQL用在insert,delete,update等。

  • 相关阅读:
    百度统计
    类的成员函数指针和mem_fun适配器的用法
    使用RTTI为继承体系编写”==”运算符
    Linux组件封装(五)一个生产者消费者问题示例
    Linux组件封装(四)使用RAII技术实现MutexLock自动化解锁
    模板系列(一)模板的模板参数
    Linux组件封装(三)使用面向对象编程封装Thread
    Linux组件封装(二)中条件变量Condition的封装
    Linux组件封装(一)中互斥锁MutexLock的封装
    迭代器适配器(二)general inserter的实现
  • 原文地址:https://www.cnblogs.com/jijm123/p/10115844.html
Copyright © 2011-2022 走看看