摘要: 一般把存储器中的一个字节称为一个内存单元, 不同的数据类型所占用的内存单元数不等,如整型量占2个单元,字符量占1个单元等为了正确地访问这些内存单元, 必须为每个内存单元编上号。 根据一个内存单元的编号即可准确地找到该内存单元。内存单元的编号也叫做地址。既然根据内存单元的编号或地址就可以找到所需的内存单元,所以通常也把这个地址称为指针。内存单元的指针和内存单元的内容是两个不同的概念。 可以用一个通俗的例子来说明它们之间的关系。我们到银行去存取款时, 银行工作人员将根据我们的帐号去找我们的存款单, 找到之后在存单上写入存款、取款的金额。在这里,帐号就是存单的指针, 存款数是存单的内容。对于一个内存 阅读全文
posted @ 2008-08-02 17:39 delphi中间件 阅读(207) 评论(0) 推荐(0)
摘要: --****************--计算id--使用//表级排它锁//防止用户同时修改该记录--****************CREATE PROCEDURE GetId@xh integer,@id integer outAS /*如果想在连接一中锁住整个表,不允许其他事务更新表中任何记录,但可以读取记录,可使用HOLDLOCK选项,即(HOLDLOCK 等同于 SERIALIZABLE) sql server 对并发的处理由它本身的锁控制,貌似并发,其实有等待排队的现象,只不过时间间隔短,所以并发数很多的时候,还是得进行人工锁设计在数据集上放置一个范围锁,以防止其他用户在事务完成.. 阅读全文
posted @ 2008-08-02 15:02 delphi中间件 阅读(463) 评论(0) 推荐(0)
摘要: 在SQLServer上得到客户端信息(操作的数据库名,计算机名,用户名,网卡物理地址,IP地址,程序名)create proc p_getlinkinfo@dbname sysname=null,--要查询的数据库名,默认查询所有数据库的连接信息@includeip bit=0--是否显示IP地址,因为查询IP地址比较费时,所以增加此控制asdeclare @dbid intset @dbid=db_id(@dbname)create table #tb(id int identity(1,1),dbname sysname,hostname nchar(128),loginname ncha 阅读全文
posted @ 2008-08-02 14:55 delphi中间件 阅读(495) 评论(0) 推荐(0)
摘要: ADOQuery 执行存储过程并取的输出参数写这个只是为了将来自查用的,呵呵,当然,不会的人也可以看看第一步建立proccreate proc MyABC @a int ,@b int, @c int output as set @c=@a*@b在SQL中执行:declare @a int,@b int,@c int set @a=250set @b=40exec MyABC @a,@b,@c output --注意要添加output 关键字!select @c在D中: ADOQuery1.Close; ADOQuery1.SQL.Clear; ADOQuery1.SQL.Add(‘execu 阅读全文
posted @ 2008-08-02 14:54 delphi中间件 阅读(2964) 评论(0) 推荐(0)
摘要: 即时同步两个表的实例:--测试环境:SQL2000,远程主机名:xz,用户名:sa,密码:无,数据库名:test--创建测试表,不能用标识列做主键,因为不能进行正常更新--在本机上创建测试表,远程主机上也要做同样的建表操作,只是不写触发器if exists (select * from dbo.sysobjects where id = object_id(N'[test]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)drop table [test]create table test(id int not null 阅读全文
posted @ 2008-08-02 14:52 delphi中间件 阅读(321) 评论(0) 推荐(0)
摘要: 取SQLSERVER服务器上的时间 procedure TForm1.btn1Click(Sender: TObject);begin try qry1.SQL.Text:='select GETDATE()'; qry1.Open; edt1.Text:=qry1.Fields[0].AsString; finally qry1.Close; end; end; 阅读全文
posted @ 2008-08-02 14:51 delphi中间件 阅读(308) 评论(0) 推荐(0)
摘要: 使用osql执行sql脚本 @echo offecho ╬ ╱◥███◣╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬ echo ╬ ︱田︱田 田 ︱ ╬echo ╬ 绿色佳软 ╬echo ╬ Copyright (c) 咏南工作室 ╬echo ╬ Author: 陈新光 ╬echo ╬ ToDo: 安装数据库 ╬echo ╬ Date: 2006.11.10 ╬... 阅读全文
posted @ 2008-08-02 14:50 delphi中间件 阅读(344) 评论(0) 推荐(0)
摘要: 使用 UNION 运算符组合多个结果UNION 运算符使您得以将两个或多个 SELECT 语句的结果组合成一个结果集。使用 UNION 组合的结果集都必须具有相同的结构。而且它们的列数必须相同,并且相应的结果集列的数据类型必须兼容。有关更多信息,请参见 UNION 运算符使用指南。UNION 的指定方式如下:select_statement UNION [ALL] select_statement例如,Table1 和 Table2 具有相同的两列结构。Table1 Table2 ColumnA ColumnB ColumnC ColumnD char(4) int char(4) ... 阅读全文
posted @ 2008-08-02 14:47 delphi中间件 阅读(366) 评论(0) 推荐(0)
摘要: 分组统计在介绍GROUP BY 和 HAVING 子句前,我们必需先讲讲sql语言中一种特殊的函数:聚合函数,例如SUM, COUNT, MAX, AVG等。这些函数和其它函数的根本区别就是它们一般作用在多条记录上。 SELECT SUM(population) FROM bbc 这里的SUM作用在所有返回记录的population字段上,结果就是该查询只返回一个结果,即所有国家的总人口数。 通过使用GROUP BY 子句,可以让SUM 和 COUNT 这些函数对属于一组的数据起作用。当你指定 GROUP BY region 时, 属于同一个region(地区)的一组数据将只能返回一行值,也就 阅读全文
posted @ 2008-08-02 14:42 delphi中间件 阅读(337) 评论(0) 推荐(0)
摘要: 深入浅出SQL之左连接、右连接和全连接 我们介绍了表连接,更确切的说是inner joins內连接。內连接仅选出两张表中互相匹配的记录.因此,这会导致有时我们需要的记录没有包含进来。 为更好的理解这个概念,我们介绍两个表作演示。苏格兰议会中的政党表(party)和议员表(msp)。 party(Code,Name,Leader)Code: 政党代码Name: 政党名称Leader: 政党领袖msp(Name,Party,Constituency)Name: 议员名Party: 议员所在政党代码Constituency: 选区在介绍左连接、右连接和全连接前,有一个数据库中重要的概念要介绍一下,即 阅读全文
posted @ 2008-08-02 14:41 delphi中间件 阅读(248) 评论(0) 推荐(0)
摘要: 深入浅出SQL教程之嵌套SELECT语句 嵌套SELECT语句也叫子查询,形如: SELECT name FROM bbc WHERE region = (SELECT region FROM bbc WHERE name = 'Brazil')一个 SELECT 语句的查询结果可以作为另一个语句的输入值。上面的SQL语句作用为获得和'Brazil'(巴西)同属一个地区的所有国家。子查询不但可以出现在Where子句中,也可以出现在from子句中,作为一个临时表使用,也可以出现在select list中,作为一个字段值来返回。本节我们仅介绍的Where子句中的子查 阅读全文
posted @ 2008-08-02 14:40 delphi中间件 阅读(381) 评论(0) 推荐(0)
摘要: 如何在SQL Server中快速删除重复记录 开发人员的噩梦——删除重复记录 想必每一位开发人员都有过类似的经历,在对数据库进行查询或统计的时候不时地会碰到由于表中存在重复的记录而导致查询和统计结果不准确。解决该问题的办法就是将这些重复的记录删除,只保留其中的一条。 在SQL Server中除了对拥有十几条记录的表进行人工删除外,实现删除重复记录一般都是写一段代码,用游标的方法一行一行检查,删除重复的记录。因为这种方法需要对整个表进行遍历,所以对于表中的记录数不是很大的时候还是可行的,如果一张表的数据达到上百万条,用游标的方法来删除简直是个噩梦,因为它会执行相当长的一段时间。 四板斧——轻松消 阅读全文
posted @ 2008-08-02 14:39 delphi中间件 阅读(419) 评论(0) 推荐(0)
摘要: SQL Server数据导入导出工具BCP详解 bcp是SQL Server中负责导入导出数据的一个命令行工具,它是基于DB-Library的,并且能以并行的方式高效地导入导出大批量的数据。bcp可以将数据库的表或视图直接导出,也能通过SELECT FROM语句对表或视图进行过滤后导出。在导入导出数据时,可以使用默认值或是使用一个格式文件将文件中的数据导入到数据库或将数据库中的数据导出到文件中。下面将详细讨论如何利用bcp导入导出数据。 1. bcp的主要参数介绍 bcp共有四个动作可以选择。 (1) 导入。 这个动作使用in命令完成,后面跟需要导入的文件名。 (2) 导出。 这个动作使用ou 阅读全文
posted @ 2008-08-02 14:37 delphi中间件 阅读(376) 评论(0) 推荐(0)
摘要: SQL Server中六种数据移动的方法 1.通过工具DTS的设计器进行导入或导出 DTS的设计器功能强大,支持多任务,也是可视化界面,容易操作,但知道的人一般不多,如果只是进行SQL Server数据库中部分表的移动,用这种方法最好,当然,也可以进行全部表的移动。在SQL Server Enterprise Manager中,展开服务器左边的+,选择数据库,右击,选择All tasks/Import Data...(或All tasks/Export Data...),进入向导模式,按提示一步一步走就行了,里面分得很细,可以灵活的在不同数据源之间复制数据,很方便的。而且可以另存成DTS包,如 阅读全文
posted @ 2008-08-02 14:36 delphi中间件 阅读(239) 评论(0) 推荐(0)
摘要: SQL Server数据导入导出技术概述与比较 当我们建立一个数据库时,并且想将分散在各处的不同类型的数据库分类汇总在这个新建的数据库中时,尤其是在进行数据检验、净化和转换时,将会面临很大的挑战。幸好SQL Server为我们提供了强大、丰富的数据导入导出功能,并且在导入导出的同时可以对数据进行灵活的处理。 在SQL Server中主要有三种方式导入导出数据:使用Transact-SQL对数据进行处理;调用命令行工具bcp处理数据;使用数据转换服务(DTS)对数据进行处理。这三种方法各有其特点,下面就它们的主要特点进行比较。 一、使用方式的比较 1. 使用Transact-SQL进行数据导入导 阅读全文
posted @ 2008-08-02 14:35 delphi中间件 阅读(307) 评论(0) 推荐(0)
摘要: 安装SQL server提示安装不上,挂起之类TYPE:本站原创文章 TIME:2006-6-7 AUTHOR:赵阳 URL:N/A HIT:563 DAYHIT:1 WEEKHIT:562 关于安装SQL数据库出错问题 安装数据库时,提示某个程序以前安装过,处于文件挂起状态,要安装需重新启动计算机.可是重新启动后还是老样子,解决如下: 打开注册表编辑器,在HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/Session Manager中找到PendingFileRenameOperations项目,并删除它。这样就可以清除安装暂挂项目.. 阅读全文
posted @ 2008-08-02 14:33 delphi中间件 阅读(188) 评论(0) 推荐(0)
摘要: --Author: CXG--Todo: 远程数据传输(数据库链接)--------------------------------------------------------------------------------------------------- --add remote server link --star msdtc first execute sp_addlinkedserver @server = '192.168.0.45' execute sp_addlinkedsrvlogin @rmtsrvname = '192.168.... 阅读全文
posted @ 2008-08-02 14:32 delphi中间件 阅读(189) 评论(0) 推荐(0)
摘要: {.首先要安装ActivX控件:component->import activex control->microsoft sql merge control 8.0(version 1.0)-> install.sql server、oracle 等大型DBMS都提供复制功能。且复制可以在异种DB间进行。可以说非常具有通用性。.本例:服务器端安装SQL SERVER2000,收银机安装ACCESS2000,合并复制方式。.采用在客户端编程的方式,把一些设置放在指定的INI文件中,灵活而方便。}unit Unit1;interfaceuses Windows, Messages 阅读全文
posted @ 2008-08-02 14:31 delphi中间件 阅读(301) 评论(0) 推荐(0)
摘要: //动态创建四级菜单var MainMenu:TMainMenu; SubMenu,SubMenu2,submenu3,submenu4:TMenuItem; MainMenu:=TMainMenu.Create(self); MainMenu.AutoHotkeys:=maManual; SubMenu:=TMenuItem.Create(self); SubMenu.Caption:='一级菜单'; MainMenu.Items.Add(SubMenu); SubMenu2:=TMenuItem.Create(self); SubMenu2.Caption:='二级 阅读全文
posted @ 2008-08-02 14:24 delphi中间件 阅读(1599) 评论(0) 推荐(0)
摘要: C语言的最大特点是:功能强、使用方便灵活。C编译的程序对语法检查并不象其它高级语言那么严格,这就给编程人员留下“灵活的余地”,但还是由于这个灵活给程序的调试带来了许多不便,尤其对初学C语言的人来说,经常会出一些连自己都不知道错在哪里的错误。看着有错的程序,不知该如何改起,本人通过对C的学习,积累了一些C编程时常犯的错误,写给各位学员以供参考。 1.书写标识符时,忽略了大小写字母的区别。 main() { int a=5; printf("%d",A); } 编译程序把a和A认为是两个不同的变量名,而显示出错信息。C认为大写字母和小写字母是两个不同的字符。习惯上,符号常量名用 阅读全文
posted @ 2008-08-02 10:40 delphi中间件 阅读(232) 评论(0) 推荐(0)