加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

delphi – 带变量的SQL查询

发布时间:2020-12-15 10:11:49 所属栏目:大数据 来源:网络整理
导读:嘿伙计们,我需要这方面的帮助…我正在为学校做一个PAT,我正在做以下如何纠正它…我想发送一个输入的电子邮件地址,姓名,标识 我的陈述是数字,出生日期,性别,城镇和所有字符串 Adoquery1.sql.text := 'insert into besprekings values('email','name','Id','bi
嘿伙计们,我需要这方面的帮助…我正在为学校做一个PAT,我正在做以下如何纠正它…我想发送一个输入的电子邮件地址,姓名,标识
我的陈述是数字,出生日期,性别,城镇和所有字符串
Adoquery1.sql.text := 'insert into besprekings 
                       values('email','name','Id','birth','gender','town')';

字段如下:

Email(string),Name(string),ID(string),Birth(string),Gender(string),town(string)

这不是真正的功课,这是一个占我年纪数25%的项目.我已经完成了所有事情,但无法做到这一点.我们必须带来一些我们在学校没有学到的新东西,对我来说,打开像邮件(Windows 8)这样的程序,这样做我真的很想让每个人都试图帮助

解决方法

您需要使用参数化查询,以防止SQL注入.虽然现在你的应用程序可能不需要担心,但最好养成一开始就做好的习惯.我将展示一些代码,你可以弄清楚如何自己完成它.

首先,正确填充您的SQL.指定要插入的列的名称,以及用于填充它们的参数名称(以:)开头的部分:

ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('INSERT INTO beskprekings (email,name,Id)');
ADOQuery1.SQL.Add('VALUES (:email,:name,:Id)');

现在将实际值插入参数中,使用您在VALUES列表中使用的相同名称:

ADOQuery1.Parameters.ParamByName('email').Value := email;
ADOQuery1.Parameters.ParamByName('name').Value := name;
ADOQuery1.Parameters.ParamByName('id').Value := Id;

现在,执行查询.

使用参数化查询执行此操作的额外好处是,一旦运行一次,您可以简单地重新填充参数并再次运行它;数据库已经完成了准备查询所需的工作(提示:我标记的单词对ADO和其他数据库有意义 – 你应该调查它),这样当你一次又一次地使用它时会快得多.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读