摘要: 1.const 表示的是常量(constant),始终不会发生改变,在编译时就确定了。所以类中定义一个常量可以被类访问也可以被类的实例访问。定义时就不能和static一起用。如果用了也是没有作用的,所以语法就规定其是无效的。在声明时同时初期化。 private const string Name=... 阅读全文
posted @ 2014-06-02 14:36 niaomingjian 阅读(179) 评论(0) 推荐(0) 编辑
摘要: 从表中选择数据再插入到表中(select XXX into 与insert into XXX select的结合)在做性能测试时需要大量的业务数据。完全从画面造数据比较费时间,使用SQL文批量插入数据相对来讲就快很多,但是毕竟是手动插入的与实际数据的分布规律有一些差距。可以以表中已经存在的数据为基础造数据插入到原表中。从表中选择数据再插入到表中有什么好方法呢?使用Select XXX into本来是个好方法。但是由于表中是有主键的,不能直接把检索到的行数据一股脑地插入到表中,需要更改主键的值,否则违背主键约束。声明变量,将表中的数据检索放到变量中再使用Insert语句插入。如果一个表中有上百的 阅读全文
posted @ 2014-04-09 20:43 niaomingjian 阅读(911) 评论(0) 推荐(0) 编辑
摘要: 一、检索某个表中所有列的名称SELECT name FROM syscolumnsWHERE ID = OBJECT_ID('Departments')syscolumns (sys.syscolumns)是一张系统视图。OBJECT_ID()函数返回数据库对象的ID。根据ID从syscolumns... 阅读全文
posted @ 2014-04-02 21:39 niaomingjian 阅读(304) 评论(0) 推荐(0) 编辑
摘要: 检索一个表中的部分行存到另一张表中。一 、另外的那张表没有新建的时候,使用select XXX into,创建的表与原表有相同的列名和类型:select *into Departments_Copyfrom Departmentswhere Departments.ID>100二、另外的那张表已经新... 阅读全文
posted @ 2014-04-02 19:50 niaomingjian 阅读(683) 评论(0) 推荐(0) 编辑
摘要: 1.一直以为,MouseClick事件在鼠标点击时发生,MouseDoubleClick事件在鼠标双击时发生。那么在单击鼠标时会调用MouseClick事件处理程序,双击鼠标时会调用MouseDoubleClick事件处理程序。现在发现,在双击时会调用MouseClick事件一次,调用MouseDoubleClick事件一次。而不是只调用MouseDoubleClick事件一次,也不是会调用MouseClick事件两次。 阅读全文
posted @ 2014-03-07 21:31 niaomingjian 阅读(240) 评论(0) 推荐(0) 编辑
摘要: Array类是C#中所有自定义类型数组的抽象类。这种自定义类型数组可以像String类型一样进行排序。这种排序的方法C#在基础类库中已经实现了,并且向外提供了可用的接口。只要按照C#中提供的方法就可以方便地实现自定义数组的排序。方式一:自定义类Person如下,想实现先按FirstName排序,再按LastName排序。如果Person类的代码可以修改的话,只要让Person类继承IComparable接口或IComparable接口。该接口只提供了一个方法CompareTo(T),用这个方法返回一个Int值用以说明比较对象的大小。方法内的代码就是自定义的排序规则。class Person . 阅读全文
posted @ 2014-01-16 21:34 niaomingjian 阅读(2763) 评论(0) 推荐(1) 编辑
摘要: C#中资源分为托管资源和非托管资源。托管资源由垃圾回收器控制如何释放,不需要程序员过多的考虑(当然也程序员也可以自己释放)。非托管资源需要自己编写代码来释放。那么编写好的释放非托管资源的代码(释非代码)由谁来调用呢。有两种实现方式: 一 将释非代码放到构造函数析构函数中,由系统自动调用,系统会... 阅读全文
posted @ 2014-01-12 16:37 niaomingjian 阅读(4706) 评论(0) 推荐(1) 编辑
摘要: 问题描述:从数据库读取出来的表数据赋给到了DataTable上,将DataTable中数据显示到DataGridView中时希望在DataGridView的第一列显示一列。解决方法:DataTable table=GetData(...);table.Columns.Add("No", typeof(Int32)).SetOrdinal(0);说明:DataColumn有SetOrdinal()方法,将该列添加到首列。 阅读全文
posted @ 2013-11-27 20:25 niaomingjian 阅读(555) 评论(0) 推荐(0) 编辑
摘要: 问题描述:在VS中的窗体设计器中拖放一个ComboBox控件后想调整控件的大小。发现在控件上用鼠标只能拖动宽度(Width)无法拖动(Height)。解决过程:1.控件无法拖动,就在属性窗口中设置Size属性。但是无法更新Height。2.网上搜索发现,调整ComboBox等一些控件的大小时需要在Font属性中Size的大小才可以。待解决问题:为什么控件的大小需要通过调整字体的大小的属性才能更改呢? 阅读全文
posted @ 2013-11-27 19:48 niaomingjian 阅读(3648) 评论(0) 推荐(1) 编辑
摘要: 反编译工具查看基础库源码,绘制简单的UML图1.Stream抽象类 派生出①FileStream、②BufferedStream、③MemoryStream类等①FileStream类有byte[] _buffer私有字段,应该是用来存储获取的数据。根据参数的不同,构造函数分为两类,一类是从路径构造(string path),另一类是从句柄构造(IntPtr handle)。FileStream类可以理解为从磁盘上的文件创建了流。 ②BufferedStream类有byte[] _buffer私有字段,还有Stream _s私有字段。_buffer应该是用来存储获取的数据,而_s是Buffer 阅读全文
posted @ 2013-04-23 14:20 niaomingjian 阅读(293) 评论(0) 推荐(0) 编辑