- 博客(45)
- 资源 (5)
- 问答 (1)
- 收藏
- 关注
原创 基于组件的.NET软件开发(4)
设计示例用到的组件 创建两个VB.NET类库工程:DynamicComponent和VBDynamicComponent2,分别创建两个窗体VBForm1和VBForm2(如图6图7所示),前者放在DynamicComponent工程中,后者放在VBDynamicComponent2工程中。 分别编译生成两个DLL文件:DynamicComponent.dll和VBDynamicComponent
2009-07-30 18:13:00 563
原创 基于组件的.NET软件开发(3)
动态组件插拔 在实现动态组件插拔之前,我们必须了解一个概念:反射(Reflection)。 所谓反射,就是仅依据名字来创建一个对象。 举个例子,在上面的例子中,我可以直接给定一个字串:“ CSharpClassNameSpace.CSharpRect”,然后我就可以生成这个对象,并调用它的Area()方法求面积!其前提条件是程序能访问存放这些类的DLL文件。 好了,现在可以说说我们的构
2009-07-30 18:12:00 460 1
原创 基于组件的.NET软件开发(2)
组件的继承 前面实现的将C#组件组合进VB工程中只是牛刀小试,现在我们来实现混合语言的面向对象编程(OOP),首先,我们来尝试一下混合语言组件的继承。 新建一个VB类库工程VBComponent,在工程中按上面的方法添加对CSharpClass.dll组件的引用,然后组件中增加一个新类:ExtendsFromCSharp,它继承自C#类CSharpClass,ExtendsFromCSharp类提
2009-07-30 18:11:00 396
转载 基于组件的.NET软件开发(1)
基于组件的.NET软件开发前言随着软件技术的飞速进步,现代的大型软件都广泛采用了基于软件组件的开发方式。以成熟的CBD(Component Based Design:基于组件的系统设计)理论为指导,在对系统的分析与设计完成之后,系统开发体现为复用已有组件、开发新组件以及将所有组件装配起来的过程。J2EE大规模地使用各种组件构照复杂的企业信息系统,获得了巨大的成功。作为后来者,.NET framew
2009-07-30 18:09:00 465
原创 处理死锁
use master --必须在master数据库中创建goif exists (select * from dbo.sysobjects where id = object_id(N[dbo].[p_lockinfo]) and OBJECTPROPERTY(id, NIsProcedure) = 1)drop procedure [dbo].[p_lockinfo]GO/*--
2009-07-29 18:19:00 328
原创 树形数据分析
--测试数据 DECLARE @a TABLE(No varchar(10),Name varchar(10)) INSERT @a SELECT 101 ,现金 UNION ALL SELECT 102 ,银行存款 UNION ALL SELECT 10201,工行 UNION ALL SELECT 10202,建行 UNION ALL SELECT 10203
2009-07-29 18:11:00 448
原创 树形数据编号重排
--测试数据DECLARE @t TABLE(No varchar(10))INSERT @t SELECT 1UNION ALL SELECT 3UNION ALL SELECT 302UNION ALL SELECT 305UNION ALL SELECT 305001UNION ALL SELECT 305005UNION ALL SELECT 6UNION AL
2009-07-29 18:11:00 460
原创 树形数据层次展示
--测试数据DECLARE @t TABLE(ID char(3),PID char(3),Name nvarchar(10))INSERT @t SELECT 001,NULL ,山东省UNION ALL SELECT 002,001,烟台市UNION ALL SELECT 004,002,招远市UNION ALL SELECT 003,001,青岛市
2009-07-29 18:08:00 630
原创 复制指定节点及其子节点到指定终止节点排序法
CREATE TABLE tb(ID int,PID int,Name nvarchar(10))INSERT tb SELECT 1,NULL,山东省UNION ALL SELECT 2,1 ,烟台市UNION ALL SELECT 4,2 ,招远市UNION ALL SELECT 3,1 ,青岛市UNION ALL SELECT 5,NULL,四会市UNION
2009-07-29 18:06:00 617
原创 最短乘车线路查询
CREATE TABLE T_Line(ID nvarchar(10), --公交线路号Station nvarchar(10), --站点名称Orders int) --行车方向(通过它反应每个站的上一个、下一个站)INSERT T_Line SELECT N8路 ,N站A,1 UNION ALLSELECT N8路 ,N站B,2 UNIO
2009-07-29 18:05:00 957
原创 topn实现通用分页存储过程
CREATE PROC sp_PageView@tbname sysname, --要分页显示的表名@FieldKey nvarchar(1000), --用于定位记录的主键(惟一键)字段,可以是逗号分隔的多个字段@PageCurrent int=1, --要显示的页码@PageSize int=10,
2009-07-29 18:04:00 360
转载 排名次
--示例数据CREATE TABLE tb(Name varchar(10),Score decimal(10,2))INSERT tb SELECT aa,99UNION ALL SELECT bb,56UNION ALL SELECT cc,56UNION ALL SELECT dd,77UNION ALL SELECT ee,78UNION ALL SELECT ff
2009-07-29 17:50:00 498 1
原创 已用编号分布查询
--测试数据CREATE TABLE tb(col1 varchar(10),col2 int)INSERT tb SELECT a,2UNION ALL SELECT a,3UNION ALL SELECT a,6UNION ALL SELECT a,7UNION ALL SELECT a,8UNION ALL SELECT b,3UNION ALL SELECT b
2009-07-29 17:48:00 361
原创 自已做标识列的例子 不自动重排编号 而是自动补号
--自已做标识列的例子,不自动重排编号,而是自动补号:--创建得到最大id的函数create function f_getid()returns char(3)asbegindeclare @id intif not exists(select 1 from tb where id=001) set @id=1elsebegin select @id=max(id) from tb
2009-07-29 17:47:00 486
原创 触发器自动维护已用
--根据 table2 表中的记录变化情况,自动修改 table1 表的内容--示例--示例数据create table table1(序号 int,类别 varchar(10),起始号 char(7),终止号 char(7),总数 int,已用票号 varchar(8000),已用票数 int,结余票数 int,结余票号 varchar(8000),组合编号 varchar(20))insert
2009-07-29 17:43:00 488
原创 巧用SQL实现连续编号
select id=a.id+b.id+c.id+d.idfrom( select id=0 union all select 1 union all select id=2 union all select 3 union all select id=4 union all select 5 union all select id=6 union all select 7
2009-07-29 17:41:00 726
原创 分段更新
if exists (select * from dbo.sysobjects where id = object_id(N[dbo].[f_SetStr]) and xtype in (NFN, NIF, NTF))drop function [dbo].[f_SetStr]GO--分段截取函数CREATE FUNCTION dbo.f_SetStr(@s varchar(800
2009-07-29 17:39:00 456
原创 开票统计涉及到连号处理
/* 开票统计--涉及到连号处理*/create table #tb(th int,time datetime,userintime datetime,outtime datetime ,userid varchar(4),ph int)insert into #tb select 2,2002-8-24 8:15:07,8:15:07,null,4002,Null
2009-07-29 17:39:00 774
原创 日期格式化
DECLARE @dt datetimeSET @dt=GETDATE()--1.短日期格式:yyyy-m-dSELECT REPLACE(CONVERT(varchar(10),@dt,120),N-0,-)--2.长日期格式:yyyy年mm月dd日 --A. 方法1 SELECT STUFF(STUFF(CONVERT(char(8),@dt,112),5,0,N年),8,0,N
2009-07-29 17:38:00 413
原创 字符串IP地址转换成IP数值函数
if exists (select * from dbo.sysobjects where id = object_id(N[dbo].[f_IP2Int]) and xtype in (NFN, NIF, NTF))drop function [dbo].[f_IP2Int]GO--1. 字符串IP地址转换成IP数值函数。CREATE FUNCTION dbo.f_IP2Int(
2009-07-29 17:38:00 1694
原创 日期推算
DECLARE @dt datetimeSET @dt=GETDATE()DECLARE @number intSET @number=3--1.指定日期该年的第一天或最后一天--A. 年的第一天SELECT CONVERT(char(5),@dt,120)+1-1--B. 年的最后一天SELECT CONVERT(char(5),@dt,120)+12-31--2.指定日期所在季度的第一
2009-07-29 17:37:00 510
原创 计算两个日期之间的工作时间
if exists (select * from dbo.sysobjects where id = object_id(N[tb_worktime]) and OBJECTPROPERTY(id, NIsUserTable) = 1)drop table [tb_worktime]GO--定义工作时间表CREATE TABLE tb_worktime( ID int i
2009-07-29 17:36:00 655
原创 查询 2003-12-05 至 2004-02-28 生日的记录
--测试数据DECLARE @t TABLE(ID int,Name varchar(10),Birthday datetime)INSERT @t SELECT 1,aa,1999-01-01UNION ALL SELECT 2,bb,1996-02-29UNION ALL SELECT 3,bb,1934-03-01UNION ALL SELECT 4,bb,19
2009-07-29 17:35:00 501
原创 计算两个日期相差的工作天数
if exists (select * from dbo.sysobjects where id = object_id(N[dbo].[f_WorkDay]) and xtype in (NFN, NIF, NTF))drop function [dbo].[f_WorkDay]GO--计算两个日期相差的工作天数CREATE FUNCTION f_WorkDay(@dt_begi
2009-07-29 17:35:00 555
原创 生成指定年份的工作日/休息日列表
if exists (select * from dbo.sysobjects where id = object_id(N[dbo].[f_getdate]) and xtype in (NFN, NIF, NTF))drop function [dbo].[f_getdate]GO/*--生成日期列表 生成指定年份的工作日/休息日列表--邹建 2003.12(引用
2009-07-29 17:33:00 592
原创 对于日期指定部分的加减 使用DATEADD函数就可以轻松实现
if exists (select * from dbo.sysobjects where id = object_id(N[dbo].[f_DateADD]) and xtype in (NFN, NIF, NTF)) drop function [dbo].[f_DateADD]GO/*--特殊日期加减函数 对于日期指定部分的加减,使用DATEADD函数就可以轻松实
2009-07-29 17:32:00 764
原创 声成查询的模糊匹配字符串
if exists (select * from dbo.sysobjects where id = object_id(N[dbo].[f_Sql]) and xtype in (NFN, NIF, NTF))drop function [dbo].[f_Sql]GOif exists (select * from dbo.sysobjects where id = object
2009-07-29 17:30:00 368
原创 -比较第一与第二个字符串,是否有连续的5个字符相同,如果有
--比较第一与第二个字符串,是否有连续的5个字符相同,如果有,返回1,否则返回0if exists (select * from dbo.sysobjects where id = object_id(N[dbo].[f_compstr]) and xtype in (NFN, NIF, NTF))drop function [dbo].[f_compstr]GOif exists
2009-07-29 17:29:00 730
原创 随机出题
--题库表结构CREATE TABLE tb(ID int PRIMARY KEY, --题目IDType int, --题型col1 varchar(10)) --其他需要的字段INSERT tb SELECT 1,1,试题1UNION ALL SELECT 2,1,试题2UNION ALL SELECT 3,3,试题3UNION ALL SELECT 4,3
2009-07-29 17:25:00 753
原创 使用UNION做进销存报表
--期初数据DECLARE @stock TABLE(id int,num decimal(10,2))INSERT @stock SELECT 1,100 UNION ALL SELECT 3,500UNION ALL SELECT 4,800--入库数据DECLARE @in TABLE(id int,num decimal(10,2))INSERT @in SELECT 1,
2009-07-29 17:23:00 618
原创 同期及上期数据对比显示
--雇员数据CREATE TABLE Employee(ID int, --雇员编号(主键)Name nvarchar(10), --雇员名称Dept nvarchar(10)) --所属部门INSERT Employee SELECT 1,N张三,N大客户部UNION ALL SELECT 2,N李四,N大客户部UNION ALL
2009-07-29 17:20:00 3509
原创 化解字符串不能超过8000的方法
/*--化解字符串不能超过8000的方法 经常有人提到,用动态生成SQL语句的方法处理数据时,处理语句超长,无法处理的问题 下面就讨论这个问题:--邹建 2003.9(引用请保留此信息)--*//*-- 测试环境--以系统表 syscolumns 为测试数据,要求按xtype为列字段,name为行字段,统计colid的和--要求结果xtype filedname_1 fie
2009-07-29 17:14:00 703
原创 XML与DB交互的另外一种方法(SqlBlueCopy)
1、从DB到XML String sConnection = "Data Source=192.168.0.8;Initial Catalog=DB;User ID=sa;PassWord=Hy@ecSun.cn"; SqlDataAdapter mySqlDataAdapter = new SqlDataAdapter("select TOP 100 * from TB_spb
2009-07-28 12:07:00 718
原创 access最快速的批量导入SQL的方法 使用SqlBulkCopy
access最快速的批量导入SQL的方法 使用SqlBulkCopy2008-11-22 23:51string filename = DateTime.Now.ToString("yyyyMMdd") + ".mdb"; string tablename = DateTime.Now.ToString("yyyyMMdd"); if (
2009-07-27 18:48:00 6806 1
原创 采用SqlBulkCopy向数据库批量插入数据(大数据效果显著)
在我们平时的开发过程中,经常要向数据库插入数据,有时可能要进行很多次类似的操作,比如向数据库中的同一个表同时插入若干数据,即批量插入数据。向数据库中批量插入数据,可以将若干条数据一次插入道数据库,提高程序的执行效率,也可以减少我们的工作量。批量插入数据,可以采用一下两种方法。一、利用事务(transaction)‘定义执行批量插入数据的函数,参数为insert SQL语句的数组
2009-07-27 18:47:00 1492
原创 net2.0中使用SqlBulkCopy进行大批量数据迁移
在.Net1.1中无论是对于批量插入整个DataTable中的所有数据到数据库中,还是进行不同数据源之间的迁移,都不是很方便。而在.Net2.0中,SQLClient命名空间下增加了几个新类帮助我们通过DataTable或DataReader批量迁移数据。数据源可以来自关系数据库或者XML文件,甚至WebService返回结果。其中最重要的一个类就是SqlBulkCopy类,使用它可以很方便的帮助
2009-07-27 18:46:00 434
原创 .net2.0中使用SqlBulkCopy进行大批量数据迁移(1)
在.Net1.1中无论是对于批量插入整个DataTable中的所有数据到数据库中,还是进行不同数据源之间的迁移,都不是很方便。而在.Net2.0中,SQLClient命名空间下增加了几个新类帮助我们通过DataTable或DataReader批量迁移数据。数据源可以来自关系数据库或者XML文件,甚至WebService返回结果。其中最重要的一个类就是SqlBulkCopy类,使用它可以很方便的帮
2009-07-27 18:45:00 551
原创 sqlbulkcopy 转移大数据
sqlbulkcopy 转移大数据2009-05-07 13:27// 汇入命名空间。using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.W
2009-07-27 18:42:00 566
原创 将大容量数据插入DB
http://cache.baidu.com/c?m=9d78d513d9d430ad4f99e4697b17c017184381136c908e4c68d4e213cf250c010171e2cb30526613a0b56b6671e51602fdf14665410737c199df893acacb953f5e8e3035000bf64705a718b8ba4132b553875b99b868e
2009-07-27 18:38:00 431
原创 使用ADO.NET2.0提升数据交互性能 使用SqlBulkCopy批量写入数据库
四:使用SqlBulkCopy批量装载数据(仅限SqlClient) 以往访问 SQL Server 2000 时,若有大量的数据记录需要添加到数据库内,例如从主机系统或是 NCR Teradata、Oracle等数据库系统下载大量数据记录,我们想要将它们快速添加到 SQL Server 2000中,可以有的选择是调用 T-SQL 的 Bulk Insert 语法、通过Linked Serve
2009-07-27 18:30:00 1250
关于C# 操作XML文件问题
2016-03-13
TA创建的收藏夹 TA关注的收藏夹
TA关注的人