Delphi中使用动态SQL的几个问题

2016-02-19 14:17 1 1 收藏

下面是个超简单的Delphi中使用动态SQL的几个问题教程,图老师小编精心挑选推荐,大家行行好,多给几个赞吧,小编吐血跪求~

【 tulaoshi.com - 编程语言 】

Delphi支持参数化SQL语句,不过俺很少用Paramters/Params属性,一般都是自己构造SQL,
  用SQL.Text:='Select * from ..Where ID='''+edit1.text+'''';
  不过这种方法要小心SQL注入攻击哦。
  今天改用ADOQuery控件的Paramters属性,本已为简单的很,一用发现了不少问题。由于我只使用一个ADOQuery控件,而其中的SQL语句和语句中的参数经常要变,所以刚开始在程序中用了如下代码:
  ..........
  
ADOQ.Parameters.Clear;
  ADOQ.Parameters.CreateParameter(...); //创建参数1
  ADOQ.Parameters.CreateParameter(...); //创建参数2
  ADOQ.SQL.Clear;
  ADOQ.SQL.Assign(memo1.text);

  ............

  可一执行,就有时正常,有时报错,说什么不正确的参数设置(用的ACCESS)。
  经过两天的折腾,发现必须使用下面的代码(真是奇怪):
  ..........
  ADOQ.Parameters.Clear;
  Parami:=ADOQ.Parameters.ADDParameter; //创建参数1
  Parami.Name:=...;  Parami.Value:=... 
  Parami:=ADOQ.Parameters.ADDParameter; //创建参数2
  Parami.Name:=...;  Parami.Value:=... 
          //ADOQ.SQL.Clear;  // 该句不能使用,
  ADOQ.SQL.Assign(memo1.text);
  ............

  

来源:https://www.tulaoshi.com/n/20160219/1606637.html

延伸阅读
SQL Server有很多很好用的小功能,但是有时候这些功能反过来给你制造麻烦。其中一个这样的问题是别名用户的使用。本技巧教你如何在数据库中建立别名用户时找到安全漏洞,不过在SQL Server 2008种不推荐这个功能。 首先,你可以对每个数据库运行下面的简单查询或者针对所有数据库操作它来运行以便找到带有“dbo”访问权限的用户。 ...
以下SQL语句在ACCESS XP的查询中测试通过 建表: Create Table Tab1 ( ID Counter, Name string, Age integer, [Date] DateTime); 技巧: 自增字段用 Counter 声明. 字段名为关键字的字段用方括号[]括起来,数字作为字段名也可行. 建立索引: 下面的语句在Tab1的Date列上建立可重复...
标签: 针灸 养生 健康
针灸是中国传统医学宝库中的一支奇葩,深受大家的欢迎,很多人都会选择针灸来减肥,在针灸减肥治疗过程中,可能会出现厌食、口渴、大小便次数增多、这些均属于正常现象,那么针灸减肥前我们需注意什么呢?  了解自身状况  在针灸前要判断好自己的身体状况,若你来针灸前有身体虚弱、大吐大泻之类的症状亦不适合做(www.tulaoshi.c...
有关抗生素知识的几个问题 :家长一般都知道抗生素这个词,也听说了不能滥用抗生素,可孩子得了病,最要紧的是赶快治好,只要药能治病,哪里还顾得上医生和专业人士的忠告。那么在使用抗生素的过程中,会出现哪些问题呢? 1.抗生素在身体里起什么作用? 简单地说,抗生素只有一个功能:瞄准并杀死细菌。除此之外,它既不能缓解疼痛...
标签: SQLServer
很多朋友想用SQL2000数据库的编程方法,但是却又苦于自己是学ACCESS的,对SQL只是一点点的了解而已,这里我给大家提供以下参考---将ACCESS转化成SQL2000的方法和注意事项   一,首先,我说的是在ACCESS2000,SQL2000之间转换,其他的我也还没有尝试过,希望大家多多试验,肯定是有办法的;  二,转换的方法   1,打开”控制面板...

经验教程

723

收藏

35
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部