delphi - 如何在delphi中正确使用SQL where语句?

标签 delphi delphi-xe2 pascal

我在发出 SQL 语句时遇到问题。我知道英语值本身应该是一个字符串,我已经尝试过了,但它一直给我抛出这些错误之一

enter image description here

 procedure TfrmPetersonGroup.btnEnglishClick(Sender: TObject);
    var
    sSqlQuery:string;
    begin
    //2.4
    dmoBandB.qryQuery.SQL.Clear;
    sSqlQuery:='DELETE FROM tblClients WHERE Nationality =' + ' English';
    dmoBandB.qryQuery.SQL.Text := sSqlQuery;
    dmoBandB.qryQuery.active := true;
    end;

最佳答案

我建议您进行安全查询。如下:

procedure SafeDeleteReq(SQLQuery: TSQLQuery; del: string);
begin
  SQLQuery.SQL.Text := 'DELETE FROM tblClients WHERE Nationality=:Nationality';
  SQLQuery.ParamByName('Nationality').AsString := del;
  SQLQuery.ExecSQL();
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  SafeDeleteReq(SQLQuery1, 'English');
end;

关于delphi - 如何在delphi中正确使用SQL where语句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62482439/

相关文章:

delphi - Delphi 2010 Generics of Generics

delphi - 用于转换菜单的Delphi XE2组件

delphi - 减少exe文件

pascal - 插入符号点 (^.) 是什么意思?

Delphi : How to read image from ".res file", 不是嵌入资源

excel - 在 Delphi 中使用 Excel .xlsx 工作表作为计算器(函数)?

delphi - Mac OS和Windows上的Delphi XE2静态数组分配不同

c++ - 控制台应用程序比 GUI 应用程序运行得更快吗?

arrays - 如何在 Pascal 中初始化数组?

performance - 德尔福中的 BDE 与 ADO