unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, DB, ADODB, Grids, DBGrids; type
TForm1 = class(TForm)
Button1: TButton;
ADOQuery1: TADOQuery;
Memo1: TMemo;
DBGrid1: TDBGrid;
DataSource1: TDataSource;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end; var
Form1: TForm1; implementation var
tfdate: string; //全局变量和 sql语句里的变量相同,没有冲突的 {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject);
const
FROMWhereStr = ' from tbtest WHERE tfDate=:tfDate';
ParamBuyDateTime = 'tfDate';
begin
ADOQuery1.SQL.Text := 'select * ' + FROMWhereStr ;
ADOQuery1.Parameters.ParamByName(ParamBuyDateTime).Value := '2015-05-15 20:34:00'; //用参数对象,字符串或者日期时间类型都可以
ADOQuery1.Open;
Memo1.Lines.Add( ADOQuery1.Parameters.ParamByName(ParamBuyDateTime).Value + ' 行' + IntToStr(ADOQuery1.RecordCount));
end; procedure TForm1.Button2Click(Sender: TObject);
const
FROMWhereStr = ' from tbtest WHERE tfDate < #2015-05-15 20:34:00#';
//字符串拼接的SQL里 必须 加# 好像不行,因为时间部分 有 : Delphi 会认为是 变量
//只有 是日期字符2015-05-15,就是没有时间部分 ,才能使用 #
ParamBuyDateTime = 'tfDate'; begin ADOQuery1.SQL.Text := 'select * ' + FROMWhereStr ;
ADOQuery1.Open;
Memo1.Lines.Add( ADOQuery1.SQL.Text + ' 行' + IntToStr(ADOQuery1.RecordCount)); end;
//http://www.delphitop.com/html/shujuku/2180.html
請參考: http://www.delphi32.com/info_facts/faq/faq_932.asp 由於動態給定 sql command, 其中的參數並未建立, 請加入
    Query1.Params.ParseSQL(Query1.SQL.Text , True);
試試看!!
end.

ADOQuery1.Parameters.Clear; //这2句 最好成对出现,有这个,必须要有下面的或者    ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Text := 
 ADOQuery1.Parameters.ParseSQL(ADOQuery1.SQL.Text, True); //这2句 最好成对出现 ,有这个不一定要有上面的


ADOQuery1.Parameters.Clear;
ADOQuery1.SQL.Clear;//为何经常先有这句?

//给Text属性直接赋值,不是也可以更新内容吗?
ADOQuery1.SQL.Text := 'SELECT * ' + FROMWhereStr ;//FROM tbTOPMTrade WHERE BuyDateTime<:BuyDateTime';

ShowMessage( IntToStr( ADOQuery1.Parameters.Count ));

如果没有ADOQuery1.SQL.Clear;

运行,第一次点击 按钮,正常,参数个数是1,第二次点击按钮 ,参数个数是0。

ADO SQL delete 日期条件参数的更多相关文章

  1. 使用Sql按日期条件查询

    --查询当天(1: select * from ShopOrder where datediff(day,ordTime,getdate()-1)=0 --查询当天(2:select * from i ...

  2. SQL 查询--日期条件(今日、昨日、本周、本月。。。) (转)

    主要用到sql 函数 DATEDIFF(datepart,startdate,enddate) sql 语句,设 有 数据库表 tableA(日期字段ddate) ——查询 今日 select * f ...

  3. 动态SQL中 实现条件参数 varchar类型的参数名称 以及模糊查询实现

    set @strSQL='select * from testtable AS P WHERE P.Type='+@PType+' and P.PName ='''+@PName+''' and P. ...

  4. sql server 日期

    在SQL Server数据库中,SQL Server日期时间格式转换字符串可以改变SQL Server日期和时间的格式,是每个SQL数据库用户都应该掌握的.本文我们主要就介绍一下SQL Server日 ...

  5. SQL Server日期时间格式转换字符串详解 (详询请加qq:2085920154)

    在SQL Server数据库中,SQL Server日期时间格式转换字符串可以改变SQL Server日期和时间的格式,是每个SQL数据库用户都应该掌握的.本文我们主要就介绍一下SQL Server日 ...

  6. SQL Server日期时间格式转换字符串

    在SQL Server数据库中,SQL Server日期时间格式转换字符串可以改变SQL Server日期和时间的格式,是每个SQL数据库用户都应该掌握的.本文我们主要就介绍一下SQL Server日 ...

  7. SQL Server日期和时间的格式

    在SQL Server数据库中,SQL Server日期时间格式转换字符串可以改变SQL Server日期和时间的格式,是每个SQL数据库用户都应该掌握的.本文我们主要就介绍一下SQL Server日 ...

  8. SQL Server日期时间格式转换字符串详解

    本文我们主要介绍了SQL Server日期时间格式转换字符串的相关知识,并给出了大量实例对其各个参数进行对比说明,希望能够对您有所帮助. 在SQL Server数据库中,SQL Server日期时间格 ...

  9. 在论坛中出现的比较难的sql问题:46(日期条件出现的奇怪问题)

    原文:在论坛中出现的比较难的sql问题:46(日期条件出现的奇怪问题) 最近,在论坛中,遇到了不少比较难的sql问题,虽然自己都能解决,但发现过几天后,就记不起来了,也忘记解决的方法了. 所以,觉得有 ...

随机推荐

  1. linq——group by

    多列排序&&聚合函数 var result = from i in                (from uh in db.UserHistories                ...

  2. 【TCP/IP详解 卷一:协议】第十七章 TCP:传输控制协议

    本章作为TCP的入门章节,简单的概述了一些TCP的知识,和TCP数据报的首部格式. TCP 最重要的特性:reliable. 17.1 引言 本章介绍的是 TCP为应用层提供的服务. 17.2 TCP ...

  3. ZOJ 1456 Minimum Transport Cost(floyd+后继路径记录)

    http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=1456 题意:求最短路并且输出字典序最小的答案. 思路:如果用dijkstr ...

  4. nginx configuration

    Now that you know how to manage the service itself, you should take a few minutes to familiarize you ...

  5. STL_算法_05_集合算法

    ◆ 常用的集合算法: 1. 1.1.第6讲 PPT.40 ◆ set_union() :  构造一个有序序列,包含两个有序序列的并集. 1.2.第6讲 PPT.40 ◆ set_intersectio ...

  6. Java字节流实现文件夹的拷贝

    import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io ...

  7. Java 密码扩展无限制权限策略文件[转]

    因为某些国家的进口管制限制,Java发布的运行环境包中的加解密有一定的限制.比如默认不允许256位密钥的AES加解密,解决方法就是修改策略文件. 官方网站提供了JCE无限制权限策略文件的下载: JDK ...

  8. URAL 1303 Minimal Coverage

    URAL 1303 思路: dp+贪心,然后记录路径 mx[i]表示从i开始最大可以到的位置 sufmx[i]表从1-i的某个位置开始最大可以到达的位置 比普通的贪心效率要高很多 代码: #inclu ...

  9. C# int.ToString() 常用参数说明

    C#中int类型的ToString()方法有个重载是输入一个字符串,这个字符串可以对int进行部分格式化操作,如上.

  10. C#对GZIP压缩和解压

    /// <summary> /// 将Gzip的byte数组读取为字符串 /// </summary> /// <param name="bytes" ...