上一页 1 ··· 35 36 37 38 39 40 41 42 43 ··· 56 下一页
摘要: 介绍在任何应用系统开发中,异常管理对开发人员来说都是一个关键领域。作为一个开发人员,你应该采用一种合适的、能让你编写健壮且高质量代码的异常管理策略。如果使用得当,异常管理将是一个很强大的概念而且使你的开发工作变的很容易。然而,一个不合适的异常处理将会使你的应用系统性能降低。在你钻研这些之前,要先搞清楚异常管理是什么,这点很重要。一般来说异常就表示“打破系统预定的假设”。“异常”和“错误”是不一样的,为了解释清楚,我们来看两个例子:示例一 我们假设你试图向一个文件写入数据,而你的应用程序也认为这个文件在正确的路径上。如果不在,就会抛出一个异常。而话说回来,如果你的职责是跟踪此文件,那么代码里还有 阅读全文
posted @ 2012-11-22 11:09 左正 阅读(408) 评论(0) 推荐(0)
摘要: 1.1.2 应用框架的特点应用框架相比其它程序结构而言具有五大主要特点:模块化、可重用性、可扩展性、简单性和可维护性2,尽管这些特点并非应用框架所完全特有,但它却很好地保持了这些特点的平衡性,对于编写结构复杂、需求多变的大中型应用软件系统而言不啻为最佳选择之一。模块化应用框架可以从逻辑上被划分为多个逻辑独立的层次或模块。模块化并非应用框架的独特之处,许多应用程序都具备这个的特点,它的好处是将整个应用独立为多个关联的模块,从而提高了应用的聚合性,降低了应用的耦合性。各个独立的模块通过统一的管道或协议进行通讯互动,这样,当一个模块内部发生重大改变时,只要它的通讯入口和出口保持不变,就不会影响到系统 阅读全文
posted @ 2012-11-22 10:23 左正 阅读(434) 评论(0) 推荐(0)
摘要: CROSS JOIN连接用于生成两张表的笛卡尔集。 在sql中cross join的使用: 1、返回的记录数为两个表的记录数乘积。 2、将A表的所有行分别与B表的所有行进行连接。 例如: tableA r1 r2 A B C D tableB r3 r4 1 2 3 4 select * from tableA cross join tableB; return: r1 r2 r3 r4 r1 r2 1 2 r1 r2 3 4 A B r3 r4 A B 1 2 A B 3 4 C C r3 r4 C D 1 2 C D 3 4 将两张表的情况... 阅读全文
posted @ 2012-11-16 14:11 左正 阅读(421) 评论(0) 推荐(0)
摘要: using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls;public partial class _Default : System.Web.UI.Page { protected v. 阅读全文
posted @ 2012-11-16 11:46 左正 阅读(2475) 评论(0) 推荐(0)
摘要: 最近几天一直在用C#写Asp.net的东西,发觉Asp.net很好用,也不好用,可能自己的认识比较浅,所以还要多多学习。下面是我遇上的一个问题,要动态的生成表格的行,同时在表格中插入按钮相应事件。插入表格行比较简单第一步,现在页面上创建一个表格控件,如下代码:<asp:Table ID="tblCity" runat="server" Width="300px"></asp:Table>第二步,就是在cs文件中控制它了TableRow row = new TableRow(); //创建新行TableCell 阅读全文
posted @ 2012-11-16 11:15 左正 阅读(3100) 评论(0) 推荐(0)
摘要: 1:什么是扩展字段?某张表中的字段为基本属性,某个系统在不同用户不同场合可能需要其他的属性。2:扩展思路扩展原则:扩展字段的使用是用户级别的,即在不改动系统程序的条件下进行扩展。数据存储:1:可以使用一个字段存储所有扩展信息的方法;2:可以使用关联表的方法;配置方法:将高级属性配置在XML中,每次添加或修改数据时进行同步。3:如何实现?(这里数据存储使用关联表的方法)1:数据库表及关联关系,这样每个表添加扩展功能都需要创建两张表;可以考虑所有表扩展都使用两张表,但没有前者结构清晰。2:xml配置 扩展属性,可以添加 修改 不支持 删除 ;支持下拉框;4:扩展属性的意义:个人觉得做产品的话,对每 阅读全文
posted @ 2012-11-15 16:16 左正 阅读(4265) 评论(0) 推荐(0)
摘要: 网站推广优化教程100条(完整版)下面介绍新手建站推广完美教程,各位根据自己的实际情况酌情选用:1、准备个好域名。①.尽量在5位数内,当然也不一定,反正要让用户好记。(看个人);②.尽量用顶级的域名,搜索排名感觉好一点。③.做中文站最好用拼音注册,不要问为什么。看百度(baidu.com)就是很好证明。④.域名的安全性,最好选择有些权威的注册商。⑤.好域名或者说主域名最好注册3年以上,因为百度在扒正规站的毛的时候,会看这些资料,他会觉得你不会很快转行的……2、网站空间很重要①.速度打开速度慢,会失去50%以上的流量;②.不要挂弹窗,弹窗代码越强,PV越低;③.别让搜索引擎感觉你的网站很慢,它工 阅读全文
posted @ 2012-11-13 18:22 左正 阅读(390) 评论(0) 推荐(0)
摘要: 前提, 客户端必须装windows office Excel,我机器上装的时office 2003,如果你机器装的是office 2007只要把 object id="_obj_Excel" classid="clsid:0002E559-0000-0000-C000-000000000046"的classid改一下,是多少你自己到网 上去查一下。aspx页面代码< %@ Page Language="C#" AutoEventWireup="true" CodeFile="ExcelBrowse. 阅读全文
posted @ 2012-11-13 16:55 左正 阅读(3033) 评论(0) 推荐(0)
摘要: IMEX是用来告诉驱动程序使用Excel文件的模式,其值有0、1、2三种,分别代表导出、导入、混合模式。当我们设置IMEX=1时将强制混合数据转 换为文本,但仅仅这种设置并不可靠,IMEX=1只确保在某列前8行数据至少有一个是文本项的时候才起作用,它只是把查找前8行数据中数据类型占优选择的 行为作了略微的改变。例如某列前8行数据全为纯数字,那么它仍然以数字类型作为该列的数据类型,随后行里的含有文本的数据仍然变空。另一个改进的措施是IMEX=1与注册表值TypeGuessRows配合使用,TypeGuessRows 值决定了ISAM 驱动程序从前几条数据采样确定数据类型,默认为“8”。可以通过修 阅读全文
posted @ 2012-10-30 16:23 左正 阅读(635) 评论(0) 推荐(0)
摘要: 阅读目录开始页面显示乱码问题AJAX提交的数据乱码问题JavaScript中正确的URL编码方式ASP.NET中正确的URL编码方式正确的URL编码方式的总结彻底解决encodeURIComponent()与GB2312乱码问题Cookie乱码问题下载文件名乱码问题多语言数据的乱码问题乱码问题的总结经常发现有人被乱码困扰着,而我感觉比较幸运,很少为此烦恼过。在这篇博客中,我将把我想到的一些与乱码有关的经验总结出来,供大家参考。回到顶部页面显示乱码问题在一个网站中,有些页面会正常显示,然而,有些页面会显示成乱码。 如果发生这种情况,可以检查一下web.config和文件编码。如果web.conf 阅读全文
posted @ 2012-10-16 10:18 左正 阅读(192) 评论(0) 推荐(0)
摘要: 今天美工那边做好几个 HTML 页面发给我,我把那些都改成 ASPX ,发现一个奇怪的问题,显示出来的结果有点不一样,样式有点偏差。 于是仔细对比 HTML 和 ASPX 页面产生的源代码,没有发现任何不同的地方,真是百思不得其解。最后终于无意中发现,HTML 页面和 ASPX 页面的编码方式不一样,HTML 是 GB2312 ,ASPX 是 UTF-8(即使其中含有 <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> 的标记)。 才明白,原来就是因为 AS 阅读全文
posted @ 2012-10-16 10:16 左正 阅读(248) 评论(0) 推荐(0)
摘要: 经常编写JS的朋友常常会因为函数写多了,隔一段时间就会忘记了函数的用途,或者函数里带的参数作用情况,这个时候会联想到VS工具里的强大提示功能,多 希望也能在JS上实现呀,告诉你,这个想法并不是多难,VS2010以经帮我们解决了这个问题,下面看下具体是怎么操作的:functionSayHi(name, age){/// <summary>自我介绍名字和年龄的函数</summary>/// <param name="name" type="String">要介绍的名字</param>/// <param 阅读全文
posted @ 2012-10-15 10:22 左正 阅读(494) 评论(0) 推荐(0)
摘要: #region 发送指定邮箱publicstaticstring SendMail(stringfrom, string fromname, string to, string subject, string body, string username, string password, string server, string fujian) { try { //邮件发送类 MailMessage mail =new MailMessage(); //是谁发送的邮件 m... 阅读全文
posted @ 2012-10-11 10:38 左正 阅读(228) 评论(0) 推荐(0)
摘要: 说到发送邮件发送,先提一下SMTP(呵呵,高手就跳过这一段吧!)。 SMTP的全称是“Simple Mail Transfer Protocol”,即简单邮件传输协议。它是一组用于从源地址到目的地址传输邮件的规范,通过它来控制邮件的中转方式。SMTP 协议属于 TCP/IP 协议簇,它帮助每台计算机在发送或中转信件时找到下一个目的地。SMTP 服务器就是遵循 SMTP 协议的发送邮件服务器。再简单介绍一下名称空间(NameSpace)System.Web.Mail类库里所提供的邮件发送的对象、属性和方法 (1)它有三个类:SmtpMail、MailMessage和MailAttachment。 阅读全文
posted @ 2012-10-11 10:21 左正 阅读(205) 评论(0) 推荐(0)
摘要: 搭建自己的WF程序时碰到这样的错误:无法为实例 ID“b6badb4d-5955-4d2c-8e10-bf51fb0c6f56”传递接口类型“Land.Workflow.LocalService.ICaseService”上的事件“Create”。搜了下,基本上都是这样的说法:把WaitForIdle 属性设置为true即可,如:args.WaitForIdle = true; 照做还是不行。通过仔细研究发现,我们的一般会这样自定义自己的消息类型:[Serializable]public class CaseEventArgs : ExternalDataEventArgs{public Ca 阅读全文
posted @ 2012-10-10 17:20 左正 阅读(291) 评论(0) 推荐(0)
摘要: NET Framework 为异步操作提供了两种设计模式:使用 IAsyncResult 对象的异步操作与使用事件的异步操作。先来学习前者 概述 IAsyncResult 异步设计模式通过名为 BeginOperationName 和 EndOperationName 的两个方法来实现原同步方法的异步调用,如 FileStream 类提供了 BeginRead 和 EndRead 方法来从文件异步读取字节,它们是 Read 方法的异步版本 Begin 方法包含同步方法签名中的任何参数,此外还包含另外两个参数:一个AsyncCallback 委托和一个用户定义的状态对象。委托用来调用回调方法,状 阅读全文
posted @ 2012-10-10 11:02 左正 阅读(388) 评论(0) 推荐(0)
摘要: SQL语句中使用parameters的好处:1、提高SQL语句的性能:每个不同的SQL语句在执行前都会进行相应的预解析等操作,这个过程是比较耗时的,而任何值的不同也是SQL不同,比如:SELECT * FROM USER WHERE USER_ID = 1与SELECT * FROM USER WHERE USER_ID = 2是不同的SQL语句。如果将where条件中的USER_ID的值通过参数传递的话,两个SQL内容就一样,数据库系统就只需要进行一次解析就可以了,然后缓存起来,以后可以直接使用,从而大大提高SQL语句的性能。2、避免因为程序员的考虑不足引起的SQL注入安全问题 比如:以 . 阅读全文
posted @ 2012-10-09 17:35 左正 阅读(487) 评论(0) 推荐(0)
摘要: Accounting Documents会计凭证 SAP系统在数据处理,无论是业务处理,还是财务处理都会产生大量的凭证,无论是什么凭证,最终的反映形式就是会计凭证。 1.凭证原则Code 每笔记账都一直以凭证形式存储,每一凭证都作为前后一致的单位保留在系统中,直至将它归档。唯有完整凭证可以计入SAP系统;“完整”是指借贷余额为零。其近一步的条件是完整、准确输入系统配置时定义为“必输(Required)”的字段。保存凭证或者进入不同凭证项目时,系统自动根据配置检查必输项目是否已经输入或者是否按照标准输入,并发出适当的提示信息,拒绝进行下一步动作,如果输入错误的话。 2.凭证结构Struc... 阅读全文
posted @ 2012-10-09 10:19 左正 阅读(2430) 评论(0) 推荐(0)
摘要: Transact-SQL 代码中的错误可使用 TRY…CATCH 构造处理,此功能类似于C#语言的异常处理功能。TRY…CATCH 构造包括两部分:一个 TRY 块和一个 CATCH 块 1.TRY...CATCH 块不处理导致数据库引擎关闭连接的严重性为 20 或更高的错误。但是,只要连接不关闭,TRY...CATCH 就会处理严重性为 20 或更高的错误。 2.严重性为 10 或更低的错误被视为警告或信息性消息,TRY...CATCH 块不处理此类错误。1--ids 主键 2createtable test1( ids intnotnull,3constraint pk_test1 p.. 阅读全文
posted @ 2012-10-08 14:36 左正 阅读(274) 评论(0) 推荐(0)
摘要: Asp.net中利用ExecuteNonQuery()执行存储过程返回-1解决方案 2009-08-22 14:06 by chenkai, 544 阅读, 1 评论, 收藏, 编辑 Asp.net中利用ExecuteNonQuery()方法执行sql语句,并返回影响行数,注意sql语句针对的是增删改三个操作,返回影响行数总是-1:在MSDN上这样解释如果不是同一类型(增删改)的sql语句 执行操作返回-1.当前存储过程如下:1--创建个人插入Proc2--分开参数实现3createprocAddPersion_Proc4@namevarchar(80),5@passwordvarchar(2 阅读全文
posted @ 2012-10-08 14:03 左正 阅读(1408) 评论(0) 推荐(0)
摘要: 在不同数据源之间转移数据是一个常见的开发任务。如果你应用过SQL Server,就会熟悉bcp(批量复制)命令。它允许你快速将大型文件批量复制到SQL Server表或视图中。在.NET Framework 1.1中,可以通过SqlCommand对象利用bcp,但.NET Framework 2.0中增加了SqlBulkCopy类来简化这个繁琐的过程。SqlBulkCopy类虽然你仍然可以使用t-splbcp命令,但SqlBulkCopy类具有很强的性能优势。你只能使用这个类往SQL Server表中写入数据,但可以使用任何数据源。唯一要注意的地方在于,数据源的内容必须能够加载到一个DataT 阅读全文
posted @ 2012-09-26 11:20 左正 阅读(473) 评论(0) 推荐(0)
摘要: SQL code在SQL SERVER 中访问ORACLE数据库服务器的几种方法 1.通过行集函数opendatasource select*fromopendatasource('MSDAORA', 'Data Source=XST4;User ID=manager;Password=sjpsjsjs')..MISD.PBCATCOL 其中,MSDAORA是OLEDB FOR ORACLE的驱动, 用户名和表名一定要大小,服务器和用户名之间是两个点;并且User ID和要查询的用户名必须是一样的,不能以其他用户名登陆 2. 使用MS SQL的openrowse 阅读全文
posted @ 2012-09-26 11:09 左正 阅读(326) 评论(0) 推荐(0)
摘要: 队列是其元素以先进先出(FIFO)的方式来处理的集合。先放在队列中 的元素会先读取。队列的例子有在机场排的队、人力资源部中等待处理求职信的队列、打印队列中等待处理的打印任务、以循环方式等]处理的线程。另外,还常常 有元素根据其优先级来处理的队列。例如,在机场的队列中,商务舱乘客的处理要优先于经济舱的乘客。这里可以使用多个队列,一个队列对应一个优先级。在机 场,这是很常见的,因为商务舱乘客和经济舱乘客有不同的登记队列。打印队列和线程也是这样。可以为一组队列建立一个数组,数组中的一项代表一个优先级。在 每个数组项中,都有一个队列,其处理按照的方式进行。#region 队列测试 ///<sum 阅读全文
posted @ 2012-09-26 10:58 左正 阅读(243) 评论(0) 推荐(0)
摘要: 错误提示: 服务器应用程序不可用您试图在此 Web 服务器上访问的 Web 应用程序当前不可用。请点击 Web 浏览器中的“刷新”按钮重试您的请求。 管理员注意事项:详述此特定请求失败原因的错误消息可在 Web 服务器的系统事件日志中找到。请检查此日志项以查明导致该错误发生的原因。解决方法:新建应用程序池新建应用程序池的步骤 1. “开始”->“管理工具”->“Internet 信息服务管理器 (IIS)”。 2. 右击“应用程序池”->“新建”->“应用程序池……”。 3.右击新建的应用程序池 ->属性->标识->预定义账户设置为"本地系统 阅读全文
posted @ 2012-09-25 09:36 左正 阅读(439) 评论(0) 推荐(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 @ 2012-09-21 14:02 左正 阅读(182) 评论(0) 推荐(0)
摘要: 文件权限 Network Service、Everyone、Asp.net等都是完全控制,但我的应用程序在做文件删除时就提示登录。2010-5-3 13:32满意回答ASP.NET 未被授权访问所请求的资源。请考虑授予 ASP.NET 请求标识访问此资源的权限。ASP.NET 有一个在应用程序没有模拟时使用的基进程标识(通常,在 IIS 5 上为 {MACHINE}\ASPNET,在 IIS 6 上为网络服务)。如果应用程序正在通过 <identity impersonate="true"/> 模拟,则标识将为匿名用户(通常为 IUSR_MACHINENAME) 阅读全文
posted @ 2012-09-20 18:10 左正 阅读(568) 评论(0) 推荐(0)
摘要: FOR XML PATH 有的人可能知道有的人可能不知道,其实它就是将查询结果集以XML形式展现,有了它我们可以简化我们的查询语句实现一些以前可能需要借助函数活存储过程来完成的工作。那么以一个实例为主.一.FOR XML PATH 简单介绍那么还是首先来介绍一下FOR XML PATH ,假设现在有一张兴趣爱好表(hobby)用来存放兴趣爱好,表结构如下:接下来我们来看应用FOR XML PATH的查询结果语句如下:SELECT*FROM@hobbyFOR XML PATH结果:<row> <hobbyID>1</hobbyID> <hName> 阅读全文
posted @ 2012-09-19 17:20 左正 阅读(174) 评论(0) 推荐(0)
摘要: Sys.SysProcesses 系统表是一个很重要的系统视图,主要用来定位与解决Sql Server的阻塞和死锁。MSDN:包含正在 SQL Server 实例上运行的进程的相关信息。这些进程可以是客户端进程或系统进程。视图中主要的字段:1. Spid:Sql Servr 会话ID2. Kpid:Windows 线程ID3. Blocked:正在阻塞求情的会话 ID。如果此列为 Null,则标识请求未被阻塞4. Waittype:当前连接的等待资源编号,标示是否等待资源,0 或 Null表示不需要等待任何资源5. Waittime:当前等待时间,单位为毫秒,0 表示没有等待6. DBID:当 阅读全文
posted @ 2012-09-19 16:37 左正 阅读(321) 评论(0) 推荐(0)
摘要: 目的:本文主要是详细讲解SSIS Package包的制作过程 本人买过的一张盗版windows 2003操作系统光盘上,上面自带有很详细的图文介绍,也就是傻瓜版的系统安装图解。因此,本文打算也是采用那种方式进行讲解,这样的话,根据如下步骤,各位对于制作自己的SSIS Package包就会有一个整体的认识,相对来说下面将比较详细的显示每一个过程,主要有步骤如下: (一)首先,我们打开SQL Server 2005数据库自带的SQL Server Business Intelligence Development Studio(SQL Server商业智能开发平台)。打开的界面和我们平常用的Vis 阅读全文
posted @ 2012-09-19 15:21 左正 阅读(353) 评论(0) 推荐(0)
摘要: 本文目录:(一)背景 (二)数据库数据导入到Excel的方法比较 (三)SSIS的简介 (四)数据库中存储过程示例(SSIS应用需要) (五)Excel模板的制作(这步这么简单,稍微介绍一下) (六)SSIS操作过程(生成Package,用来调用)(下一篇随笔将详细讲解制作Package包的过程,图片太多,篇幅过长,因此本文将直接采用生成的Package包进行应用) (七)C#中如何调用SSIS创建的Package和Excel模板(可以自己编写逻辑代码进行重复利用),用来生成Excel数据 (八)总结(一)背景 如何将数据库中的数据导入到EXCEL文件中,我们... 阅读全文
posted @ 2012-09-19 15:13 左正 阅读(703) 评论(0) 推荐(0)
摘要: SQL Server 存储过程的分页,这个问题已经讨论过几年了,很多朋友在问我,所以在此发表一下我的观点建立表:CREATE TABLE [TestTable] ([ID] [int] IDENTITY (1, 1) NOT NULL ,[FirstName] [nvarchar] (100) COLLATE Chinese_PRC_CI_AS NULL ,[LastName] [nvarchar] (100) COLLATE Chinese_PRC_CI_AS NULL ,[Country] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,[N 阅读全文
posted @ 2012-09-18 18:02 左正 阅读(624) 评论(0) 推荐(0)
摘要: 简介数据库范式在数据库设计中的地位一直很暧昧,教科书中对于数据库范式倒是都给出了学术性的定义,但实际应用中范式的应用却不甚乐观,这篇文章会用简单的语言和一个简单的数据库DEMO将一个不符合范式的数据库一步步从第一范式实现到第四范式。范式的目标应用数据库范式可以带来许多好处,但是最重要的好处归结为三点:1.减少数据冗余(这是最主要的好处,其他好处都是由此而附带的)2.消除异常(插入异常,更新异常,删除异常)3.让数据组织的更加和谐…但剑是双刃的,应用数据库范式同样也会带来弊端,这会在文章后面说到。什么是范式简单的说,范式是为了消除重复数据减少冗余数据,从而让数据库内的数据更好的组织,让磁盘空间得 阅读全文
posted @ 2012-09-18 16:48 左正 阅读(127) 评论(0) 推荐(0)
摘要: 引言在前两篇文章中,对于单表查询和多表查询的概念做出了详细的介绍,在本篇文章中会主要介绍聚合函数的使用和数据的分组.简介简单的说,聚合函数是按照一定的规则将多行(Row)数据汇总成一行的函数。对数据进行汇总前,还可以按照特定的列(column)将数据进行分组(Group by)再汇总,然后按照再次给定的条件进行筛选(Having).聚合函数将多行数据进行汇总的概念可以简单用下图解释:简单聚合函数简单聚合函数是那些拥有很直观将多行(Row)汇总为一行(Row)计算规则的函数。这些函数往往从函数名本身就可以猜测出函数的作用,而这些函数的参数都是数字类型的。简单聚合函数包括:Avg,Sum,Max, 阅读全文
posted @ 2012-09-18 16:42 左正 阅读(180) 评论(0) 推荐(0)
摘要: 引言在前篇文章中(SQL查询入门(上篇),我对数据库查询的基本概念以及单表查询做了详细的解释,本篇文章中,主要说明SQL中的各种连接以及使用范围,以及更进一步的解释关系代数法和关系演算法对在同一条查询的不同思路。多表连接简介在关系数据库中,一个查询往往会涉及多个表,因为很少有数据库只有一个表,而如果大多查询只涉及到一个表的,那么那个表也往往低于第三范式,存在大量冗余和异常。因此,连接(Join)就是一种把多个表连接成一个表的重要手段.比如简单两个表连接学生表(Student)和班级(Class)表,如图:进行连接后如图:笛卡尔积笛卡尔积在SQL中的实现方式既是交叉连接(Cross Join)。 阅读全文
posted @ 2012-09-18 16:40 左正 阅读(261) 评论(0) 推荐(0)
摘要: 引言SQL语言是一门简单易学却又功能强大的语言,它能让你快速上手并写出比较复杂的查询语句。但对于大多数开发者来说,使用SQL查询数据库并没有一个抽象的过程和一个合理的步骤,这很可能会使在写一些特定的SQL查询语句来解决特定问题时被”卡”住,本系列文章主要讲述SQL查询时一些基本的理论,以及写查询语句的抽象思路。SQL查询简介SQL语言起源于1970年E.J.Codd发表的关系数据库理论,所以SQL是为关系数据库服务的。而对于SQL查询,是指从数据库中取得数据的子集,这句话貌似听着有些晦涩是吧,下面通过几张图片简单说明一下:假如一个数据库中只有一个表,再假如所有数据如下图(取自Adventure 阅读全文
posted @ 2012-09-18 16:38 左正 阅读(292) 评论(0) 推荐(0)
摘要: 引言SQL有着非常强大且灵活的查询方式,而多表连接操作往往也可以用子查询进行替代,本篇文章将会讲述子查询的方方面面。简介子查询本质上是嵌套进其他SELECT,UPDATE,INSERT,DELETE语句的一个被限制的SELECT语句,在子查询中,只有下面几个子句可以使用SELECT子句(必须)FROM子句(必选)WHERE子句(可选)GROUP BY(可选)HAVING(可选)ORDER BY(只有在TOP关键字被使用时才可用)子查询也可以嵌套在其他子查询中,这个嵌套最多可达32层。子查询也叫内部查询(Inner query)或者内部选择(Inner Select),而包含子查询的查询语句也叫 阅读全文
posted @ 2012-09-18 16:34 左正 阅读(143) 评论(0) 推荐(0)
摘要: 引言T-SQL不仅仅是一个用于查询数据库的语言,还是一个可以对数据进行操作的语言。基于列的CASE表达式就是其中一种,不像其他查询语句可以互相替代(比如用子查询实现的查询也可以使用Join实现),CASE表达式在控制基于列的逻辑大部分是无法替代的。下面文中会详细讲解CASE表达式。简介基于列的逻辑表达式,其实就是CASE表达式.可以用在SELECT,UPDATE,DELETE,SET以及IN,WHERE,ORDER BY和HAVING子句之后。由于这里讲的是T-SQL查询,所以只说到CASE表达式在SELECT子句和ORDER BY子句中的使用。CASE表达式实现的功能类似于编程语言中的IF… 阅读全文
posted @ 2012-09-18 16:24 左正 阅读(305) 评论(0) 推荐(0)
摘要: 概述和其他高级语言一样,T-SQL中也有用于控制流程的语句。T-SQL中的流程控制语句进一步扩展了T-SQL的力量……使得大部分业务逻辑可以在数据库层面进行。但很多人对T-SQL中的流程控制语句并没有系统的了解,本篇文章会系统的对T-SQL语句中的流程控制语句进行系统讲解。基本概念在没有流程控制语句的情况下,T-SQL语句是按照从上到下的顺序逐个执行:使用流程控制语句可以让开发人员可以基于某些逻辑进行选择性的跳转,实现了类似高级语言的跳转结构:流程控制语句的使用范围和GO关键字流程控制语句只能在单个批处理段(Batch),用户自定义函数和存储过程中使用。不能跨多个批处理段或者用户自定义函数和存 阅读全文
posted @ 2012-09-18 16:16 左正 阅读(220) 评论(0) 推荐(0)
摘要: 概述变量对于一种语言是必不可少的一部分,当然,对于T-SQL来讲也是一样。在简单查询中,往往很少用到变量,但无论对于复杂的查询或存储过程中,变量都是必不可少的一部分.变量的种类在T-SQL中,变量按生存范围可以分为全局变量(Global Variable)和局部变量(Local Variable).1.全局变量是由系统定义的,在整个SQL SERVER实例内都能访问到的变量.全局变量以@@作为第一个字符,用户只能访问,不能赋值。2.局部变量由用户定义,生命周期只在一个批处理内有效。局部变量以@作为第一个字符,由用户自己定义和赋值。一个简单的例子如下因为全局变量仅仅是用于读取系统的一些参数,具体 阅读全文
posted @ 2012-09-18 16:10 左正 阅读(223) 评论(0) 推荐(0)
摘要: 概述关系数据库的起源起源于数学中的集合概念.所以集合与集合之间,也同样继承了数学集合之间的运算.而对于在关系数据库中,常常用于两个数据集中并没有直接的关系数据库中的“关系”,比如外键.但两个数据集会有间接的关系,比如两届比赛,参加比赛人员集合之间会有间接关系.数据集运算的种类在T-SQL中,关系运算实际上可以分为四类,首先看我们举例子用的表:这里的例子表分别为两个不同会议参加的人员记录,分别为Meeting1和Meeting2,如下: 关系运算的具体可以分为以下四类:1.A∩B,既是所求数据集既在A中,又在B中在实例表中,实际的例子为既参加第一个会议,又参加第二个会议人的集合,如下图:2.A∪ 阅读全文
posted @ 2012-09-18 16:02 左正 阅读(407) 评论(0) 推荐(0)
上一页 1 ··· 35 36 37 38 39 40 41 42 43 ··· 56 下一页