2012年4月10日

数据库对象命名

摘要: 引言 编码规范是一个优秀程序员的必备素质,很多人非常注重程序中变量、方法、类的命名,却忽视了同样重要的数据库对象命名。 基本命名规则 数据库对象 前缀 举例 表(Table) 无 ... 阅读全文

posted @ 2012-04-10 22:45 SkySoot 阅读(670) 评论(0) 推荐(0)

SQL Server 数据库安全相关(SQL语句)

摘要: -- 创建登陆用户 -- 语法: create login login_name from windows with default_database = database | default_language = language create login [localhost\hoojo-pc] from windows with default_databas... 阅读全文

posted @ 2012-04-10 21:52 SkySoot 阅读(496) 评论(0) 推荐(0)

SQL Server 触发器

摘要: 触发器是一种特殊类型的存储过程,它不同于之前的我们介绍的存储过程。触发器主要是通过事件进行触发被自动调用执行的。而存储过程可以通过存储过程的名称被调用。 Ø 什么是触发器 触发器对表进行插入、更新、删除的时候会自动执行的特殊存储过程。 触发器一般用在check约束更加复杂的约束上面。 与普通的存储过程的区别是:当对某一个表进行操作。诸如:update、inser... 阅读全文

posted @ 2012-04-10 21:40 SkySoot 阅读(487) 评论(0) 推荐(0)

SQL Server 事务、异常和游标

