Delphi
2022-12-22
677
function TForm1.DBtableExists(sTableName: string;FDconn: TFDConnection): Boolean; var vTableNames:TStringList;begin Result:=False; vTableNames:=TStringList.Create; try FDconn.GetTableNames('','','',vTableNames,[osMy]
2022-12-22
24
按 Ctrl +Shift+F (注意:如果你装了某狗输入法,会把这个 Delphi 快捷键冲突掉)。弹出如下窗体。然后查找来源:http://www.delphifmx.com/node/9
2022-12-22
57
ADO的事务处理例子(Delphi)ADOConnection1.BeginTrans; //开始事务trywith ADOCommand1 dobeginConnection:=ADOConnection1;commandtext:='update [country] set [population]=10000 where [name=''Venezuela''';//正确的SQL语句Execute;CommandText:='Wrong
2022-12-22
35
//需要用到的库 http://delphitop.com/html/xiancheng/5562.htmlfunction Test2: integer;var s: integer;begin s := 0; TParallel.&For(1, MAXN, procedure(i: integer) begin if (IsPrime(i) = 1) then begin // memory barrier AtomicIncrement(s);
2022-12-22
136
SQLite不仅可以把数据库放在硬盘上,还可以放在内存中,经测试,同样条件下数据库放在内存中比放在硬盘上插入记录速度快差不多3倍。但数据库放在内存中时有如下缺陷:1、断电或程序崩溃后数据库就会消失,你需要定期Attach到硬盘上备份;2、在内存中的数据库不能被别的进程访问(因为没名字,以后可能支持),即使在多线程下,也得使用同一句柄;3、不支持像在硬盘上的读写互斥处理,需要自己加锁。4、只能本进程使用,其它进程无法使用。1)FIREDAC创建和使用参数打开一个SQLite内存数据库:// 建立一个内存
2022-12-22
32
数据量2w行,字段30个第一次openfd读取数据用时363毫秒,ado用时783毫秒第二次open fd读取数据用时10毫秒,ado用时553毫秒 遍历所有记录第一次fd读取数据用时2438毫秒,ado用时5590毫秒第二次fd读取数据用时1988毫秒,ado用时5548毫秒--------------------------------------------------fd读取数据用时363毫秒,ado用时783毫秒fd读取数据用时363毫秒,ado用时783毫秒FireDac 组件说明一TFDM
2022-12-22
52
FDMemTable1.Close();FDMemTable1.FieldDefs.Clear();FDMemTable1.FieldDefs.Add('ID', ftInteger, 0, True);FDMemTable1.FieldDefs.Add('Name', ftString, 20, false);FDMemTable1.CreateDataSet();FDMemTable1.AppendRecord([101, 'aaa']);FDMemT
2022-12-22
53
我们知道,一般的dbf文件执行delete操作都只是对文件进行逻辑删除(对记录做标记,可以恢复),而怎么使记录彻底删除呢?如下:procedure PackTable(Table: TTable);var Props: CURProps;begin // 必须以独占方式打开 if (not Table.Active) or (not Table.Exclusive) then Exit; Check(DBIGetCursorProps(Table.Handle, Props)); // 必须是