2009年8月18日
摘要:
SELECT sysobjects.name AS [table], sysproperties.[value] AS 表说明, syscolumns.name AS field, properties.[value] AS 字段说明, systypes.name AS type, syscolumns.length, ISNULL(COLUMNPROPERTY(syscolumns.id, syscolumns.name, 'Scale'), 0) AS 小数位数, syscolumns.isnullable AS isnull, CASE WHEN syscomments.text IS
阅读全文
posted @ 2009-08-18 14:10
洞幺人生
阅读(215)
推荐(0)
2009年7月24日
摘要:
接口的相关陈述一个接口定义了一个契约。接口可以包容方法、C# 属性、事件、以及索引器。在一个接口声明中,我们可以声明零个或者多个成员。所有接口成员的默认访问类型都是 public。如果在接口成员声明中包括了任何修饰符,那么会产生一个编译器错误。与一个非抽象类类似,一个抽象类必须提供接口中所有成员的实现,只要这些成员在这个类的基类中出现过。接口的理解面向接口编程利用 OO 的一个基本性质—...
阅读全文
posted @ 2009-07-24 18:52
洞幺人生
阅读(249)
推荐(0)
摘要:
DateSet是通过适配器DataAdapter把数据从数据库中拿出来,放在内存中的一张表,通过操作他来操作数据库,可以实现所有操作。而DataReader是只读的,不可逆的,如果只是要显示数据,那就用他,节省系统资源 Dataset表示一个数据集,是数据在内存中的缓存。 可以包括多个表DatSet 连接数据库时是非面向连接的。把表全部读到Sql中的缓冲池,并断开与数据库的连接Datareader...
阅读全文
posted @ 2009-07-24 17:49
洞幺人生
阅读(355)
推荐(0)
2009年7月12日
摘要:
CREATEPROCEDURE[dbo].[pro_CURSOR]ASBEGIN--声明一个游标DECLAREMyCURSORCURSORFORSELECTuserid,depidFROMusers--打开游标openMyCURSOR--声明两个变量declare@useridvarchar(50)declare@depidvarchar(50)--循环移动fetchnextfromMyCURSO...
阅读全文
posted @ 2009-07-12 18:18
洞幺人生
阅读(200)
推荐(0)
摘要:
Sql Server的存储过程是一个被命名的存储在服务器上的Transacation-Sql语句集合,是封装重复性工作的一种方法,它支持用户声明的变量、条件执行和其他强大的编程功能。 存储过程相对于其他的数据库访问方法有以下的优点: (1)重复使用。存储过程可以重复使用,从而可以减少数据库开发人员的工作量。(2)提高性能。存储过程在创建的时候就进行了编译,将来使用的时候不用再重新编译。一般的SQL语句每执行一次就需要编译一次,所以使用存储过程提高了效率。(3)减少网络流量。存储过程位于服务器上,调用的时候只需要传递存储过程的名称以及参数就可以了,因此降低了网络传输的数据量。(4)安全性。参数.
阅读全文
posted @ 2009-07-12 17:25
洞幺人生
阅读(284)
推荐(0)
摘要:
我们在数据库中使用表的时候,经常会遇到两种使用表的方法,分别就是使用临时表及表变量。在实际使用的时候,我们如何灵活的在存储过程中运用它们,虽然它们实现的功能基本上是一样的,可如何在一个存储过程中有时候去使用临时表而不使用表变量,有时候去使用表变量而不使用临时表呢? 临时表 临时表与永久表相似,只是它的创建是在Tempdb中,它只有在一个数据库连接结束后或者由SQL命令DROP掉,才会消失,否则就会一直存在。临时表在创建的时候都会产生SQL Server的系统日志,虽它们在Tempdb中体现,是分配在内存中的,它们也支持物理的磁盘,但用户在指定的磁盘里看不到文件。 临时表分为本地和全局两...
阅读全文
posted @ 2009-07-12 17:05
洞幺人生
阅读(365)
推荐(0)
2009年7月10日
摘要:
大家好,我是忆然,前段时间我在学习ItZik Ben-Gan、Lubor Kollar、Dejan Sarka所著的《Sql Server2005 技术内幕:T-SQL查询》一书,在此我把一些学习的心得跟大家分享在查询中逻辑查询和物理查询有着本质的区别,SQL不同于其它编程的最明显的特征就是处理代码的顺序,虽然总是最先写SELECT 但是几乎总在最后执行,那到底是怎么一个执行顺序呢作者给出了如下的sql查询语句执行顺序(8) select (9) distinct (11) top_specification select_list(1)from left_table(3) jo
阅读全文
posted @ 2009-07-10 16:40
洞幺人生
阅读(178)
推荐(0)
摘要:
1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:select id from t where num is null可以在num上设置默认值0,确保表中num列没有null值,然后这样查询:select id from t where num=03.应尽量避免在 where 子句中使用!=或操作符,否则将引擎放弃使用索引而进行全表扫描。4.应尽量避免在 where 子句中使用 or 来连接条件,否则将导致引擎放弃使用索引
阅读全文
posted @ 2009-07-10 16:21
洞幺人生
阅读(150)
推荐(0)
2009年7月1日
摘要:
为什么要创建索引呢?这是因为,创建索引可以大大提高系统的性能。第一, 通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。第二, 可以大大加快数据的检索速度,这也是创建索引的最主要的原因。第三, 可以加速表和表之间的连接,特别是在实现数据的参考完整性方面特别有意义。第四, 在使用分组和排序子句进行数据检索时,同样可以显著减少查询中分组和排序的时间。第五, 通过使用索引,可以在查询的过程中,使...
阅读全文
posted @ 2009-07-01 14:41
洞幺人生
阅读(2320)
推荐(0)
2009年6月29日
摘要:
c++经过这么多年的发展已经积累了大量的动态连接库,如果能够在.net环境里应用这些函数库,可以很大的提高整个应用的开发速度。 使用c++编程的人员肯定对指针不会感到陌生,由于c++中的函数接口好多都可能定义成位指针,而c#中只有在声明为unsafe code中才能够使用指针。如果想让c++的DLL支持在C#中调用,那么在C++接口的声明中需要使用下面的这种格式:extern "C" __decl...
阅读全文
posted @ 2009-06-29 22:41
洞幺人生
阅读(1758)
推荐(1)
摘要:
1 引言 数据库优化的目标无非是避免磁盘I/O瓶颈、减少CPU利用率和减少资源竞争。为了便于读者阅读和理解,笔者参阅了Sybase、Informix和Oracle等大型数据库系统参考资料,基于多年的工程实践经验,从基本表设计、扩展设计和数据库表对象放置等角度进行讨论,着重讨论了如何避免磁盘I/O瓶颈和减少资源竞争,相信读者会一目了然。 2 基于第三范式的基本表设计 在基于表驱动的信息管...
阅读全文
posted @ 2009-06-29 22:09
洞幺人生
阅读(218)
推荐(0)
摘要:
数据库系统是管理信息系统的核心,基于数据库的联机事务处理(OLTP)以及联机分析处理(OLAP)是银行、企业、政府等部门最为重要的计算机应用之一。从大多数系统的应用实例来看,查询操作在各种数据库操作中所占据的比重最大,而查询操作所基于的SELECT语句在SQL语句中又是代价最大的语句。举例来说,如果数据的量积累到一定的程度,比如一个银行的账户数据库表信息积累到上百万甚至上千万条记录,全表扫描一次往...
阅读全文
posted @ 2009-06-29 22:07
洞幺人生
阅读(227)
推荐(0)
2009年6月28日
摘要:
通过C#来温习一下面向对象的多态性:首先理解一下什么叫多态。同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果,这就是多态性。多态性通过派生类覆写基类中的虚函数型方法来实现。多态是其一种性质,并不是一种实现方法。多态性分为两种,一种是编译时的多态性,一种是运行时的多态性。编译时的多态性:编译时的多态性是通过重载来实现的。对于非虚的成员来说,系统在编译时,根据传递的参数、返回的类型等信息...
阅读全文
posted @ 2009-06-28 12:35
洞幺人生
阅读(259)
推荐(0)
2009年6月26日
摘要:
在学习程序语言和进行程序设计的时候,交换两个变量的值是经常要使用的。通常我们的做法是:定义一个新的变量,借助它完成交换。代码如下:int a,b,t;a=10; b=15;t=a; a=b; b=t;这种算法易于理解,特别适合帮助初学者了解计算机程序的特点,是赋值语句的经典应用。在实际软件开发当中,此算法简单明了,不会产生歧义,便于程序员之间的交流,一般情况下碰到交换变量值的问题,都应采用此算法(...
阅读全文
posted @ 2009-06-26 16:15
洞幺人生
阅读(375)
推荐(0)
2009年6月17日
摘要:
1、选择排序class SelectionSorter { private int min; public void Sort(int[] arr) { for (int i = 0; i < arr.Length - 1; ++i) { min = i; for (int j = i + 1; j < arr.Length; ++j) { if (arr[j] &l...
阅读全文
posted @ 2009-06-17 15:58
洞幺人生
阅读(222)
推荐(0)