- 博客(19)
- 资源 (1)
- 收藏
- 关注
原创 MSSQL 如何删除字段的所有约束和索引
代码如下:------------------------------------------------------------ mp_DropColConstraint-- 功能:删除某个表的某列的所有约束-- 入口:-- @TableName NVARCHAR(128) -- 表名-- @ColumnName NVARCHAR(128) -- 列名------------
2012-07-15 21:45:53 2060
原创 RAISERROR 抛出的错误未进入 CATCH 块
今天写了一个储存过程,希望当出错时通过 RAISERROR 抛出错误进入 CATCH 块,代码如下:create procedure dbo.mp_CancelKHExport @ExpUID CHAR(16), @UserName VARCHAR(30), @Result BIT OUTPUT, @ErrMsg NVARCHAR(250) OUTPUTasbegin d
2012-07-15 21:35:12 1457
原创 delphi 编译是报compiled with a different version的原因
今天同事遇到一个问题,使用 delphi7 编译一个旧的工程是报告如下错误:Unit StdActns was compiled with a different version of SysUtils.TStringSearchOptions开始一直找不到原因,因为 delphi 刚重装了,以为是 delphi 的问题,后来发现旧工程中多出了 SysUtils.dcu 文件,才知
2010-01-28 16:06:00 7128 1
原创 DBISAM 索引大小写敏感对查询的影响
DBISAM数据库,一个表中有一个固定长度(CHAR(16))的UID字段,在这个字段上建立了索引,索引的Case-Ins设置为YES,也就是大小写不敏感,测试发现以UID作为条件进行查询时速度非常慢,库中有9000多条记录,更新一条记录竟然耗时2秒,后经过测试,发现只要将Case-Ins改为NO即可解决。 UID字段本身是大写的。
2009-10-30 09:35:00 1112 1
原创 访问远程 DBISAM 数据库的方法
访问远程 DBISAM 数据库的方法刘国辉 2009-8-17一、 摘要DBISAM 是简单易用的桌面型数据库,适用于开发小型的桌面程序,大部分情况下数据库是位于本机的,但是,在某些情况下也需要访问位于其他机器的数据库,本文就是介绍访问位于其他机器上的数据库的方法。 二、 方法1:通过文件共享方式DBISAM 不是单文件数据库,没有独立的
2009-08-17 17:31:00 3397 1
原创 Delphi7 内存管理及 FastMM 研究
Delphi7 内存管理及 FastMM 研究作者:刘国辉一、 引言 FastMM 是适用于delphi的第三方内存管理器,在国外已经是大名鼎鼎,在国内也有许多人在使用或者希望使用,就连 Borland 也在delphi2007抛弃了自己原有的饱受指责的内存管理器,改用FastMM. 但是,内存管理的复杂性以及缺乏 FastMM 中文文档导
2008-11-28 17:18:00 3720 1
原创 delphi 中如何设置 Button 的 Caption 文字的对齐方式
delphi 的 TButton 控件的 Caption 文字默认是居中对齐,并且没有提供设置对齐方式的属性和方法,那么如何让Caption 文字左对齐或者右对齐呢?通过调用 API 函数可以实现:var Style: Integer;begin Style := GetWindowLong(btn1.Handle, GWL_STYLE); Style := Sty
2007-06-21 10:12:00 6231
转载 解开 Windows 下的临界区中的代码死锁[zt]
本文假定您熟悉 Win32、C++ 和多线程处理。下载本文的代码:CriticalSections.exe (415KB) 摘要临界区是一种防止多个线程同时执行一个特定代码节的机制,这一主题并没有引起太多关注,因而人们未能对其深刻理解。在需要跟踪代码中的多线程处理的性能时,对 Windows 中临界区的深刻理解非常有用。 本文深入研究临界区的原理,以揭示在查找死锁和确认性能问题过程中的
2007-06-07 14:24:00 1199
转载 [转贴]如何把设计时代码从运行时代码中分离出去
你应该养成一个把组件分开成两个包的习惯,即使是你只在程序中静态地进行链接,因为混合运行时和设计时代码将使你的代码膨胀。你的设计时代码在运行时不会被执行,但是链接器不会知道,所以把它也一起链接进去了。(这就是为什么DsgnIntf要设法链接进去的原因。) 让我们看一个简单的例子,了解如何把设计时代码从运行时代码中分离出去:{ TMixedComponent }TMixedComponent = c
2007-03-19 11:13:00 1062
原创 系统时间错误导致编译 RxLib 时报U783错误
今天接手同事移交的工作,首先要求能够将其代码编译通过,故而在测试机上搭建编译环境。安装 RxLib 库,编译 DCLRXDB7.DPK 包时,总是报“RXDB7.DPK: Internal error(U783)”错误,开始百思不得其解,之前在别的机器上安装都没有问题,怎么在这台机器上就报这个莫名奇妙的错误? 卸载后重新安装,仍然不行; 将delphi7重新安装还是不行。
2007-03-13 16:26:00 2661 1
原创 Delphi 中如何调试 DLL
网上看到很多人问delphi中如何调试 DLL 的,众大侠回答也基本一致,但是,我使用时却时灵时不灵,今天发现了原因。完整的调试 DLL方法如下:1)新建一个 DLL 工程,名字就叫 MyDll 吧,编译后生成 MyDll.dll,我们要调试的就是它了。2)新建一个用来调试 MyDll 的 Application 工程,名字就叫 MyDllTest 吧,编译后生成的可执行性文件为 My
2006-11-29 17:50:00 13622 5
原创 IXMLDocument 的Node属性和DocumentElement属性区别
今天写一个Xml配置的读写类,遇到了几个问题,记录如下。1)读一个并不存在的节点竟然不出问题?用了一个很简单的 xml 文件,如下 test.xml -->xml version="1.0" encoding="GB2312"?>value> v> abc def ghi v>value>读写代码如下:// 竟然没有delphi的代码模版?kaoprocedu
2006-11-07 15:36:00 2906
原创 FreeLibrary 出错原因及解决办法
写了一个 DLL ,封装了一个类,该类有一个函数名为 WriteRecord(P: Pointer),其中参数 P 是一个记录指针,子类在 override 该函数时学根据将 P 指针转为子类所支持的记录类型,如:var pt: PBookInfo;begin pt := PBookInfo(P); ...end;该 DLL 有一个导出函数: fun
2006-10-30 12:13:00 12771
原创 修改注册表彻底关闭系统默认共享【转】
自从Windows 2000操作系统开始,微软就添加了一个新的网络功能,叫做Windows默认共享。有朋友会问了,为什么叫“默认共享”呢?原来,这些文件夹与我们自己手工建立的共享文件夹之间有着一个本质的区别,在它们的共享名称最后都会有一个“$”符号,作用就是能够在网上邻居中隐藏自己。 这样,除非我们预先知道这些默认共享的共享名,否则,按照常规方法是根本无法直接进入到
2006-01-13 09:04:00 6180 1
原创 使用ADO追加数据时需调用Refresh
使用TADOTable追加记录时,要在最后调用Refresh,否则,最后一条记录不会追加到数据库中,如: for I := 1 to 100 do begin adoTbl1.Append; adoTbl1.Fields[0].Value := I; ...
2006-01-12 15:40:00 1527 1
原创 dbisam数据库主从表结构的使用方法
要使用DBISAM数据库主从表结构,需用到下列控件: 一个TDBISAMTable或者TDBISAMQuery控件,命名为tblMaster或者qryMaster, 一个(或多个)TDBISAMTable控件,名字为tblDetail, 一个TDataSource控件,命名为dsMaster 使用主从表结构,要有一个条件,就是从表一定要对关联字段建立索引,
2006-01-10 17:02:00 2276
原创 如何显示子线程的当前状态
如何显示子线程的当前状态 刚刚完成的一个小程序是分析使用竖向排列的24针打印头打印一个数据文件,分析每根针的出针次数等一些参数,给机械开发部门做寿命分析等等。 由于数据文件可能很大,分析时间会比较长,因此要能够显示分析进度,否则让比人以为程序死掉了。 因此,分析工作
2004-12-10 14:48:00 1362
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人