摘要: IF OBJECT_ID('tb') IS NOT NULL DROP TABLE tbcreate table tb(id varchar(3) , pid varchar(3) , name varchar(10))insert into tb values('001' , null ,... 阅读全文
posted @ 2014-06-19 17:43 振乾 阅读(522) 评论(0) 推荐(0) 编辑
摘要: 同步方法和异步方法的区别同步方法调用在程序继续执行之前需要等待同步方法执行完毕返回结果异步方法则在被调用之后立即返回以便程序在被调用方法完成其任务的同时执行其它操作异步编程概览.NET Framework 允许您异步调用任何方法。定义与您需要调用的方法具有相同签名的委托;公共语言运行库将自动为该委托定义具有适当签名的 BeginInvoke 和 EndInvoke 方法。BeginInvoke 方法用于启动异步调用。它与您需要异步执行的方法具有相同的参数,只不过还有两个额外的参数(将在稍后描述)。BeginInvoke 立即返回,不等待异步调用完成。BeginInvoke 返回 IasyncR 阅读全文
posted @ 2011-11-16 17:28 振乾 阅读(494) 评论(0) 推荐(0) 编辑
摘要: 1.耗时的操作使用线程,提高应用程序响应2.并行操作时使用线程,如C/S架构的服务器端并发线程响应用户的请求。3.多CPU系统中,使用线程提高CPU利用率4.改善程序结构。一个既长又复杂的进程可以考虑分为多个线程,成为几个独立或半独立的运行部分,这样的程序会利于理解和修改。 使用多线程的理由之一是和进程相比,它是一种非常花销小,切换快,更"节俭"的多任务操作方式。在Linux系统下,启动一个新的进程必须分配给它独立的地址空间,建立众多的数据表来维护它的代码段、堆栈段和数据段,这是一种"昂贵"的多任务工作方式。而运行于一个进程中的多个线程,它们彼此之间使用 阅读全文
posted @ 2011-11-16 17:20 振乾 阅读(13444) 评论(0) 推荐(0) 编辑
摘要: 存储过程代码CREATEPROCEDUREdbo.UspOutputData@tablenamesysnameASdeclare@columnvarchar(1000)declare@columndatavarchar(1000)declare@sqlvarchar(4000)declare@xtypetinyintdeclare@namesysnamedeclare@objectIdintdeclare@objectnamesysnamedeclare@identintsetnocountonset@objectId=object_id(@tablename)if@objectIdisnul 阅读全文
posted @ 2011-11-14 17:18 振乾 阅读(590) 评论(0) 推荐(0) 编辑
摘要: HDR=NO 即无字段HDR=yes 即有字段,一般默认excel表中第1行的列标题为字段名,如姓名、年龄等还有问题IMEX有三个值0,1,2,其他两个值分别表示什么IMEX 表示是否强制转换为文本特别注意 Extended Properties='Excel 8.0;HDR=yes;IMEX=1' A:HDR ( HeaDer Row )设置 若指定值为Yes,代表 Excel 档中的工作表第一行是栏位名称 若指定值為 No,代表 Excel 档中的工作表第一行就是資料了,沒有栏位名称 B:IMEX ( IMport EXport mode )设置 IMEX 有三种模式,各自 阅读全文
posted @ 2011-11-14 15:17 振乾 阅读(747) 评论(0) 推荐(1) 编辑
摘要: 在SQL Server 中插入一条数据使用Insert语句,但是如果想要批量插入一堆数据的话,循环使用Insert不仅效率低,而且会导致SQL一系统性能问题。下面介绍SQL Server支持的两种批量数据插入方法:Bulk和表值参数(Table-Valued Parameters)。运行下面的脚本,建立测试数据库和表值参数。--Create DataBasecreate database BulkTestDB;gouse BulkTestDB;go--Create TableCreate table BulkTestTable(Id int primary key,UserName ... 阅读全文
posted @ 2011-11-14 14:02 振乾 阅读(396) 评论(0) 推荐(1) 编辑
摘要: 最近工作中写了几个存储过程,需要向存储过程中传递字符串,因为SQL Server 2000中没有内置类似于 split 的函数,只好自己处理,将前台数据集中的一列用逗号拆分存到一个List中,再转化为字符串传给存储过程,很是麻烦。今天看了下SQL Server 2008的新特性,发现有表变量的使用,及其将DataTable作为参数的用法,就尝试了一下,简单谈谈心得。 一、测试环境 1、Windows Server 2008 R2 DataCenter 2、Visual Studio 2008 Team System With SP1 3、SQL Server 2008 Enterpri... 阅读全文
posted @ 2011-11-14 13:34 振乾 阅读(336) 评论(0) 推荐(0) 编辑
摘要: 有一个查询如下:1SELECTc.CustomerId, CompanyName2FROMCustomers c3WHEREEXISTS(4SELECTOrderIDFROMOrders o5WHEREo.CustomerID = cu.CustomerID)这里面的EXISTS是如何运作呢?子查询返回的是OrderId字段,可是外面的查询要找的是CustomerID和CompanyName字段,这两个字段肯定不在OrderID里面啊,这是如何匹配的呢?EXISTS用于检查子查询是否至少会返回一行数据,该子查询实际上并不返回任何数据,而是返回值True或False。EXISTS 指定一个子查询 阅读全文
posted @ 2011-11-14 12:02 振乾 阅读(3455) 评论(0) 推荐(1) 编辑