Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Database delphi中的线程错误_Database_Multithreading_Sqlite_Delphi - Fatal编程技术网

Database delphi中的线程错误

Database delphi中的线程错误,database,multithreading,sqlite,delphi,Database,Multithreading,Sqlite,Delphi,我已经写了一个搜索代码来浏览数据库。因为查询是单独执行的,所以我使用了线程 现在,这个网站上的一个用户写的帖子出现了很多错误 代码: 错误1: Project 1.exe引发异常类EEEvaluatorError,消息为“找不到文本” 错误2: Project project1.exe引发异常类EEEvaluatorError,消息为“LinkControlToField6中的EvalError:找不到文本” 错误3: Project project1.exe引发异常类EargumEntotof

我已经写了一个搜索代码来浏览数据库。因为查询是单独执行的,所以我使用了线程

现在,这个网站上的一个用户写的帖子出现了很多错误

代码:

错误1:

Project 1.exe引发异常类EEEvaluatorError,消息为“找不到文本”

错误2:

Project project1.exe引发异常类EEEvaluatorError,消息为“LinkControlToField6中的EvalError:找不到文本”

错误3:

Project project1.exe引发异常类EargumEntotofrangeException,消息为“参数超出范围”

错误4:

Project project1.exe引发异常类EBindCompError,消息为“LinkControlToField2中的EvalError:读取地址000000 D0的模块“rtl230.bpl”中地址5005FC08处的访问冲突”

错误5:

读取地址0000000 4的模块“FireDACCommon230.bpl”中地址006CE2BF处的访问冲突

如何解决这个问题

也许我应该终止我的线程。
如何知道线程具有终止权限?

要加快搜索速度,应使用异步方法

Delphi中有许多示例,例如,请转到计算机的以下地址:

C:\Users\Public\Documents\Embarcadero\Studio\17.0\Samples\Object Pascal\Database\FireDAC\Samples\Comp Layer\TFDQuery\ExecSQL\Async
运行项目并采用该模式

或阅读以下链接:


我们什么都不知道。这将不起作用,因为您需要在线程的上下文中创建连接和查询。当您已经在类本身中时,不要使用form变量……忘记线程,您需要的是异步数据库操作,它将在内部使用线程。读取线程返回一个错误对象,其中包含大量可能有用的信息。但是你忽略了这些信息,只是简单地报告:Form1.edit2.text:='!!错误!!';当然,该代码没有报告您在问题中包含的任何错误。因此,错误似乎不太可能发生在您认为的地方。这不是问题的原因,但您的赋值Form1.edit2.text:=是个坏主意,因为它们假定TForm1的特定实例Form1已创建,如果没有创建,则会导致AV。若要修复,只需删除Form1的两个引用。
C:\Users\Public\Documents\Embarcadero\Studio\17.0\Samples\Object Pascal\Database\FireDAC\Samples\Comp Layer\TFDQuery\ExecSQL\Async