jjzjj

mysql - TDataset 和 TMemDataset

我需要遍历大量MySQL查询并将它们保存在TMemDataset数组中。这似乎可以做到:MemDataset1.CopyFromDataset(ZQuery1,True);但是,每次查询更改时,所有以前的TMemDataset都会更改为包含新值(我猜是因为它们是“数据感知组件”)。如果我用ZQuery1.Free删除ZQuery1,那么所有数据都会消失。我该如何避免这种情况?我正在使用FreePascal,但我敢打赌Delphi的解决方案也适用。 最佳答案 解决方案是拥有一个ZQuery数组和一个MemDataSet数组typeTZ

mysql - Zeoslib : How to tell when query execution is complete?

我在Delphi中使用ZeosLib通过TZQuery对象调用MySQL存储过程。在MySQL完成存储过程的执行后,我需要立即启动下一个代码块。我在MySQL存储过程的末尾添加了一个SELECT1;语句。查明结果已返回的最佳方法是什么? 最佳答案 Zeoslib不能很好地处理返回结果集的存储过程。它主动禁用返回的结果集。有一个解决方法,您可以通过更改ZEOS源代码来激活结果集。但是,当您这样做时,您会遇到很多错误,例如MySQLhasgoneaway。在不可预测的时间,这可能就是他们首先禁用此选项的原因。最后,我寻求的解决方法是将我

mysql - 可以 select ... into outfile 而不是将其保存到文件中,而是将其保存在 blob 中

我想做一个select*fromxintooutfile'c:/test.csv'。但是我不想保存到输出文件test.csv中,而是想将它保存到blob字段中。我正在从Windows上的客户端开始查询。MySQL服务器位于Windows或Linux(两者均可)的服务器上。但我想将文件放在客户端,而不是服务器上的某个地方。顺便说一下客户端软件用Delphi2007编写,使用ZEOS连接到远程服务器上的MySQL数据库。如何在客户端而不是服务器端获取输出文件? 最佳答案 Johan,MySql从运行的服务器上执行这句话。在客户端创建文件

Mysql ZeosLib Delphi XE3

我想知道如何将查询保存在内存中以显示在DBgrid中,我当前的应用程序正在使用:TZConnection>TZquery>数据源>DBgrid工作正常,但这里的问题是,在调用ZConnection.disconnect之后,dbgrid被清理我想在完成查询后立即断开TZConnection,因为大多数MySQL数据库同时连接的用户数量有限。 最佳答案 使用TDataSetProvider将您的查询数据传输到ClientDataSet。该组件会为您做所有事情。将以下组件放在您的DataModule上,并相应地链接它们:TZQuery之

mysql - 多个语句 Delphi TZquery (Zeos) 错误

我正在尝试像这样进行多语句查询://withoutthesecondinsertthequeryworksfine.//ineed2querystoworkbecauselater,i'lldoinsertsondifferentkindoftables.//that'swhyineed2querys,notasinglequerywhichinsert2records.withZQuery1dobeginSQL.Clear;SQL.Add('insertintoclient(name,age)values('+QuotedStr('john')+','+QuotedStr('20')