自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(35)
  • 资源 (17)
  • 收藏
  • 关注

原创 MSSQL设计主键类型

在SQLServer环境下,表的主键应该怎样设计.目前主要用到的主键方案共三种自动增长主键手动增长主键UNIQUEIDENTIFIER主键1、先说自动增长主键,它的优点是简单,类型支持bigint.但是它有致命的弱点:当我们需要在多个数据库间进行数据的复制时(SQL Server的数据分发、订阅机制允许我们进行库间的数据复制操作),自动增长型字段可能造成数据合并时的主键冲突

2013-01-05 10:57:48 829

原创 delphi中TcxScheduler的使用

绑定模式下,数据被存储在数据库系统中。要使scheduler工作在绑定模式下,应将TcxScheduler.Storage属性绑定到TcxSchedulerDBStorage部件。步骤如下:1.创建两个用以存储数据的表SchedulerTable、SchedulerResourcesTable,结构如下:create table schedulertable(ActualFinis

2012-11-26 14:38:16 2874 1

原创 sql 查看磁盘可用大小

EXEC master.dbo.xp_fixeddrives

2012-11-09 09:20:24 461

转载 DataSnap Server 对像池 .

首先要解释下对像生存期(LifeCycle)  'Server'          对像在Server运行过程中全局存在, 对像的类成员变量都是线程不安全的, 多个客户连接都是共用它的  'Session'        对像在一个客户连接时建立/断开时释放, 类成员变量都是线程安全的, 全局变量仍然是线程不安全的  'Invocation'   对像在每个客户请求时建立(远程方法)/

2012-07-27 17:34:05 1258

原创 SQL Server中行列转换 Pivot UnPivot

PIVOT用于将列值旋转为列名(即行转列),在SQL Server2000可以用聚合函数配合CASE语句实现PIVOT的一般语法是:PIVOT(聚合函数(列) FOR 列 in (…) )AS P完整语法:table_sourcePIVOT(聚合函数(value_column)FOR pivot_columnIN()) UNPIVOT用于将列明转为列

2012-07-20 15:03:38 492

原创 个人认为Delphi XE2最实用的3个新增功能

TOSVersion类型     增加了一个记录类型:TOSVersion,看名字就知道它和版本功能有关,这比之前的函数好用多了,其实以前也没必要有它,这回是跨平台了才需要它。它可以获知当前运行环境是 x86,还是 x64,是 windows,还是 mac,并且还能得到操作系统的具体版本号,还可以方便的判断当前版本是否高于某个版本。它还有个叫 ToString() 的方法,它返回的结果符合

2012-07-18 10:57:23 1076

原创 Delphi中的构造函数

Delphi中所有类都继承自TObject ,Create默认不是虚方法 ,Destroy默认是虚方法.VCL中组件继承的大多Create都被声明成虚方法了。在Delphi当中构造函数当中的create与析构函数destroy大部分都是虚方法.可以覆盖.被覆盖的函数必须是虚(virtual)的,或者是动态(dynamic)的. (Constructors)构造函数,  用来

2012-02-09 14:53:17 843

原创 极限编程的集成测试工具-Dunit

简介极限编程(Xtreme Program)的测试理念是,在开发程序的之前或者同时就要编写出相应的测试程序,而不是象通常那样等到测试阶段再来编写测试程序。 当程序完成时,它的测试程序也应该已经完成。从软件工程的普遍规律来看,每修正一个bug的同时会以20%的几率引入新的bug。而XP的测试方式是, 每当修改Bug或者重构代码后都要重复测试所有的测试案例,以免在修改代码时引入新的Bug,只有经过

2011-11-08 10:12:42 1026

原创 Delphi TClientDataSet 使用方法_详解

TClientDataSet与TTable、TQuery一样,TClientDataSet也是从TDataSet继承下来的,它通常用于多层体系结构的客户端。 TClientDataSet最大的特点是它不依赖于BDE(Borland Database Engine),但

2011-10-06 14:12:20 6530 1

原创 DELPHI DATASNAP 2010 入门操作(2)不写一行代码,绿色三层我也行

有一行代码的三层,功能肯定非常的简单,但是,再简单,我们也三层了,学习一个东西,需要从入门开始就有兴趣,如果入门就给吓怕了,哪么后来何来信心学习呢?现在就让我们开始吧,不只是没有华丽的词语,而是连用词都不专业,因为,我也只是一个入门者。  我所用的版本为:Embarcader

2011-09-10 14:30:57 1512

原创 DELPHI DATASNAP 2010 入门操作(1)为什么要用datasnap 2010

网上关于新版本的datasnap的资料不是太多,我现在所能找到的全面一些的,也就是我们QQ群(DATASNAP[DELPHI]三层:67803772)里面的两位高手写的分析文章,且已经转到了我的BLOG文章中,还有群里面的一位朋友翻译了的datasnap 的一些资料。   对

2011-09-10 14:30:21 635

原创 类工厂模式

<br /><br />面向对象设计的一个目标就是将各种功能封装到不同的对象.这种思想很好,鼓励使用封装和委托. <br />有些应用程序或框架无法预料必须被创建的对象的类型.通常先接收一些信息指示如何执行. <br />这种情形在RO服务端接收到客户端请求是经常要面对:服务端需要知道请求需要什么对象,需要创建一个实例,最终调用完成, 又需要决定如何处理这个创建的实例. <br />我们使用类工厂模式来解决这中变异. <br />注意:本文适合RemObjects SDK的 Delphi和.NET版本. 对

2011-04-12 15:39:00 1450

原创 RO代码跟踪 之 对象池工厂的工作原理

<br />  要在服务端使用对象池的功能,需要在XXX_Impl中uses uROClassFactories单元,并将其initialization小节中代码<br />TROClassFactory.Create('FirstSampleService', Create_FirstSampleService, TFirstSampleService_Invoker);<br />替换为<br />TROPooledClassFactory.Create('FirstSampleService' ,  

2011-04-12 15:36:00 667

原创 用DELPHI建立多线程COM服务器

<br />用DELPHI建立多线程COM服务器 <br /> <br />  <br />摘要:本文探讨了多线程COM服务器的原理,然后详细介绍利用DELPHI建立多线程COM服务器的方法和步骤,并给出了相应测试实例。<br />关键词:组件对象模型(COM)、单线程单元模式(STA)、应用程序服务器<br /> <br />本文从实践的角度,详细介绍了在delphi中建立多线程Apartment COM服务器的方法和步骤。有关线程和COM技术的详细内容,请读者参考有关书籍。为便于理解,这里对本文涉及的内

2011-03-30 19:43:00 1823 1

原创 C/S结构中成批保存CLIENTDATASET中的数据

<br />这应该不算是什么技巧,估计有数据库方面程序的Delphi程序员都知道;本来没有写想到<br /> 需要把它写成一篇贴子,但前不久看个别刚入门的兄弟的代码时。才发展他们还在刀<br /> 耕火种,为此才想把它写出来算是对入门的兄弟们的一点帮助,让大侠们见笑了;<br />  我们都知道TCLIENTDATASET有把对它其中的数据所做的修改记录下来的功能;如果需要还可以将<br />  修改回复到以前的某个状态,而且结合DATASETPROVIDER还可能自动完成改动到SQL映射,将改动成批提交到

2011-03-30 14:55:00 666

原创 Borland DataSnap(MIDAS)三层架构编程中,DataSetProvider的Option属性

Borland DataSnap(MIDAS)三层架构编程中,DataSetProvider的Option属性DataSetProvider的Option属性 看看远端数据模块里的DataSetProvider的Option属性是否设置正确!Provider控件的Options属性值是一个集合,用于设置有关打包和传递的选项,像显示哪些字段、允许哪种更新方式等等。1.         poFetchBlobsOnDemand:若包含此项,则表示数据包中不包括BLOB字段。不过,如果客户端的TclientDat

2011-03-30 14:53:00 1102

原创 为什么要选择UniDAC

<br />其实delphi优秀的数据集组件真不少,除了上诉的数据集组件,还有ZEOSDB、SQL Direct、UniDAC等,要是专业的数据集组件,更是百花盛开,如FIBPLUS、SDAC、ODAC、DOA等等,商业和开源不尽其中!这里只讨论UniDAC和ADO的一些比较。<br /><br />       Delphi能发展到现在,和一些著名的第三方控件厂商大力支持分不开,这其中包括Devart公司(Corelab)公司。Corelab公司做数据集驱动非常出名,就拿ODAC、SDAC和DBX驱动来说

2011-03-29 17:36:00 1004

原创 RO39 – 在一个事务中实现多个ClientDataSets 更新

<br />从两层迁移到三层第一个要面临的窍门就是摆脱在客户端控制事务.客户端不应该开始和提交事务.事实上客户端应该不知道任何事物.所有的事务逻辑应该放在服务端. <br />本文向你展示如何在RemObjects DataSnap服务中创建一个方法,用以传递一个ClientDataSet. Delta集合并在单独的事务中向数据库中更新,以便于在更新时发生异常时回滚事务. <br />这个方法只适用于你使用非嵌套(主从关系)的ClientDataSets 的情况,因为DataSnap默认情况下已经在单独事务

2011-03-29 11:12:00 1347 1

原创 Delphi中多线程下使用使用 UniDAC+MSSQL 需要注意的问题

一般解决方法是在线程开始启用 CoInitialize(nil),线程结束调用 CoUninitialize 。如果你使用多种数据库连接,比如三层中经常切换到MSSQL和Oracle,我们只需在判断 TUniConnection 的连接前事件 OnBeforeConnect 写下如下代码:procedure TServDBFunc.ServConnBeforeConnect(Sender: TObject);beginif (ServConn nil) and SameText(ServCon

2010-12-29 22:02:00 989

原创 Delphi快捷键大全

在过程、函数、事件内部, SHIFT+CTRL+向上的方向键 可跳跃到相应的过程、函数、事件的定义.相反,在过程、函数、事件的定义处,SHIFT+CTRL+向下的方向键 可跳跃到具体过程、函数、事件内部<br />CTRL+ SHIFT + C:编写申明或者补上函数. <br />如: <br />procedure TT.A(AA: string); //函数申明 <br />安下:CTRL+ SHIFT + C后,会写上 <br />procedure TT.A(AA: string); <br />b

2010-12-29 21:59:00 517

原创 SQL的重复记录处理大全

<br />查找所有重复标题的记录: SELECT * FROM t_info a WHERE ((SELECT COUNT(*) FROM t_info WHERE Title = a.Title) > 1) ORDER BY Title DESC 一。查找重复记录 1。查找全部重复记录 Select * From 表 Where 重复字段 In (Select 重复字段 From 表 Group By 重复字段 Having Count(*)>1) 2。过滤重复记录(只显示一条) Select * Fr

2010-12-29 21:57:00 414

原创 .在delphi中实现网页的自动输入

<br />如果webbrowser由你创建<br />如果网页内容可知<br />用263举个例子<br />procedure   TForm1.FormCreate(Sender:   TObject);<br />begin<br />    b   :=   false;<br />    webbrowser1.Navigate('http://www.263.net');<br />end;<br />procedure   TForm1.WebBrowser1DocumentComplete

2010-12-29 21:53:00 989

原创 delphi三层框架设计

大多数文章中都或多或少的讲到了三层架构。表示层,业务层,数据层。又把业务层再细分,分为外观服务层,主业务服务,及数据库库服务层。今天主要讨论一下业务层吧。举个最简单的例子。客户端获取数据。业务层要与表示层尽量解藕, 我的方法是:首先我们在中间层TLB_中定义一个接口 IBusinessService, 定义一个方法。getvoList,我要得到一个VO的列表, VO即ValueObject, 例如:TValueObject= class(TPersistent) priva

2010-10-24 11:09:00 851

原创 一段控制摄像头的代码

2005年7月一段控制摄像头的代码unit Unit1;interfaceuses  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,  Dialogs, ExtCtrls, StdCtrls;type  TForm1 = class(TForm)    btnStart:

2010-05-14 09:26:00 1010

原创 VideoCapture控件

 2005年7月VideoCapture控件{------------------------------------------------------------------------------  Unit Name : VideoCapture  Author    : Liren Zhao  Email     : [email protected]  Msn   

2010-05-14 09:25:00 1610

原创 CXGrid的使用技巧

cxGrid技巧汇总2009-04-01 12:48========================================================================== 在主从TableView中根据主TableView得到对应的从TableView var ADetailDC: TcxGridDataController; AView:

2010-05-13 09:30:00 525

原创 Delphi自动检测U盘插入、拔出及获取U盘盘符!

//检测U盘插入、拔出 测试通过1、新建工程;2、定义一个私有过程procedure WMDeviceChange(var Msg: TMessage); message WM_DEVICECHANGE;完整代码如下:unit Unit1;interfaceuses   Windows, Messages, SysUtils, Variants, Classes, Graphi

2010-04-04 11:58:00 973

原创 分享一下ExpressQuantumGrid4的cxGrid的一些使用方法和经验

 分享一下ExpressQuantumGrid4的cxGrid的一些使用方法和经验   使用cxGrid有一些时间了,在这里总结一下使用cxGrid的一些方法,希望给刚开始接触cxGrid的人一些帮助。   1.简单介绍:cxGrid右下方的cxGrid1Level1是表示Grid表的层,cxGrid可以有多层,这相当于集合了PageControl的功能,而cxGrid1Lev

2010-02-09 17:09:00 489

原创 网上找来的 感觉对入门者很有启示 收藏一下了!

网上找来的 感觉对入门者很有启示 收藏一下了!No.1 判断逻辑类型 }var B: Boolean;beginB := Boolean(2); //这样只是为了调试//B := True;if B = True then ShowMessage(B = True); //不建议//不安全///////if B then ShowMessage(B); //建议//简短end;va

2010-01-30 10:07:00 360

原创 ado提速

 终于将ADO达到DBX一样的速度,ADODataSet需要这样设置: CursorType=ctOpenForwardOnlyLockType=ltReadOnlyCrusorLoation=clUseServer 光设置CursorType和LockType是没什么用的,必须要设置CursorLoa

2010-01-30 10:02:00 494

原创 cxgrid 让搜索框随表格位置变化

让搜索框随表格位置变化在做一个数据录入的时候,经常用到,有些数据需要从代码表中进行录入,但一般的表格控件又不支持根据助记码进行搜索,保存编码,所以一般会设计成,选中某列以后,根据需要自动弹出代码列表供用户选择,下面的例子就是序代码表弹出的位置,可以处由变换的例子,当然可以根据自己需要修改什么时候可见,什么时候不可见:procedure TForm1.vwFocusedItemC

2010-01-17 23:36:00 856

原创 Delphi更改IE首页代码

Delphi更改IE首页代码2008-01-29 00:38uses registry;var   reg:Tregistry;////////////////////////////////////////////////////procedure changeIE;var   ret2:HKEY;begin   reg:=Tregistry.Create;   re

2009-08-16 20:06:00 684

原创 图解SQL多表关联查询

内连接左连接右连接 全外连接

2009-07-24 13:02:00 636

原创 sql update 多表更新

1.首先创建两个表 sql语句如下:users:(用户表)CREATE TABLE users(id bigint,departid bigint,name text) depart:(部门表)CREATE TABLE depart(id bigint,departname text) users表中的departid与depart中的id相关联。2.插入数据users

2009-07-24 12:57:00 1009

原创 Sql Server 事务嵌套

COMMIT TRANSACTION (Transact-SQL) 标志一个成功的隐性事务或显式事务的结束。如果 @@TRANCOUNT 为 1,COMMIT TRANSACTION 使得自从事务开始以来所执行的所有数据修改成为数据库的永久部分,释放事务所占用的资源,并将 @@TRANCOUNT 减少到 0。如果 @@TRANCOUNT 大于 1,则 COMMIT TRANSA

2009-07-24 12:54:00 782

TP-LINK路由宽带密码查看软件

TP-LINK路由宽带密码查看软件,查看路由器的登录密码,宽带账号、密码

2013-06-13

Delphi的条型码,二维码的控件

delphi下的条型码,二维码编解码控件,支持将其整合进FastReport中,稍做修改可以支持所有FastReport中打印,而且在开发时使用所见即所得的方式,使用方便!

2012-05-29

Delphi获取网卡列表并控制网卡是否启用

内容索引:Delphi源码,系统相关,网卡   Delphi获取网卡列表并控制网卡是否启用,该版本已经集成了ModuleLoader.pas文件。本程序可以获取到用户电脑上安装的所有网卡设备,并可以控制对应网卡停用或启用,还可以控制其它硬件。

2011-12-22

devexpress 汉化包

使用Localizer对象本地化DevExpress控件汉化

2011-05-03

Delphi 脚本开发框架

delphi 脚本 界面自定义 框架 界面自定义调整

2011-04-21

Delphi多层sql服务端实例

Delphi多层sql服务端实例 多线程 多实例 多层 初学者很有用处

2011-04-20

delphi 线程连接池

delphi 多线程 连接池 线程 uThreadPool

2011-04-20

一个显示本机进程服务TCPIP连接的小工具源码

Delphi源码 一个显示本机进程服务TCPIP连接的小工具源码

2011-04-09

代码版本控制 CVS

CVS是一个C/S系统,多个开发人员通过一个中心版本控制系统来记录文件版本,从而达到保证文件同步的目的。CVS环境初始化 环境设置:指定CVS库的路径CVSROOT tcsh setenv CVSROOT /path/to/cvsroot bash CVSROOT=/path/to/cvsroot ; export CVSROOT 后面还提到远程CVS服务器的设置: CVSROOT=:ext:[email protected]#port:/path/to/cvsroot CVS_RSH=ssh; export CVSROOT CVS_RSH 初始化:CVS版本库的初始化。 cvs init 一个项目的首次导入 cvs import -m "write some comments here" project_name vendor_tag release_tag 执行后:会将所有源文件及目录导入到/path/to/cvsroot/project_name目录下 vender_tag: 开发商标记 release_tag: 版本发布标记 项目导出:将代码从CVS库里导出 cvs checkout project_name cvs 将创建project_name目录,并将最新版本的源代码导出到相应目录中。这个checkout和Virvual SourceSafe中的check out不是一个概念,相对于Virvual SourceSafe的check out是cvs update, check in是cvs commit。

2011-02-24

sql 备份还原恢复 delphi

sql 备份还原恢复 delphi 数据库 简便管理

2010-12-03

最近 强大 三层源码 Delphi 三层

最近 强大 三层源码 Delphi 三层 多线程 三层

2010-12-03

delphi U盘管理 拷贝 复制

delphi U盘管理 拷贝 复制

2010-12-03

软件项目技术报告 软件项目报告

软件项目技术报告 项目技术报告 软件项目报告

2010-12-03

BusinessSkinForm皮肤控件

1、双击BSFD7.dpk文件,住delphi 软件 7.0中打开 2、单击compile按钮(Button),你会发现原来非可用地install按钮(Button)可以使用呢 3、单击install按钮(Button),会弹出来1个对话框提示你“安装成功!”

2010-11-17

asp留言板asp留言板源码

asp留言板asp留言板asp留言板asp留言板asp留言板asp留言板asp留言板asp留言板asp留言板

2009-05-09

用DELPHI建立多线程COM服务器 详解

用DELPHI建立多线程COM服务器 实例 详解

2009-04-12

delphi ADO三层连接示例 详解

ADO三层连接示例 详解 Delphi ADO三层连接示例

2009-04-12

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除