|
|
导航: |
论坛 -> 数据库专区
斑竹:liumazi,waterstone |
|
作者: |
|
2016/12/11 17:12:37 |
标题: |
用FireDac同时读 Sqlite,出现以下问题,什么问题呢? |
浏览:1485 |
|
加入我的收藏 |
楼主: |
D10.1.2 FMX 2个FQuery同时执行相同的SQl语句:连同一个 FdacConn,同一个数据库;
str1,str2:string;
DM.FQ1.Close; DM.FQ1.SQL.text := 'select * from TB order by ID'; DM.FQ1.Open;
DM.FQ1.First; for I := 0 to DM.FQ1.RecordCount-1 do begin Str1:=Str1+DM.FQ1['SS']; *********//这里用作创建按键 ,Name 用上面的 DM.FQ1['SS'] 值 DM.FQ1.Next; end;
DM.FQ2.Close; DM.FQ2.SQL.text := 'select * from TB order by ID'; DM.FQ2.Open;
DM.FQ2.First; for I := 0 to DM.FQ2.RecordCount-1 do begin Str2:=Str2+DM.FQ2['SS']; *********//这里用作创建按键 ,Name 用上面的 DM.FQ1['SS'] 值 DM.FQ2.Next; end;
得出不同的结果,str1 是按 ID顺序出来的。1234。。Str2是 倒序。4321。。
即 创建 出来的 按键,位置 是乱的。
我在2个 FQ 之间 加入 Sleep(100) 后 偶尔正常。。。
请问我的代码有问题? 还是 什么问题? 谢谢。。。
----------------------------------------------
学Delphi不久,会问些初级问题,希望有人指引,不胜感激... |
作者: |
|
2016/12/11 18:32:31 |
1楼: |
问题估计是FMX界面显示UI都是多线程的,故按键为可视组件,有些排位被提前了; 问题已解决,用代码重新排...结贴...
----------------------------------------------
学Delphi不久,会问些初级问题,希望有人指引,不胜感激...
|
作者: |
|
2016/12/12 9:14:29 |
2楼: |
怎样用代码重新排 原来不行的代码也写一下
----------------------------------------------
我为人人为我
|
作者: |
|
2016/12/12 10:55:13 |
3楼: |
上面已经是全部代码,就是少了 创建按键代码,那个很简单,,随便搜都有. btn:=Tbuton.creat之类...
代码重新排.就是 一个一个新按键,重新设置 left 和 top ... ...
vcl是按 i 的顺序创建的,fmx估计用的是多线程创建,结果不是按i顺序了.
----------------------------------------------
学Delphi不久,会问些初级问题,希望有人指引,不胜感激...
|
作者: |
|
2016/12/19 15:30:32 |
21楼: |
回帖真的是一种美德
----------------------------------------------
- 高手一出洞,满楼道都是牛皮癣, 高手确实无敌
|
|