post和updatebatch区别 delphi】的更多相关文章

Post是确认当前的修改,而UpdateBatch是把已经确认但是没有存盘的数据写入数据库如果不是使用批量更新的方式的时候,Post的时候,确认的修改直接写入数据库. 我弄了一个例子是ado的.往数据库添加一条数据,可是用post也是会在数据库中看到我要添加的数据不是说放在缓存吗?怎么会出现在数据库? 所谓的批量更新是不是数据很多条?一般是多大呢?还是说每次更新的数量很多? 批量更细数据的话他也要一条记录一条记录的添加进去吧?那这样的话,一条一条的记录页可以用post啊 搞不懂post跟upda…
1.override overload reintroduce的中文叫法是什么?   override:覆盖:overload:重载:Reintroduce:重定义 2.在子类中override或overload父类中的动态或虚拟方法后是否会改变父类中的相应方法?    不会 3.self是怎么回事,怎么使用?    Self因为这这个对象本身,例如,在TForm1的OnCreate事件中写Self指的是TForm1实例化后的对象,如果TForm1上有一个TButton叫做Button1,那么O…
http://msdn.microsoft.com/zh-cn/library/vstudio/hf9hbf87.aspx <?xml version="1.0"?> <books> <book> <author>Carson</author> <price format="dollar">31.95</price> <pubdate>05/01/2001</pub…
Delphi异常处理try except语句和try finally语句用法以及区别 一直写程序都没管他们,也尽量很少用,今天终于想把他给弄个明白,在网上找来,记下!主要是前面小部分,后面的是详细说明(很啰嗦!) 一.异常的来源 在Delphi的应用程序中,下列的情况都比较有可能产生异常. (1)文件处理 (2)内存分配 (3)Windows资源 (4)运行时创建对象和窗体 (5)硬件和操作系统冲突 二.异常的处理 (1)try…except…end; 在try体内的代码发生异常时,系统将转向e…
一.异常的来源 在Delphi的应用程序中,下列的情况都比较有可能产生异常. (1)文件处理 (2)内存分配 (3)Windows资源 (4)运行时创建对象和窗体 (5)硬件和操作系统冲突 二.异常的处理 (1)try…except…end; 在try体内的代码发生异常时,系统将转向except部分进行异常的处理.这是Delphi处理异常的最基本的方式之一. (2)try…finally…end; 这种异常处理结构一般用于保护Windows的资源分配等方面,它确保了无论try体内的代码是否发生异…
转:http://www.java123.net/v/936977.html      2015-06-24 09:27:48 一直写程序都没管他们,也尽量很少用,今天终于想把他给弄个明白,在网上找来,记下!主要是前面小部分,后面的是详细说明(很啰嗦!) 一.异常的来源 在Delphi的应用程序中,下列的情况都比较有可能产生异常. (1)文件处理 (2)内存分配 (3)Windows资源 (4)运行时创建对象和窗体 (5)硬件和操作系统冲突 二.异常的处理 (1)try…except…end;…
原文地址:delphi try except语句 和 try finally语句用法以及区别作者:1865898133 一直写程序都没管他们,也尽量很少用,今天终于想把他给弄个明白,在网上找来,记下!主要是前面小部分,后面的是详细说明(很啰嗦!) 一.异常的来源 在Delphi的应用程序中,下列的情况都比较有可能产生异常. (1)文件处理 (2)内存分配 (3)Windows资源 (4)运行时创建对象和窗体 (5)硬件和操作系统冲突 二.异常的处理 (1)try…except…end; 在try…
Delphi错误:Stack overflow的解决方法 在编译Delphi程序时,执行一个内存记忆体的时候,提示:Project.exe raised exception class EStackOverflow with message : Stack overflow.这是堆栈溢出错误.原因就是字符串所存储的内容超过DELPHI系统堆栈默认的大小 16*100000 .我们可以改大这个默认值.那么如何给我们的应用程序分配更大的内存空间以避免堆栈溢出呢?其实,在每个Delphi项目中都有一个…
今天在写用ADO从EXCEL导入数据的程序时,出现个错误,弄了很久都弄不好,最后还是用异常处理解决掉了. 数据中日期在导入之前要转换成日期格式,虽然说一个strtodate就可以转好了,但是数据中的日期有空的,日期是空的话,转换时就出错,这个还好处理,加个IF语句就可以了.但是,那堆数据中,最后一行数据的日期又是空的,但是读出来就不是""了,而是null,这样,strtodate转换又出错了.想用IF语句来判断弄了一两个小时都没弄好.最后一个try except就搞定了. 心得是:在编…
转载自:http://www.cnblogs.com/qiusl/p/4028437.html?utm_source=tuicool 我估摸着内存分配+释放是个基础的函数,有些人可能没注意此类函数或细究,但我觉得还是弄明白好. 介绍下面内存函数之前,先说一下MM的一些过程,如不关心可以忽略: TMemoryManger = record GetMem: function(Size: Integer): Pointer; FreeMem: function(P: Pointer): Integer…
我估摸着内存分配+释放是个基础函数,有些人可能没注意此类函数或细究,但我觉得还是弄明白的好. 介绍下面内存函数前,先说一下MM的一些过程,如不关心可忽略: TMemoryManager = record GetMem: function(Size: Integer): Pointer; FreeMem: function(P: Pointer): Integer; ReallocMem: function(P: Pointer; Size: Integer): Pointer; end; var…
delphi Syntax check. build.  run. compile的区别 Build是从新编译所有和生成exe有关的文件,无论.pas文件是否修改过,它都会重新生成新的.dcu,并从新链接这些.dcu等等文件. Compile是编译修改过的文件,它只生成新修改过的.pas的相应的.dcu,并从新链接这些改变过的.dcu等等文件. Run和Compile编译过程功能类似,但编译完后运行可执行文件用于调试.前两个都不会运行编译结果. Syntax Check(语法检查) Delphi…
[1]“=”符号 (1)“=”作为比较符.但是,当定义const常量时,“=”又表示赋值符号.而“:=”作为赋值符号. (2)“=”只表示赋值符号 [2]结构体 (1)record 作为结构体 (2)struct 作为结构体 [3]继承 (1)子类名 = class(父类名)(同时注意这里的“=”也相当于赋值符号) (2)子类名:public 父类名 [4]class of (1)A = class of B;  表示A是B的别名. (2)相当于typedef关键字,定义一个别名. [5]构造函…
Procedure型变量: 在DELPHI中,函数.过程的地址可以赋给一个特殊类型的变量,变量可用如下方式声明: var p : procedure(num:integer); //过程 或: var f : function(num:integer):integer; //函数 也可定义一个过程(或函数)类型,再定义该类型的变量,如: type TMyProc = Procedure(num:integer); var p : TMyProc; example: type TMyProc= p…
临界区对象TCriticalSection(Delphi) 与 TRtlCriticalSection 的区别 TRtlCriticalSection 是一个结构体,在windows单元中定义: 是InitializeCriticalSection,EnterCriticalSection,LeaveCriticalSection, DeleteCriticalSection 等这几个kernel32.dll中的临界区操作API的参数: TCriticalSection是在SyncObjs单元中…
delphi adoquery的post和UpdateBatch Post是确认当前的修改,而UpdateBatch是把已经确认但是没有存盘的数据写入数据库当ADOQuery的CursorType是ctKeySet或者ctStatic,并且LockType是ltBatchOptimistic的时候,数据DataSet是用批量更新的更新方式.这时,每条记录修改之后,用Post确认当前修改,但是确认后的数据却并没有立即写入数据库,而是保存于缓存之中.当调用UpdateBatch的时候,这些缓存中的修…
前话:  其实大家要学会看源码, 我接下来要说的这些东东,与其等别人讲,还不如自己搞几个代码试一下,印象还深刻点 TThread.Queue和TThread.Synchronize的区别,效果上:二者的作用都是让业务代码在主线程中执行,差别: Synchronize是阻塞,Queue是非阻塞代码上 两个方法最终都是调用的 class procedure TThread.Synchronize(ASyncRec: PSynchronizeRecord; QueueEvent: Boolean =…
在事件处理程序参数表中,至少含有一个参数Sender,它代表触发事件处理程序的构件,如在上例中,Sender就指Button2,有了Sender参数,可以使多个构件共用相同的事件处理程序,如下例:   Procedure Tform1.Buttonclick(Sender:Tobject);   Begin   If sender=button1 then   Label1.caption:=′看庭前花开花落  ′ Else Label2.caption:=′望天上云卷云舒′   End: 在此…
来自:http://blog.sina.com.cn/s/blog_4bc47d2301018trf.html ------------------------------------------------------------------ delphi dispose释放内存的方法 New 和 GetMem 的区别 定义一个record 类型,经过多次new dispose后,从windows任务管理器看,占用的内存比启动时大了很多,似乎越来越大 设置 ReportMemoryLeaksO…
来自:http://www.cnblogs.com/qiusl/p/4028437.html?utm_source=tuicool&utm_medium=referral -------------------------------------------------------------------------------------------------------- 我估摸着内存分配+释放是个基础函数,有些人可能没注意此类函数或细究,但我觉得还是弄明白的好. 介绍下面内存函数前,先说…
Record 和Packed Record 第一种不带packed关键字的结构体表明编译器编译时要求进行字对齐,而第二种带packed关键字的结构体表明编译器编译该结构体时不需要进行字对齐,这种方式对结构体中的字段访问会比第一种方式慢!但是更节约空间.有Packed 的占用内存小,但是速度慢一点.没Packed 的占用内存大,但是速度快一点 比如: TA   =   record a:   AnsiChar; b:   Integer; end; 和 TB   =   packed   reco…
初步的区别: http://www.embarcadero.com/products/delphi/product-editions http://www.embarcadero.com/fr/products/delphi/product-editions 详细的区别(太经典了,本博客也备份了): http://www.embarcadero.com/products/delphi/Delphi-Feature-Matrix.pdf http://files.cnblogs.com/findu…
前话:  其实大家要学会看源码, 我接下来要说的这些东东,与其等别人讲,还不如自己搞几个代码试一下,印象还深刻点 TThread.Queue和TThread.Synchronize的区别, 效果上:二者的作用都是让业务代码在主线程中执行,差别: Synchronize是阻塞,Queue是非阻塞 代码上 两个方法最终都是调用的 class procedure TThread.Synchronize(ASyncRec: PSynchronizeRecord; QueueEvent: Boolean…
Delphi中destroy, free, freeAndNil, release用法和区别 1)destroy:虚方法 释放内存,在Tobject中声明为virtual,通常是在其子类中override 它,且要加上inherited关键字,才能保证派生类对象正确地被销毁;但destroy一般不能直接用,为什么?当一个对象为nil,我们仍然调用destroy,会产生错误.因为destroy是虚方法,它要根据对象中的头四个字节找到虚拟方法表Vmt的入口地址,从而找到destroy的入口地址,所以…
 http://blog.csdn.net/zang141588761/article/details/52838728 Delphi中堆栈区别 2016-10-17 14:49 277人阅读 评论(1) 收藏 举报  分类: Delphi(70)  版权声明:本文为博主原创文章,未经博主允许不得转载. 1   栈 栈是由操作系统在创建线程的时候,系统自动创建,栈是由顶像下分配的, DELPHI 中默认的栈大小是 1M ,这个可以通过 Project->Options->Linker->…
Delphi Create(Application) 和 Create(nil) 的区别: 例如: Form1:=TForm1.Create(Application); Form1:=TForm1.Create(nil): Create(Application)  :程序创建时会将对象添加到属主对象的组件(TComponent)列表中,当属主对象销毁时首先查看并销毁属主对象的从属对象,即当Application对象释放时会自动释放从属对象. 这里又要衍生一个概念及应用程序对象即Applicati…
varc: Char; {Char 类型的取值范围是: #0..#255, 用十六进制表示是: #$0..#$FF}begin{用十进制方式赋值:}c := #65;ShowMessage(c); {A} {用十六进制方式赋值:}c := #$41;ShowMessage(c); {A} {用 Chr 函数代替 # 符号}c := Chr(65);ShowMessage(c); {A}c := Chr($41);ShowMessage(c); {A} {Char 长度当然会是 1}ShowMes…
from:http://www.cnblogs.com/taofengli288/archive/2011/09/05/2167553.html delphi中表示跳出的有break,continue, exit,abort, halt, runerror.1.break 强制退出循环(只能放在循环中),用于从For语句,while语句或repeat语句中强制退出.2.continue 用于从For语句,while语句或repeat语句强行结束本次称称循环,并开始下一次循环.3.exit 用于从…
Delphi中表示跳出的有break,continue,abort,exit,halt,runerror等 1.break 强制退出最近的一层循环(注意:只能放在循环里:而且是只能跳出最近的一层循环),用于从for.while.repeat语句中强制退出 类似于C/C++等语言中的break的功能 2.continue 用于从for.while.repeat语句中结束循环内的本次处理,继续从循环体的开始位置继续执行 类似于C/C++等语言中的continue的功能 3.exit 用于从当前代码块…
转载:http://blog.csdn.net/rznice/article/details/6566978 第一种不带packed关键字的结构体表明编译器编译时要求进行字对齐. 而第二种带packed关键字的结构体表明编译器编译结构体的时候不需要进行字对齐,这种方式对结构中的字段访问回避第一种方式慢!但是更节约空间. 所以归纳来说,有packed的占用内存小,但是速度慢一点.没有packed的占用内存大,但是速度快一点 比如 TA = record a : char; b : integer;…