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. ZooKeeper 增加Observer部署模式提高性能

    Observer:在不伤害写性能的情况下扩展ZooKeeper. 虽然通过Client直接连接到ZooKeeper集群的性能已经很好了,可是这样的架构假设要承受超大规模的Client,就必须添加Zoo ...

  2. spring注解注入properties配置文件

    早期,如果需要通过spring读取properties文件中的配置信息,都需要在XML文件中配置文件读取方式. 基于XML的读取方式: <bean class="org.springf ...

  3. redis安装使用配置

    一.安装前的准备 下载redis http://redis.io/download https://github.com/mythz/redis-windows 下载Windows版客户端net版sd ...

  4. 自动化测试框架Cucumber和RobotFramework的实战对比

    转自: http://www.infoq.com/cn/articles/cucumber-robotframework-comparison   一.摘要 自动化测试可以快速自动完成大量测试用例,节 ...

  5. jquery 封装插件

    如今做web开发,jquery 几乎是必不可少的,就连vs神器在2010版本开始将Jquery 及ui 内置web项目里了.至于使用jquery好处这里就不再赘述了,用过的都知道.今天我们来讨论下jq ...

  6. bzoj 3289: Mato的文件管理 莫队+树状数组

    3289: Mato的文件管理 Time Limit: 40 Sec  Memory Limit: 128 MB[Submit][Status][Discuss] Description Mato同学 ...

  7. 小米笔记本 air 12.5寸 支持硬盘参数

    M.2接口 2280规格 单面芯片固态硬盘 PCIE协议

  8. openshift harp.js heroku react-router 4

    https://segmentfault.com/a/1190000000355181 http://harpjs.com/ https://www.jianshu.com/p/7bc34e56fa3 ...

  9. Android scrollview和GridView混合使用

    在开发中用到了需要ScrollView嵌套GridView的情况,由于这两款控件都自带滚动条,当他们碰到一起的时候便会出问题,即GridView会显示不全.解决办法,自定义一个GridView控件 p ...

  10. java web mysql.jar java.lang.ClassNotFoundException: com.mysql.jdbc.Driver

    java.lang.ClassNotFoundException: com.mysql.jdbc.Driver 折腾了一上午,找到了这错误的原因.哎……悲剧! 确认包已经被导入web工程目录. 原来是 ...