电气工程师

导航

2012年1月13日 #

Delphi Var参数的用法

摘要: DelphiVar参数的用法(2011-04-15 16:51:27)转载▼标签:it分类: Delphi在Delphi中,常用的参数传递机制分为值传递和引用传递,前者传递的是数值参数(默认),后者传递的是变量参数(var)。要理解这句话的意义,可以考虑以下函数:function PlusByValue(x: integer): integer; //x是数值参数,值传递begin x:= x + 1; result := x;end;function PlusByRef(var x: integer): integer; //x是数值参数,值传递begin x:= x + 1; result 阅读全文

posted @ 2012-01-13 13:20 电气工程师 阅读(1812) 评论(0) 推荐(0) 编辑

2012年1月5日 #

Delphi下DLL编程知识

摘要: 分类: 4.2 Delphi编程 2011-04-28 11:10 338人阅读 评论(0) 收藏 举报一. DLL和系统变量 在 System 单元声明的变量中,有几个对DLL编程有特殊影响。IsLibrary 可以检测代码是执行在应用程序中还是执行在DLL中,在应用程序中 IsLibrary 总是为 False ,在 DLL中总是为 True 。在 DLL的整个生命周期中,HInstance 包含了库的实例句柄。在DLL中,系统变量 CmdLine 总是为 nil 。 DLLProc 变量允许DLL监视操作系统对 DLL的入口点的调用。这一特性通常只用于那些支持多线程的DLL。关于入口点. 阅读全文

posted @ 2012-01-05 08:56 电气工程师 阅读(367) 评论(0) 推荐(0) 编辑

2011年12月30日 #

Delphi环境中编写调用DLL的方法和技巧

摘要: Delphi环境中编写调用DLL的方法和技巧第一章 为什么要使用动态链接库(DLL) top 提起DLL您一定不会陌生,在Windows中有着大量的以DLL为后缀的文件,它们是保证Windows正常运行和维护升级的重要保证。(举个例子,笔者的Win95 System目录下尽有500多个DLL文件。)其实,DLL是一种特殊的可执行文件。说它特殊主要是因为一般它都不能直接运行,需要宿主程序比如*.EXE程序或其他DLL的动态调用才能够使用。简单的说,在通常情况下DLL是经过编译的函数和过程的集合。 使用DLL技术主要有以下几个原因:一、减小可执行文件大小。 DLL技术的产生有很大一部分原因是为了减 阅读全文

posted @ 2011-12-30 14:43 电气工程师 阅读(468) 评论(0) 推荐(0) 编辑

2011年12月8日 #

ACCESS技巧集

摘要: 作者:ysai 转载请保持文章完整并标明出处 1.DELPHI中操作ACCESS数据库(建立.mdb文件,压缩数据库) 以下代码在WIN2K,D6,MDAC2.6下测试通过, 编译好的程序在WIN98第二版无ACCESS环境下运行成功. //声明连接字符串 Const SConnectionString = 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=%s;' +'Jet OLEDB:Database Password=%s;'; //======================================== 阅读全文

posted @ 2011-12-08 11:02 电气工程师 阅读(243) 评论(0) 推荐(0) 编辑

用ADO从文本文件中导入数据库的两种方法比较

摘要: 我用的这两种方法,不管是哪一种,大体原理上都是打开文本,然后一行行读出,再根据分隔符拆分字段,然后再用ADO来一条条记录插入数据库中,但采用的ADO的方式不同,第一种用普通的ADOQUERY来操作,第二种则采用ADO的原生对象来操作,但在速度上是明显后一种占优的,且是很大的优势,原因我说不来,但认为是个不错的方法,虽然导入文本还有别的很好的方法,例如采用SQLSERVER的DTS等。但这些我还没做过尝试,就暂不说了。 1、 if dlgOpendatain.Execute then begin datapath := dlgOpendatain.FileName; //取得文件路径 Fi... 阅读全文

posted @ 2011-12-08 11:02 电气工程师 阅读(264) 评论(0) 推荐(0) 编辑

如何通过互联网联接到某个连上互联网的局域网中的一台计算机上的MSSQL上

摘要: 一、 如何通过互联网联接到某个连上互联网的局域网中的一台计算机上的MSSQL上*************** 能连接到SQL的几个要素. **************************1.先保证ping通(有防火墙的先关闭防火墙) 2.在命令提示符下执行:telnet <服务器ip地址> 1433 不会报错 3.查询分析器中进行连接,时使用用ip连接: 文件--连接--SQL Server输入对方IP--连接使用,根据对方的SQL配置确定--确定 确定SQL采用什么身份验证方式: 企业管理器--右键SQL实例--属性--安全性--身份验证4.如果不行 SQL Server服务 阅读全文

posted @ 2011-12-08 11:00 电气工程师 阅读(442) 评论(0) 推荐(0) 编辑

SQL Server的链接服务器技术小结

摘要: 一、使用 Microsoft OLE DB Provider For ODBC 链接MySQL安装MySQL的ODBC驱动MyODBC 1、为MySQL建立一个ODBC系统数据源,例如:选择数据库为test ,数据源名称为 myDSN 2、建立链接数据库 EXEC sp_addlinkedserver @server = 'MySQLTest', @srvproduct='MySQL', @provider = 'MSDASQL', @datasrc = 'myDSN' EXEC sp_addlinkedsrvlogin @rmt 阅读全文

posted @ 2011-12-08 11:00 电气工程师 阅读(222) 评论(0) 推荐(0) 编辑

不同服务器数据库之间的数据操作

摘要: --创建链接服务器 exec sp_addlinkedserver 'ITSV ', '', 'SQLOLEDB ', '远程服务器名或ip地址 'exec sp_addlinkedsrvlogin 'ITSV ', 'false ',null, '用户名 ', '密码 '--查询示例 select*from ITSV.数据库名.dbo.表名 --导入示例 select*into 表 from ITSV.数据库名.dbo.表名 --以后不再使用时删除链接服务器 exe 阅读全文

posted @ 2011-12-08 10:59 电气工程师 阅读(148) 评论(0) 推荐(0) 编辑

用临时表改善嵌套SQL语句的执行速度

摘要: 这两天检查一条嵌套SQL语句,发觉非常耗时。形如:SELECTKeyId,COUNT(1)ASNumFROMTable1WHERE1=1ANDCreateDate>='2007-09-21'ANDKeyIdIN(SELECTKeyIdFROMTable2WHEREId=1611)GROUPBYKeyId究其原因,大约该SQL语句执行的步骤是从Table1中每拿出一条记录,都要执行IN(SELECT KeyId FROM Table2 WHERE Id=1611) 一番靠,数据库也太弱智了吧。学编译方法时就知道,编译器会自动优化代码,将一些计算从循环中提取出来,数据库怎么就 阅读全文

posted @ 2011-12-08 10:57 电气工程师 阅读(206) 评论(0) 推荐(0) 编辑

SQL Server和Oracle常用函数对比

摘要: --语句有所不同,下为函数的区别SQLServer和Oracle的常用函数对比1.绝对值S:selectabs(-1)valueO:selectabs(-1)valuefromdual2.取整(大)S:selectceiling(-1.001)valueO:selectceil(-1.001)valuefromdual3.取整(小)S:selectfloor(-1.001)valueO:selectfloor(-1.001)valuefromdual4.取整(截取)S:selectcast(-1.002asint)valueO:selecttrunc(-1.002)valuefromdual5 阅读全文

posted @ 2011-12-08 10:56 电气工程师 阅读(208) 评论(0) 推荐(0) 编辑