摘要: OpenQuery 是SQL Server用来与其他Server交互的一种技术,通过OpenQuery,SQL Server 可以直接访问其他数据库资源。而其他数据库在OpenQuery 表达式中是以Linked Server 存在的。 使用sp_linkedservers 可以找到当前数据库的所有linked server. OpenQuery的表达式可以这么写:Select * from OpenQuery([linkedServerName],'Select * from table1 where rownum < 10')而且值得注意的是,如果,你要在OpenQu 阅读全文
posted @ 2013-09-27 15:07 shixunle 阅读(928) 评论(0) 推荐(0) 编辑
摘要: TransactionScope是.Net Framework 2.0后,新增了一个名称空间。它的用途是为数据库访问提供了一个“轻量级”[区别于:SqlTransaction]的事物。使用之前必须添加对 System.Transactions.dll 的引用。 下列代码就是一个正在创建的事务,这个事务自身还封装了多个数据库查询。只要任意一个 SqlCommand 对象引发异常,程序流控制就会跳出 TransactionScope 的 using 语句块,随后,TransactionScope 将自行释放并回滚该事务。由于这段代码使用了 using 语句,所以 SqlConnection 对象和 阅读全文
posted @ 2013-09-27 09:53 shixunle 阅读(1100) 评论(0) 推荐(0) 编辑
摘要: 上篇文章(深入浅出三层架构)分析了简单三层架构的实现。包括Model,DAL(数据访问层),BLL(业务逻辑层)的实现。实际开发中,由于重复代码的操作,会花费大量时间,如果以代码生成器来自动生成三层架构代码,即节省精力,又可以节省大量的时间来做其他业务逻辑的代码,提高开发效率。常用的代码生成器有:动软,CodeSmith 等。简单代码生成器的基本功能描述:一键生成Model,DAL,BLL,包括对应数据库中表的Model的自动生成,包括生成属性、添加、修改、删除、查询。界面展示:生成器开发技术要点:查询系统视图:INFORMATION_SCHEMA.TABLES、INFORMATION_SCH 阅读全文
posted @ 2013-09-26 15:35 shixunle 阅读(345) 评论(0) 推荐(0) 编辑
摘要: 这几天看了不少三层架构的资料,整理整理——故写篇博文谈谈自己的看法。三层架构概念:三层架构(3-tier application) 通常意义上的三层架构就是将整个业务应用划分为:表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL)。区分层次的目的即为了“高内聚,低耦合” 的思想,复杂项目不能把SQL语句直接写到程序里,不模块话,难以维护。应该采取三层架构。1、表现层(UI):通俗讲就是展现给用户的界面,即用户在使用一个系统的时候他的所见所得。2、业务逻辑层(BLL):针对具体问题的操作,也可以说是对数据层的操作,对数据业务逻辑处理。3、数据访问层(DAL):该层所做事务直接操作数据库,针 阅读全文
posted @ 2013-09-26 15:31 shixunle 阅读(295) 评论(0) 推荐(0) 编辑
摘要: BULK INSERT Sales FROM 'c:SalesText.txt' WITH (FIELDTERMINATOR = ',', FIRE_TRIGGERS, BATCHSIZE = 2) BULK INSERT不仅仅可以应用于SQL Server 2005的本地映射驱动器。下面的语句将告诉我们如何从名为FileServer的服务器的D盘中将SalesText文件的数据导入。 BULK INSERT Sales FROM 'FileServerD$SalesText.txt' WITH (FIELDTERMINATOR = ', 阅读全文
posted @ 2013-09-23 15:35 shixunle 阅读(225) 评论(0) 推荐(1) 编辑
摘要: 在实际的工作需要中,我们有时候需将大量的数据导入到数据库中。这时候我们不得不考虑的就是效率问题。本文我们就介绍了一种将大量数据高效地导入SQL Server数据库的方法,该方法是使用BULK INSERT来实现的,接下来就让我们来一起了解一下这部分内容。源数据(文本文件)下载了大量的股票历史数据,都是文本格式的:每个文件第一行包含股票代码,股票名称,数据类型.第二行是数据列的名称:数据表在数据库中新建了一个数据表TestStock,并设置以下字段,但没有关于"成交额"的字段,因为以后的计算不会用到这个数据。另外这里关于价格的字段没有使用money数据类型,decimal足矣 阅读全文
posted @ 2013-09-23 15:31 shixunle 阅读(554) 评论(0) 推荐(1) 编辑
摘要: 在我们开发过程中,特别是管理系统的开发,经常会遇到多条件查询(或者叫不定条件查询)的案例,就是提供给User输入的查询条件有多个不同的查询栏位,而且,在实际使用中并不能确定User会使用哪些条件来当做搜索条件。 下图就是我们实际项目中一个查询页面的截图,User在实际操作中,有可能会只根据[扣帐编号]查询,那么,只要在[扣帐编号]栏位输入号码,其他栏位留空即可,那么查询语句就只卡[扣帐编号]这条条件也有可能直接根据日前范围查询,只要输入起始日期即可。当然,在实际开发的时候我们是不能预判User的行为的,因此,正常情况下我们都是用Sql拼接的方法来应对这个问题: 1: StringBul... 阅读全文
posted @ 2013-09-23 15:28 shixunle 阅读(316) 评论(0) 推荐(1) 编辑
摘要: 对SQL Server数据库的操作,最常见的有如下五种: 1.非连接式查询,获取DataTable。 2.连接式查询,获取DataReader。 3.查询结果只有1行1列,获取单一数据。 4.对数据库进行增、删、改操作,进行数据编辑。 5.判断与数据库是否已连接。(更新) 针对以上情况,分享的一个SQL Server数据库访问通用类。该通用类可用于ASP.NET和C/S系统中开发。1.非连接式查询,获取DataTable。利用SqlDataAdapter对象的Fill()返回DataTable的结果集。#region 执行一个查询,并返回结果集 /// /// 执... 阅读全文
posted @ 2013-09-21 11:01 shixunle 阅读(562) 评论(0) 推荐(0) 编辑
摘要: SQL中自增量字段Int型 identity(1,1)与Guid作为主键的性能比较1.概述: 在我们的数据库设计中,数据库的主键是必不可少的,主键的设计对整个数据库的设计影响很大.我就对自动增量字段与Guid字段的性能作一下对比,欢迎大家讨论.2.简介: 1.自增量字段 自增量字段每次都会按顺序递增,可以保证在一个表里的主键不重复。除非超出了自增字段类型的最大值并从头递增,但这几乎不可能。使用自增量字段来做主键是非常简单的,一般只需在建表时声明自增属性即可。 自增量的值都是需要在系统中维护一个全局的数据值,每次插入数据时即对此次值进行增量取值。当在当量产生唯一标识的并发环境中,每次的增... 阅读全文
posted @ 2013-09-21 10:41 shixunle 阅读(865) 评论(0) 推荐(0) 编辑
摘要: 第一步:新建一个LoginWindow.xaml,设计如下:代码如下:并为btnLogin按钮添加事件代码如下: btnLogin的事件代码:private void btnLogin_Click(object sender, RoutedEventArgs e) { string username = txtUserName.Text; string pwd = pwbPassword.Password; ... 阅读全文
posted @ 2013-09-21 10:18 shixunle 阅读(682) 评论(0) 推荐(0) 编辑