代码改变世界

C#装箱和取消装箱

2011-10-13 14:43 by Eric.Hu, 709 阅读, 0 推荐, 收藏, 编辑
摘要:装箱是将值类型转换为 object 类型或由此值类型实现的任一接口类型的过程。当 CLR 对值类型进行装箱时,会将该值包装到 System.Object 内部,再将后者存储在托管堆上。取消装箱将从对象中提取值类型。在下面的示例中,整型变量 i 装箱并赋给对象 o。int i = 123;object o = (object)i; // boxingo = 123;i = (int)o; // unboxing相对于简单的赋值而言,装箱和取消装箱过程需要进行大量的计算。对值类型进行装箱时,必须分配并构造一个新对象。次之,取消装箱所需的强制转换也需要进行大量的计算。装箱用于在垃圾回收堆中存储... 阅读全文

如何:显示命令行参数 (两种方法)

2011-10-12 14:00 by Eric.Hu, 794 阅读, 0 推荐, 收藏, 编辑
摘要:说明:调试方法一 :在 Visual Studio 中运行应用程序时,可以在“项目设计器” ->“调试”页中指定命令行参数。调试方法二:在命令提示行下运行程序,在程序名后以空格分割参数方法一 :可以通过 Main 的可选参数来访问通过命令行提供给可执行文件的参数。参数以字符串数组的形式提供。数组的每个元素都包含一个参数。参数之间的空白被移除。例如,下面是对一个假想的可执行文件的命令行调用:classCommandLine{staticvoidMain(string[]args){//TheLengthpropertyprovidesthenumberofarrayelementsSyst 阅读全文

C#命令行参数

2011-10-12 13:28 by Eric.Hu, 964 阅读, 0 推荐, 收藏, 编辑
摘要:Main 方法可以使用参数,在这种情况下它采用下列形式之一:static int Main(string[] args)static void Main(string[] args)若要在 Windows 窗体应用程序中的 Main 方法中启用命令行参数,必须手动修改 program.cs 中 Main 的签名。Windows 窗体设计器生成的代码创建没有输入参数的 Main。也可以使用 Environment..::.CommandLine 或 Environment..::.GetCommandLineArgs 从控制台或 Windows 应用程序中的任何位置访问命令行参数。Mai... 阅读全文

C# 程序的通用结构

2011-10-12 12:48 by Eric.Hu, 232 阅读, 0 推荐, 收藏, 编辑
摘要:C# 程序可由一个或多个文件组成。每个文件都可以包含零个或零个以上的命名空间。一个命名空间除了可包含其他命名空间外,还可包含类、结构、接口、枚举、委托等类型。以下是 C# 程序的主干,它包含所有这些元素。//AskeletonofaC#programusingSystem;namespaceYourNamespace{classYourClass{}structYourStruct{}interfaceIYourInterface{}delegateintYourDelegate();enumYourEnum{}namespaceYourNestedNamespace{structYour.. 阅读全文

如何:创建和使用 C# DLL类库文件

2011-10-12 12:46 by Eric.Hu, 2537 阅读, 0 推荐, 收藏, 编辑
摘要:动态链接库 (DLL) 在运行时链接到程序。为说明如何生成和使用 DLL,请看以下方案: MathLibrary.DLL:为库文件,其中包含运行时要调用的方法。此例中,DLL 包含两个方法:Add 和 Multiply。 Add.cs:为源文件,其中包含 Add(long i, long j) 方法。该方法返回参数之和。包含 Add 方法的 AddClass 类是命名空间 UtilityMethods 的成员。 Mult.cs:为源文件,其中包含 Multiply(long x, long y) 方法。该方法返回参数之积... 阅读全文

c#操作Access (下)

2011-10-01 01:17 by Eric.Hu, 335 阅读, 0 推荐, 收藏, 编辑
摘要:介绍之前先介绍一个结构体。因为以下函数都要用到这个结构体。view plain//普通的节点publicstructNode{privatestringnodeType;publicstringNodeType//表的字段名{set{nodeType=value;}get{returnnodeType;}}privatestringnodeValue;publicstringNodeValue//具体的值{set{nodeValue=value;}get{returnnodeValue;}}}//照片节点publicstructPictureNode{privatestringnodeType 阅读全文

c#操作Access (上)

2011-10-01 01:16 by Eric.Hu, 717 阅读, 0 推荐, 收藏, 编辑
摘要:创建mdb创建table读取table内容查询table中的内容向table中插入数据删除table中的记录向table中插入照片读取table中的照片等。另:本人水平有限,不当之处还请斧正。废话少说,开始正题。文介绍C#访问操作Access数据库的基础知识,并提供一个相关的例程。C#的ADO.NET还不能通过编程方式创建全新的ACCESS(MDB)数据库,所以还只能使用ADOX这个来自COM的链接库来操作。主要知识点如下:using System.Data.OleDb;using System.Data;连接字符串:String connectionString = "Provid 阅读全文

MSSQL存储过程详解[转]

2011-09-26 11:01 by Eric.Hu, 1630 阅读, 2 推荐, 收藏, 编辑
摘要:SQL Server 存储过程详解存储过程的优缺点 ◆优点: 执行速度更快。存储过程只在创造时进行编译,而一般SQL语句每执行一次就编译一次,所以使用存储过程执行速度更快。 存储过程用于处理复杂的操作时,程序的可读性更强、网络的负担更小。 使用存储过程封装事务性能更佳。 能有效的放注入,安全性更好。 可维护性高,在一些业务规则发生变化时,有时只需调整存储过程即可,而不用改动和重编辑程序。 更好的代码重用。 ◆ 缺点: 存储过程将给服务器带来额外的压力。 存储过程多多时维护比较困难。 移植性差,在升级到不同的数据库时比较困难。 调试麻烦,SQL语言的处理功能简单。 总... 阅读全文

关于面向对象的面试题

2011-09-21 16:45 by Eric.Hu, 432 阅读, 0 推荐, 收藏, 编辑
摘要:题目:在一个农场里有农场主和奶牛,农场主每天为奶牛挤奶;现在把农场主和奶牛分别看作是一个对象,你认为应该把挤奶这个属性分配农场主还是分配给奶牛比较合理?首先这是一道关于面向对象编程的问题,主要考察你对面向对象的理解程度,所以应该用面向对象的思维方式来思考这个问题观点不外乎有以下两种:观点1:分配给农场主;观点2:分配给奶牛;首先我们来看第一种观点:这种观点认为“挤奶”这个过程是由农场主来完成的,所以理所当然应该是农场主的属性。如果你这样想的话那就中了主考官设下的圈套,其实这道题目真正考察的是当是你设计程序的时候有没有考虑到它的可维护性和扩展性;其实完全可以把这个问题抽象成另外一种模型:“挤奶” 阅读全文

用javascript调用.net webservices实例 [转]

2011-09-21 16:42 by Eric.Hu, 236 阅读, 0 推荐, 收藏, 编辑
摘要:用javascript调用webservices 是项目开发当中的一项非常实用的技术。下面我们就以两个数的加法为例说明如何使用javascript调用.net web服务。首先有一个.net web服务,实现的功能为接收两个参数,做加法运算,并将结果返回。webservice实现加法的方法如下: [WebMethod] public double Add(double a,double b) { //简单的web服务 return a+b; }默认的web服务是不能被javascript调用的,因为默认的web服务只支持POST方式,不支持GET方式。所以必须在web.config手动添加添加 阅读全文

游标定义

2011-09-06 15:04 by Eric.Hu, 187 阅读, 0 推荐, 收藏, 编辑
摘要:游标定义declare@salaryitemidintdeclaresalaryitem_cursorcursorforselectsalaryitemidfrompayroll.salaryitemwherecompanyid=@companyidorderbysalaryitemidopensalaryitem_cursorfetchnextfromsalaryitem_cursorinto@salaryitemwhile(@@fetch_status<>-1)begin-----------fetchnextfromsalaryitem_cursorinto@salaryit 阅读全文

SQL XML的exist操作

2011-09-06 09:52 by Eric.Hu, 488 阅读, 0 推荐, 收藏, 编辑
摘要:--创建测试数据库CREATEDATABASEmytest;GOUSEmytest;GO--创建测试表CREATETABLEUsers(IDINTIDENTITY(1,1),UserInfoXML)/*****************XML的Exist操作*****************************/---插入测试数据DECLARE@xmlXMLSET@xml='<root><userid="1"><userid>001</userid><userName>test1</userName 阅读全文

SQL XML的Replace操作

2011-09-06 09:51 by Eric.Hu, 1447 阅读, 0 推荐, 收藏, 编辑
摘要:SQL XML的Replace操作--创建测试数据库CREATEDATABASEmytest;GOUSEmytest;GO--创建测试表CREATETABLEUsers(IDINTIDENTITY(1,1),UserInfoXML)/*****************XML的Replace操作*****************************/---插入测试数据DECLARE@xmlXMLSET@xml='<root><userid="1"><userid>1</userid><userName>t 阅读全文

SQL XML的查询操作

2011-09-06 09:50 by Eric.Hu, 604 阅读, 1 推荐, 收藏, 编辑
摘要:SQL XML的查询操作查询XML节点value:通过nodes指定到节点通过Value属性取出值Declare@Xmlxmlset@Xml='<Employee><ID>1</ID><ID>2</ID></Employee>'SELECTID.value('.','Nvarchar(500)')asEmployeeIDFROM@Xml.nodes('Employee/ID')Employee(ID)查询XML节点的属性:Declare@Xmlxmlset@X 阅读全文

SQL XML的insert操作

2011-09-06 09:48 by Eric.Hu, 3728 阅读, 0 推荐, 收藏, 编辑
摘要:SQL XML的insert操作--创建测试数据库CREATEDATABASEmytest;GOUSEmytest;GO--创建测试表CREATETABLEUsers(IDINTIDENTITY(1,1),UserInfoXML)/*****************插入单节点*****************************/---插入测试数据DECLARE@xmlXMLSET@xml='<root><user><userid>1</userid><userName>test1</userName>< 阅读全文

SQL XML类型的删除

2011-09-06 09:32 by Eric.Hu, 410 阅读, 0 推荐, 收藏, 编辑
摘要:SQL XML类型的删除--创建测试数据库CREATEDATABASEmytest;GOUSEmytest;GO--创建测试表CREATETABLEUsers(IDINTIDENTITY(1,1),UserInfoXML)/*****************删除节点属性*****************************/---插入测试数据DECLARE@xmlXMLSET@xml='<root><userid="1">text<userid>1</userid><userName>test1< 阅读全文

SQL取出每类商品的前十条记录

2011-09-06 08:57 by Eric.Hu, 984 阅读, 0 推荐, 收藏, 编辑
摘要:取出每个分类的TOP 10,现提供一种比较方便的方法。示例数据库:AdventureWorks比如:取出每个商品分类中最近发布的10条记录1useadventureworks2go3select*from4(5SELECTROW_NUMBER()OVER(PARTITIONBYProductSubcategoryIDORDERBYModifiedDateDESC)ASRowNumber,ProductID,Name,ProductSubcategoryID,ModifiedDateFROMProduction.ProductWHEREProductSubcategoryIDISNOTNULL6 阅读全文

SQL Server 2008 Reporting services 配置管理--WEB服务

2011-09-05 15:51 by Eric.Hu, 7310 阅读, 3 推荐, 收藏, 编辑
摘要:对于sql server 2008的报表管理已经与IIS分离 ,因此减少了我们配置IIS的麻烦,以下是我配置RS2008的 web服务过程:配图:1.找到并打开 Reporting Services管理配置:图1.2.连接报表服务器:3.配置服务账户:如果是单机用户建议选择Network services,后边附有参考说明;如果是win7用户,需要开启Administrator账户,并设置密码.之所以开启administrator账户后边会有说明.4.配置数据库:5.打开web服务的url管理:http://erichu-pc/ReportS 使用administrator账户添加本地账户:. 阅读全文

将查询结果插入表中

2011-08-28 21:01 by Eric.Hu, 328 阅读, 0 推荐, 收藏, 编辑
摘要:将查询结果插入新表中:select distinct * into #tmp from tb_old将查询结果插入已存在的表中insert into tb_old1 (col_1,col_2) select col_1,col_2 from tb_old2 阅读全文

sql语法语句大全

2011-08-15 17:19 by Eric.Hu, 201 阅读, 0 推荐, 收藏, 编辑
摘要:, --语 句 功 能--数据操作SELECT --从数据库表中检索数据行和列INSERT --向数据库表添加新数据行DELETE --从数据库表中删除数据行UPDATE --更新数据库表中的数据--数据定义CREATE TABLE --创建一个数据库表DROP TABLE --从数据库中删除表ALTER TABLE --修改数据库表结构CREATE VIEW --创建一个视图DROP VIEW --从数据库中删除视图CREATE INDEX --为数据库表创建一个索引DROP INDEX --从数据库中删除索引CREATE PROCEDURE --创建一个存储过程DROP PROCEDURE 阅读全文