摘要: Ø 事务 在数据库中有时候需要把多个步骤的指令当作一个整体来运行,这个整体要么全部成功,要么全部失败,这就需要用到事务。 1、 事务的特点 事务由若干条T-SQL指令组成,并且所有的指令昨晚一个整体提交给数据库系统,执行时,这组指令要么全部执行完成,要么全部取消。因此,事务是一个不可分割的逻辑单元。 事务有4个属性:原子性(Atomicity... 阅读全文

posted @ 2012-04-10 20:48 SkySoot 阅读(1565) 评论(0) 推荐(0)

SQL Server 系统存储过程

摘要: Transact-SQL中的存储过程,非常类似于Java语言中的方法,它可以重复调用。当存储过程执行一次后,可以将语句缓存在内存中,下次执行的时候直接使用缓存中的语句。这样就可以提高存储过程的性能。 Ø 存储过程的概念 存储过程Procedure是一组为了完成特定功能的SQL语句集合,经编译后存储在数据库中,用户通过指定存储过程的名称并给出参数来执行。 存储过程中可以包... 阅读全文

posted @ 2012-04-10 18:25 SkySoot 阅读(3279) 评论(0) 推荐(0)

SQL Server 索引和视图

摘要: Ø 索引 1、 什么是索引 索引就是数据表中数据和相应的存储位置的列表,利用索引可以提高在表或视图中的查找数据的速度。 2、 索引分类 数据库中索引主要分为两类:聚集索引和非聚集索引。SQL Server 2005还提供了唯一索引、索引视图、全文索引、xml索引等等。聚集索引和非聚集索引是数据库引擎中索引的最基本类型,是理解其他类型索... 阅读全文

posted @ 2012-04-10 18:16 SkySoot 阅读(386) 评论(0) 推荐(0)

SQL Server T-SQL高级查询、函数

摘要: 高级查询在数据库中用得是最频繁的,也是应用最广泛、最普遍的。 Ø 基本常用查询 -- all 查询所有,几乎从来不用 all 关键字,因为是默认关键字 select all sex from student; -- distinct 过滤重复 (常用语检查一列数据是否有异常值) select distinct sex from student; ... 阅读全文

posted @ 2012-04-10 17:56 SkySoot 阅读(3804) 评论(1) 推荐(0)

SQL Server Transact-SQL 编程

摘要: T-SQL语句用于管理SQL Server数据库引擎实例,创建和管理数据库对象,以及查询、插入、修改和删除数据。 Ø 变量 1、 局部变量(Local Variable) 局部变量是用户可以自定义的变量,它的作用范围是仅在程序内部,在程序中通常用来储存从表中查询到的数据或当做程序执行过程中的暂存变量。使用局部变量必须以@开头,而且必须用declare命令后... 阅读全文

posted @ 2012-04-10 16:56 SkySoot 阅读(654) 评论(0) 推荐(0)

SQL Server 数据库基础语法、数据类型

摘要: 创建 / 删除数据库:-- Go 批处理语句用于将 go 之前的语句合并为为一个语句块,同时执行多个语句 -- 使用、切换数据库 use mastergo-- 创建、删除数据库 -- 示例1if (exists (select * from sys.databases where name = 'testHome')) drop database testHomegocreate database testHomeon( name = 'testHome', filename = 'c:\data\students.mdf' )log on( . 阅读全文

posted @ 2012-04-10 16:17 SkySoot 阅读(521) 评论(0) 推荐(0)

SQL Server 数据库设计

摘要: 一、数据库设计的必要性 在实际的软件项目中,如果系统中需要存储的数据量比较大,需要设计的表比较多,表与表之间的关系比较复杂,那我们就需要进行规范的数据库设置。如果不经过数据库的设计,我们构建的数据库不合理、不恰当,那么数据库的维护、运行效率会有很大的问题。这将直接影响到项目的运行性能和可靠性。 二、什么是数据库设计 数据库设计实际上就是规划和结构化数据库中的... 阅读全文

posted @ 2012-04-10 15:24 SkySoot 阅读(488) 评论(0) 推荐(0)

2012年4月9日

SQL应用中级指南 Part4:(数据字典)

摘要: (一)用视图从数据字典中获得信息 数据字典简介 每一种数据库都有它自己的数据字典(或系统目录)(在今天的介绍中这两个词我们都会使用)数据字典是在数据库环境中的一个系统区域,它包含着关于数据库成份的信息,数据字典中包括的信息如数据库设计、存储的SQL 代码、用户统计、数据库过程、数据库的增长情况和对数据库性能的统计。 数据字典中包括有数据库设计信息的表,它... 阅读全文

posted @ 2012-04-09 22:21 SkySoot 阅读(1001) 评论(0) 推荐(0)

SQL应用中级指南 Part3:(SQL的流化、高效、数据库性能的提高与调整)

摘要: (一)对 SQL 语句优化以提高其性能 对 SQL 语句的流化是在设计和调试数据库时影响其应用性能的重要部分。不管数据库规划的如何合理或数据设计考虑的如何健全,你都不会对你的查询返回数据的及时性感到满意,即便是错误也是如此,那么你的客户呢?如果你不遵循一些基本的指导方针那么你的客户也不会感到满意,所以你的领导对你也不会满意。 目标: 1. 明白 SQL 语句流的概念 2. 明白... 阅读全文

posted @ 2012-04-09 19:08 SkySoot 阅读(649) 评论(0) 推荐(0)

SQL应用中级指南 Part2:(临时表、游标、存贮过程、触发机制)

摘要: (一) 临时表 这是一种简单的临时存在于数据库系统当中的表格,当结束数据库的联接或退出登录以后它们会被自动地删除。Transact-SQL 在 TempDB 中创建临时表,这个数据库是在你安装SQL-SERVER 时创建的。 -- 该表由 Create Table 命令以及创建表时的日期和时间组合而成一个唯一的表名 -- 临时表只可由它的创建者使用 -- 五十个用户... 阅读全文

posted @ 2012-04-09 16:51 SkySoot 阅读(585) 评论(1) 推荐(0)

2012年4月8日

SQL应用中级指南 Part1:(事务,数据库安全)

摘要: (一)事务处理控制 什么事事务? 事务控制或者说事务处理是指关系数据库系统执行数据库事务的能力。 事务是指在逻辑上必须完成的一组命令序列的最小单位。单元工作期是指事务的开始和结束时期。如果在事务中产生错误那么整个过程可以根据需要被终止,如果每一件事都是正确的那么结果将会被保存到数据库中。 如何创建与取消事务? -- Oracle 中事务的语法: SET TRANSAC... 阅读全文

posted @ 2012-04-08 23:13 SkySoot 阅读(503) 评论(0) 推荐(0)

SQL应用初级指南

摘要: (一)SQL 简介 SQL 诞生于IBM 公司在加利福尼亚San Jose 的试验室中,在七十年代SQL 由这里开发出来。最初它们被称为结构化查询语言(Structured Query Language) ,并常常简称为sequel。 S: Structured -- 结构 L :Language -- 语言 Q :Query -- 查询(如果你直译的话)。 (二)... 阅读全文

posted @ 2012-04-08 20:36 SkySoot 阅读(567) 评论(0) 推荐(0)

2012年4月7日

求N年后农场的奶牛数量

摘要: class Cow { public int age = 1;// 初始化年龄为1岁 } /// <summary> /// 一个农场有头母牛,现在母牛才一岁,要到四岁才能生小牛,四岁之后,每年生一头小牛。 /// 假设每次生的都是母牛,并且也遵守4年才生育并生母牛的原则,并且无死亡,请问n年后共有多少头牛? /// </... 阅读全文

posted @ 2012-04-07 16:17 SkySoot 阅读(874) 评论(0) 推荐(0)

2012年4月6日

SQL中单引号的转义

摘要: 很多时候,在数据库中某表某字符字段中,要存储的数据内容会含有单引号,比如下面: string name = GetNameById(id); string sql = string.Format("update cover_diagnose set name = '{0}' where id = 48951",name);这样真的没问题吗?假设name获取的字面值是这样的:... 阅读全文

posted @ 2012-04-06 20:25 SkySoot 阅读(7771) 评论(0) 推荐(0)

文本编辑器

摘要: using System; using System.Collections.Generic; using System.Linq; using System.Windows.Forms; namespace SimpleEditor { static class Program { ... 阅读全文

posted @ 2012-04-06 17:40 SkySoot 阅读(567) 评论(0) 推荐(0)

XML 文档的基本操作

摘要: /// <summary> /// XML文件中插入一个节点 /// </summary> private void btnAddNode1_Click(object sender, EventArgs e) { // 加载Test文档 XmlDocument xmlDoc = new XmlDocument(); ... 阅读全文

posted @ 2012-04-06 17:30 SkySoot 阅读(555) 评论(0) 推荐(0)

2012年4月5日

C# 消息处理机制及自定义过滤方式

摘要: 一、消息概述 Windows 下应用程序的执行是通过消息驱动的。消息是整个应用程序的工作引擎,我们需要理解掌握我们使用的编程语言是如何封装消息的原理。 1. 什么是消息(Message) 消息就是通知和命令。在.NET框架类库中的System.Windows.Forms命名空间中微软采用面对对象的方式重新定义了Message。新的消息(Message)结构的公共部分属性基本与... 阅读全文

posted @ 2012-04-05 21:03 SkySoot 阅读(6074) 评论(3) 推荐(3)

C# 中的委托和事件(详解)

摘要: C# 中的委托和事件 委托和事件在 .NET Framework 中的应用非常广泛,然而,较好地理解委托和事件对很多接触 C# 时间不长的人来说并不容易。它们就像是一道槛儿,过了这个槛的人,觉得真是太容易了,而没有过去的人每次见到委托和事件就觉得心里堵得慌,浑身不自在。本章中,我将由浅入深地讲述什么是委托、为什么要使用委托、事件的由来、.NET Framework 中的委托和事件、... 阅读全文

posted @ 2012-04-05 20:02 SkySoot 阅读(43979) 评论(29) 推荐(49)

2012年4月3日

C# (输入输出流)

摘要: 一 .NET Framework 类库的System.IO 命名空间 System.IO 命名空间包含允许读写文件和数据流的类型以及提供基本文件和目录支持的类型。二 C# 文件读写之 FileStream 详解// 直接用 FileStream 类打开文件FileStream fs1 = File.Open("c://test.txt", FileMode.Open);// 以追加的方式打开文件"c://test.txt",将某些内容写到"c://test.txt"里FileStream fs2 = File.Open("c 阅读全文

posted @ 2012-04-03 16:37 SkySoot 阅读(10818) 评论(0) 推荐(0)

2012年4月2日

C1FlexGrid(行背景色随鼠标移动更改)

摘要: int oldRowNumber = -1; private void c1FlexGrid1_MouseMove(object sender, MouseEventArgs e) { // 获取鼠标指向的 Row 对象 int newRowNumber = c1FlexGrid1.MouseRow; // if 中最... 阅读全文

posted @ 2012-04-02 21:16 SkySoot 阅读(2735) 评论(0) 推荐(0)

C# 多线程(lock,Monitor,Mutex,同步事件和等待句柄)

摘要: 本篇从 Monitor,Mutex,ManualResetEvent,AutoResetEvent,WaitHandler 的类关系图开始,希望通过本篇的介绍能对常见的线程同步方法有一个整体的认识,而对每种方式的使用细节,适用场合不会过多解释。 让我们来看看这几个类的关系图: 1. lock 关键字 lock 是 C# 关键词,它将语句块标记为临界区,确保当一个线程位于... 阅读全文

posted @ 2012-04-02 20:57 SkySoot 阅读(13787) 评论(0) 推荐(5)

2012年4月1日

C# 多线程详解 Part.03 (定时器)

摘要: Timer 类: 设置一个定时器,定时执行用户指定的函数。定时器启动后,系统将自动建立一个新的线程,执行用户指定的函数。using System;using System.Threading;namespace ThreadExample{ class TimerExampleState { public int counter = 0; public Timer tmr; } class App { public static void Main() { TimerExampleSt... 阅读全文

posted @ 2012-04-01 20:06 SkySoot 阅读(4977) 评论(0) 推荐(1)

C# 多线程的自动管理(线程池)

摘要: 在多线程的程序中,经常会出现两种情况: 1. 应用程序中线程把大部分的时间花费在等待状态,等待某个事件发生,然后给予响应。这一般使用 ThreadPool(线程池)来解决。 2. 线程平时都处于休眠状态,只是周期性地被唤醒。这一般使用 Timer(定时器)来解决。ThreadPool 类提供一个由系统维护的线程池(可以看作一个线程的容器),该容器需要 Windows 2000 以上系统支持,因为其中某些方法调用了只有高版本的Windows 才有的 API 函数。将线程安放在线程池里,需使用 ThreadPool.QueueUserWorkItem() 方法,该方法的原型如下: // 将一... 阅读全文

posted @ 2012-04-01 19:42 SkySoot 阅读(46994) 评论(0) 推荐(4)

2012年3月12日

C# 文件与目录的基本操作(System.IO)

摘要: 1. 文件操作 /// <summary> /// 文件读写操作 /// 为简化代码供大家学习,暂不考虑捕捉异常 /// </summary> public partial class TestIO : DevComponents.DotNetBar.Office2007Form { public TestIO() ... 阅读全文

posted @ 2012-03-12 14:08 SkySoot 阅读(5490) 评论(0) 推荐(1)

2012年2月29日

.Net 中的反射(动态创建类型实例) - Part.4 - (转载)

摘要: 动态创建对象在前面节中,我们先了解了反射,然后利用反射查看了类型信息,并学习了如何创建自定义特性,并利用反射来遍历它。可以说,前面三节,我们学习的都是反射是什么,在接下来的章节中,我们将学习反射可以做什么。在进行更有趣的话题之前,我们先看下如何动态地创建一个对象。我们新建一个Console控制台项目,叫做Reflection4(因为本文是Part4,你也可以起别的名字)。然后,添加一个示范类,本文中将通过对这个示范类的操作来进行说明:public class Calculator{ private int x; private int y; public Calcul... 阅读全文

posted @ 2012-02-29 18:48 SkySoot 阅读(698) 评论(0) 推荐(0)

2012年2月28日

.Net 中的反射(反射特性) - Part.3 - (转载)

摘要: 反射特性(Attribute)可能很多人还不了解特性,所以我们先了解一下什么是特性。想想看如果有一个消息系统,它存在这样一个方法,用来将一则短消息发送给某人:// title:标题; author:作者; content:内容; receiverId:接受者Idpublic bool SendMsg(string title, string author, string content, int receiverId){ // Do Send Action}我们很快就发现这样将参数一个个罗列到方法的参数列表中扩展性很糟糕,我们最好定义一个Message类将短消息封装起来,然后给方法传递一... 阅读全文

posted @ 2012-02-28 18:06 SkySoot 阅读(381) 评论(0) 推荐(0)

2012年2月26日

.Net 中的反射(查看基本类型信息) - Part.2 – (转载)

摘要: 1. 反射的作用简单来说,反射提供这样几个能力:1、查看和遍历类型(及其成员)的基本信息和程序集元数据(metadata);2、迟绑定(Late-Binding)方法和属性。3、动态创建类型实例(并可以动态调用所创建的实例的方法、字段、属性)。序章中,我们所采用的那个例子,只是反射的一个用途:查看类型成员信息。接下来的几个章节,我们将依次介绍反射所提供的其他能力。2. 获取Type对象实例反射的核心是Type类,这个类封装了关于对象的信息,也是进行反射的入口。当你获得了关于类型的Type对象后,就可以根据Type提供的属性和方法获取这个类型的一切信息(方法、字段、属性、事件、参数、构造函数等) 阅读全文

posted @ 2012-02-26 21:37 SkySoot 阅读(952) 评论(0) 推荐(1)

2012年2月20日

.Net 中的反射(序章) - Part.1 – (转载)

摘要: 引言反射是.Net提供给我们的一件强力武器,尽管大多数情况下我们不常用到反射,尽管我们可能也不需要精通它,但对反射的使用作以初步了解在日后的开发中或许会有所帮助。反射是一个庞大的话题,牵扯到的知识点也很多,包括程序集、自定义特性、泛型等,想要完全掌握它非常不易。本文仅仅对反射做一个概要介绍,关于它更精深的内容,需要在实践中逐渐掌握。本文将分为下面几个部分介绍.Net中的反射:序章,我将通过一个例子来引出反射,获得对反射的第一印象。反射初步、Type类、反射普通类型。(修改中,近期发布...)反射特性(Attribute)。动态创建类型实例序章如果你还没有接触过反射,而我现在就下一堆定义告诉你什 阅读全文

posted @ 2012-02-20 21:04 SkySoot 阅读(554) 评论(0) 推荐(0)

中文字符转换成拼音全码

摘要: 1. 这个小程序可将中文字符转换成拼音码,如遇非中文字符,则返回字符本身,效果图如下: (注: 此程序也可改写为返回字符拼音全码的首个字符,这个应用可以在程序中创建拼音快捷码) 2. 程序代码如下: using System; using System.Collections.Generic; using System.ComponentM... 阅读全文

posted @ 2012-02-20 18:56 SkySoot 阅读(2825) 评论(2) 推荐(1)

2012年2月10日

C#读取Excel文件(通过OleDb连接,把excel文件作为数据源来读取)

摘要: 首先看下本示例的操作界面: 代码如下: /// <summary> /// 导入文件 /// </summary> private void btnImport_Click(object sender, EventArgs e) { if (dlgFileOpen.ShowDialog() == DialogResult.OK)... 阅读全文

posted @ 2012-02-10 14:36 SkySoot 阅读(6271) 评论(2) 推荐(0)

.NET 调用存储过程详解

摘要: 配置 App.config (注: 本文使用 Northwind 数据库为例)<?xml version="1.0" encoding="utf-8" ?><configuration> <connectionStrings> <add name="NorthwindConnectionString" connectionString="Data Source=.;Initial Catalog=Northwind;Integrated Security=True" pro 阅读全文

posted @ 2012-02-10 13:15 SkySoot 阅读(4729) 评论(0) 推荐(0)

2012年2月8日

Brush 色谱

摘要: 运行效果如下: 程序源代码如下: using System; using System.Windows.Forms; using System.Drawing; using System.Reflection; using System.Collections.Generic; namespace ShowColor ... 阅读全文

posted @ 2012-02-08 17:14 SkySoot 阅读(499) 评论(0) 推荐(0)

WinForm 创建与读写配置文件

摘要: 1. 创建 app.config 文件: 右击项目名称,选择“添加”→“添加新建项”,在出现的“添加新项”对话框中,选择“添加应用程序配置文件”;如果项目以前没有配置文件,则默认的文件名称为“app.config”,单击“确定”。 出现在设计器视图中的app.config文件为: <?xml version="1.0" encoding="utf-8" ?> ... 阅读全文

posted @ 2012-02-08 16:47 SkySoot 阅读(13298) 评论(2) 推荐(0)

2012年2月6日

List<T>的Sort()方法,传入Comparison<T>比较器

摘要: 首先,看一下 Comparison<T> 的定义: namespace System { // 摘要: // 表示比较同一类型的两个对象的方法。 // // 参数: // x: // 要比较的第一个对象。 // // y: /... 阅读全文

posted @ 2012-02-06 16:14 SkySoot 阅读(4964) 评论(0) 推荐(3)

2012年1月16日

C1FlexGrid 表格的应用

摘要: 1. 设置表格的表头 C1FlexGrid flgView = new C1FlexGrid(); /// <summary> /// 表头设置 /// </summary> private void SetTable() { flgView.Cols.Count = 38; flgView.Rows.Coun... 阅读全文

posted @ 2012-01-16 17:41 SkySoot 阅读(4301) 评论(0) 推荐(1)

RDLC报表多页打印时的一些问题

摘要: 有多页数据需要打印时,RDCL报表有时会发生只能打印第一页的情况,而点击了打印布局按钮后,有时能正常的打印后续页。 鉴于这种情况,我们可以控制打印界面的呈现模式,避开这个小Bug,代码如下: public frmFirstCases_Print(DataSet ds) { InitializeComponent(); this.DsSource... 阅读全文

posted @ 2012-01-16 17:02 SkySoot 阅读(3762) 评论(0) 推荐(1)

2011年12月20日

WinForm 实现鼠标拖动控件跟随效果(图文)

摘要: 1. 运行初始窗口如下:2. 拖动后效果如下:3. 代码如下:public partial class Form1 : Form{ /* * 理解了下面的几个概念,就能完全明白相对坐标的变化. * MouseEventArgs e 为事件鼠标参数,因此,e.Location 指示了位于事件源上的光标坐标 * Cursor.Position 获取的是相对于用户屏幕的光标坐标 * PointToClient() 方法可将屏幕坐标 Cursor.Position 换算成工作区的坐标 * 因此,换算后的 Cursor.Position 减去 e.Locat... 阅读全文

posted @ 2011-12-20 15:18 SkySoot 阅读(7746) 评论(0) 推荐(1)

导航