delphi query的delete方法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了delphi query的delete方法相关的知识,希望对你有一定的参考价值。
procedure TForm9.Button1Click(Sender: TObject);
begin
query1.Close;
query1.SQL.Clear;
query1.SQL.add('select * from password where 用户名='+''''+edit1.text+''''+'and 密码='+''''+edit2.text+'''');
query1.Open;
if query1.RecordCount<>0 then
begin
query1.delete;
showmessage('删除成功');
end
else
begin
application.MessageBox('密码错误,请重新输入','提示',mb_ok);
edit1.SetFocus;
end;
end;
主要功能是实现用户名的删除
运行后提示错误:invalid use of keywords
初步估计是你的表名或字段用到了关键字,应该是你的用户名字段为user吧,两边要加上中括号
所有表名和字段都加上中括号就万无一失了 参考技术A procedure TForm9.Button1Click(Sender: TObject);
begin
query1.Close;
query1.SQL.Clear;
query1.SQL.add('select * from password where 用户名='+''''+edit1.text+''''+'and 密码='+''''+edit2.text+'''');
query1.Open;
if query1.RecordCount<>0 then
begin
query1.Close;
query1.SQL.Clear;
query1.SQL.add('DELETE from password where 用户名='+''''+edit1.text+''''+'and 密码='+''''+edit2.text+'''');
query1.EXECSQL;
showmessage('删除成功');
end
else
begin
application.MessageBox('密码错误,请重新输入','提示',mb_ok);
edit1.SetFocus;
end;
end;
ElasticSearch实战(二十二)-查询并删除匹配文档(delete_by_query)
在工作中,我们通常会使用查询条件来过滤出满足要求的数据,然后再删除它,这样的用法比较多,ES提供了delete_by_query方法实现这种场景,特此记录便于日后查阅。
1、删除符合条件的记录
delete_by_query方法会删除符合条件的记录,命令如下:
POST company01/_delete_by_query
{
"query": {
"match": {
"message": "some message"
}
}
}
注:如果需要删除的数据量巨大,需要通过控制删除批次数来防止ES假死无响应,通过以下参数控制分为100个批次,每秒删除100条(根据业务需要进行调整),命令如下:
POST company01/_delete_by_query?scroll_size=100&requests_per_second=100
{
"query": {
"match": {
"message": "some message"
}
}
}
2、任务模式
可以查看正在执行的异步任务,命令如下:
GET _tasks?detailed=true&actions=*/delete/byquery
也可以直接查看异步任务的信息,命令如下:
GET /_tasks/{task id}
如果需要取消这个异步任务,命令如下:
POST _tasks/{task id}/_cancel
到此查询并删除匹配文档(delete_by_query)介绍完成。
以上是关于delphi query的delete方法的主要内容,如果未能解决你的问题,请参考以下文章
delphi TAdoQuery组件的close方法可能导致”列名无效“错误
ElasticSearch实战(二十二)-查询并删除匹配文档(delete_by_query)