摘要: 将属性OptionsBehavior.FocusFirstCellOnNewRecord = True OptionsBehavior.GoToNextCellOnEnter = True OptionsBehavior.FocusCellOnCycle = True 此时除了修改OptionsBehavior中的属性值外,还要修改OptionData.Appending=True, 阅读全文
posted @ 2011-03-27 23:13 fyen 阅读(651) 评论(0) 推荐(0) 编辑
摘要: procedure TForm1.IdTCPServer1Connect(AThread: TIdPeerThread);type TCP_KeepAlive = record OnOff: Cardinal; KeepAliveTime: Cardinal; KeepAliveInterval: Cardinal end;var Val: TCP_KeepAlive; Ret: DWord;begin Val.OnOff:=1; Val.KeepAliveTime:=xxx; Val.KeepAliveInterval:=xxx; WSAIoctl(AThread.Connection.So 阅读全文
posted @ 2011-03-26 10:36 fyen 阅读(594) 评论(0) 推荐(0) 编辑
摘要: if exists(select * from sysobjectswhere name='BackupDB' and xtype='p')begindrop proc BackupDBendgocreate procedure BackupDB@dataname nvarchar(1024),@filename nvarchar(1024)as declare @sql nvarchar(1024) set @sql='backup database '+@dataname+' to disk=N'''+@fil 阅读全文
posted @ 2011-03-19 12:59 fyen 阅读(392) 评论(0) 推荐(0) 编辑
摘要: var ADOQ: TADOQuery; pFIBDatabase1: TpFIBDatabase; pFIBTransaction1, pFIBTransaction2: TpFIBTransaction; pFIBDataSet1: TpFIBDataSet; I: integer; FContent, FSolution: TStream;begin ADOQ:= TADOQuery.Create(nil); ADOQ.ConnectionString:= format('Provider=Microsoft.Jet.OLEDB.4.0;Data Source=%s;Persis 阅读全文
posted @ 2011-03-14 23:09 fyen 阅读(1011) 评论(0) 推荐(0) 编辑
摘要: 以下问题出现原因有可能多个,暂时将我遇见的记录下来,以后有新的在陆续更新上去,有网友愿意的话也可以共同测试一下。一,无法更新定位行。一些值可能已在最后一次读取已更改。错误出现前提:1, 录数据时,没有输或忘记输一些列就保存,之后重新修改记录,输入这些值后保存出现错误。2, 多个人同时修改记录,后保存的几个人会出现。分析原因:1, 这种错误通常在数据库表中某一个或几个字段存在默认值,而在录的过程跳过了默认值列的输入,导致保存后记录显示和数据库不一致,保存会出现。2, 第二种情况不用解释了,因为错误提示得很清楚。解决方法:1, 取消数据库表原先存在默认值的列的默认值。真的需要默认值的话,就在aft 阅读全文
posted @ 2011-03-13 18:53 fyen 阅读(2931) 评论(0) 推荐(0) 编辑
摘要: 今天稍微研究了一下Execute Block,发现效果不错。开始一直以为Execute Block用于Procedure,后来仔细看文档才知道,实际用于客户端。当你在客户端组织比较复杂的数据,又不想写一个存储过程(比如,你的sql语句需要临时组成,而execute statement又有局限时)就可以用它。换句话说,就是你在客户端临时写个procedure。举例如下:表:user_tableidnamesalary===========1唐僧15002 孙悟空10003 猪八戒8004 沙和尚700为了显示词语句功能的强大,假定要求:需要给工资低于1000的人加上15%,高于1000的加上10 阅读全文
posted @ 2011-03-13 00:07 fyen 阅读(920) 评论(2) 推荐(0) 编辑
摘要: Firebird没有AutoInc字段,但可以通过生成器与触发器来达到同样的效果,为了获得这个由生成器生成的ID可以通过RETURNING来获得同样通过设置TUniQuery的DMLRefresh为True可自动获得插入的新值。 阅读全文
posted @ 2011-03-12 13:21 fyen 阅读(495) 评论(0) 推荐(0) 编辑
摘要: RC文件内容如下:1VERSIONINFOFILEVERSION1,0,0,1PRODUCTVERSION1,0,0,1FILEOSVOS__WINDOWS32FILETYPEVFT_APPBEGINBLOCK"StringFileInfo"BEGINBLOCK"080404b0"BEGINVALUE"FileDescription","a应用程序\0"VALUE"FileVersion","1,0,0,1\0"VALUE"InternalName",&q 阅读全文
posted @ 2011-03-11 00:29 fyen 阅读(1590) 评论(0) 推荐(0) 编辑
摘要: 单击报头,对CxGrid中的中文列进行排序时,会出现排序混乱的问题?解决办法:选择CxGrid-GridView-DataController-options,将下面的dcoAnsiSort和dcoSortByDisplayText这两个参数设置为TRUE,即可! 阅读全文
posted @ 2011-03-11 00:23 fyen 阅读(952) 评论(0) 推荐(0) 编辑
摘要: Firebird数据库分为Classic Server和Superserver两种体系这两种体系的区别: a,进程上:Classic Server为每个连接都创建一个独立的进程,都有自己独立的内存空间,越少的连接就占用越少的资源。 Superserver是所有的连接都在一个进程中,用多线程的提交处理,并且共享内存空间,当有多个并发连接的时候可以有更好的效果b,本地连接:在Windows上,两个体系都支持安全和可靠的本地连接,就只有服务进程需要权限去访问数据库c,多处理器:Classic Server支持多处理器,在有很多连接的时候有更好性能,而且相互之间没有影响Superserver不支持,并 阅读全文
posted @ 2011-03-04 00:09 fyen 阅读(3219) 评论(1) 推荐(1) 编辑