随笔分类 -  C#.Net

摘要:【编程环境】Visual Studio 2010, NET4.0【开发语言】C#, 理论上VB.NET等依赖.NET Framework框架的语言均受此影响【问题描述】使用HttpWebRequest抓取网页内容,但首次请求总是莫名奇妙的阻塞在Request.GetResponse();上,不过一旦... 阅读全文
posted @ 2015-05-22 10:16 AnyDrew 阅读(3680) 评论(0) 推荐(0) 编辑
摘要:啥都不说,先上效果图:这是一个网上的第三方组件,原版是php的,我用.NET重写了图片上传的处理,下面贴上代码using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.I... 阅读全文
posted @ 2015-02-01 13:57 AnyDrew 阅读(304) 评论(0) 推荐(0) 编辑
摘要:今天朋友问了我一个奇怪的需求:项目中要求图片上传到工作目录,上传后要在网页中通过显示出来。图片上传后显示,在开发中常见的做法是将它图片上传到网站目录下(upload/),如果保存到别的目录(如:d:/upload),再用 是找不到图片的。想到了两种解决方法:第一种:给路径加上"file://" (... 阅读全文
posted @ 2015-01-31 18:07 AnyDrew 阅读(3091) 评论(0) 推荐(0) 编辑
摘要:无刷新分页要用到自己定义的存储过程:alter proc usp_DivMemberByPage@pageIndex int,@pageSize int,@total int output //注意:这里不要忘记outputasbegin select * from ( s... 阅读全文
posted @ 2014-12-04 19:21 AnyDrew 阅读(236) 评论(0) 推荐(0) 编辑
摘要:原来学程序就是玩儿,今天上陈老师的课,他说浙大的几个学生智力水平和我们差不多,但是他们非常自信,语言对他们来说就是一种工具,他们学的不是语言而是思想。他们很有节制,做事很有规律,说做就做,绝对不会半途而废,我想这就是成功的关键吧。我要彻底颠覆原先的学习模式,从填鸭式学习改为探索式学习,学完基础知识以... 阅读全文
posted @ 2014-09-12 12:08 AnyDrew 阅读(189) 评论(0) 推荐(0) 编辑
摘要:DataGridView控件是微软预先写好的一个显示数据的控件,功能非常强大,可以显示来自数据库表的数据和XML等其他来源的数据。最近在做一个迷你超市管理系统,要大量用到这个控件。所以花时间好好研究了下。这是迷你超市管理系的库存数据DataGridView,用户一定会想如果能直接在DGV中修改数... 阅读全文
posted @ 2014-06-18 20:19 AnyDrew 阅读(22036) 评论(1) 推荐(2) 编辑
摘要:前一阵子在项目中添加了IrisSkin2皮肤控件,今天用VS打开悲剧了。提示"类型Universe无法解析程序集:System.Design,Version=2.0.0.0,Culture=neutral,PublickeyToken=b03f5f7f11d50a3a"。这是因为vs2010新建工程... 阅读全文
posted @ 2014-06-02 11:47 AnyDrew 阅读(1131) 评论(0) 推荐(0) 编辑
摘要:我们的程序课只关心能不能把一个功能实现。不会关注怎么实现以及背后的原理。我坚信性能非常重要,给客户做项目,三天两头出问题,动不动系统崩溃。写出来的网站访问量一大就报503.经常遭到黑客攻击,资料被改得面目全非。后果很严重。举几个个课堂例子说明此原则://字符串拼接下面是课堂上的代码string ... 阅读全文
posted @ 2014-05-21 22:58 AnyDrew 阅读(1434) 评论(0) 推荐(0) 编辑
摘要:--HeShiwei 2014-5-15什么是SQL注入 SQL注入,指的是用户通过向登录框输入恶意字符,利用代码的字符串拼接漏洞进行网站注入攻击,最终导致整个网站用户表信息泄露的攻击方式。黑客就是利用了程序员的字符串拼接sql语句。这个漏洞在几年前很流行,因为利用它实在是太简单。随着近几年程序员安... 阅读全文
posted @ 2014-05-15 18:28 AnyDrew 阅读(1001) 评论(0) 推荐(0) 编辑
摘要:如何在窗体之间传值 1.可以使用构造静态类作为“中间件”static class Record{ //静态类里存放需要共享的值} 2.可以自定义一个窗体构造函数,达到传值的目的//定义要传递的值private int id;private string name;//自己写一个构造... 阅读全文
posted @ 2014-05-12 13:25 AnyDrew 阅读(370) 评论(0) 推荐(0) 编辑
摘要:从这个小案例我学到了不少知识。这些无论如何无法从书里得来。正所谓实践出真知,学习编程需要大量实践这句话永不过时。 首先:好的代码和坏的代码带来的性能上的差异很明显。好的策略可以让你的程序运行速度大大加快。而差的代码则能让你的程序直接卡死。 这是我写的递归填充TreeView: p... 阅读全文
posted @ 2014-05-03 17:44 AnyDrew 阅读(518) 评论(0) 推荐(0) 编辑
摘要:之前写的一篇数据库查询的一般写法:从登陆验证小案例中得到的一些启示和经验。是有点问题的。问题在于判断15分钟内密码错误的代码。原代码如下://使用using对SqlDataReader进行资源管理 using (SqlDataReader dr = cmd.Ex... 阅读全文
posted @ 2014-05-03 13:38 AnyDrew 阅读(372) 评论(0) 推荐(0) 编辑
摘要:SqlHelper是一个执行数据库操作的助手类,但是当我们没学过DataSet之前,要想使用using搭配SqlConnection和SqlCommand写出一个真正独立的SqlHelper都是不太可能的。比如:一个常规的ExecuteReader方法如果使用上述做法,代码如下:using Syst... 阅读全文
posted @ 2014-05-03 00:00 AnyDrew 阅读(501) 评论(0) 推荐(0) 编辑
摘要:提示:(已对此文部分代码做出更正,请参见:更正之前《登录小案例》密码错3次15分钟内不准登录的代码逻辑)这几天做了一个登陆验证的案例,主要功能就是:用户输入密码进行登陆,如果输错密码三次则15分钟内不能登陆。这个案例确实不复杂,但是其中的逻辑第一次理解确实很别扭。从这个小案例中,我得到了几个启示,并... 阅读全文
posted @ 2014-05-02 18:13 AnyDrew 阅读(1372) 评论(0) 推荐(0) 编辑
摘要:简单的便签工具:实现了基于文本的便签信息的浏览,删除,添加。可以查看时间,实时更新数据。这个便签工具完全基于面向对象的编程方式,首先定义Note类,然后使用NoteManager类进行便签的管理。其中的关键就是在NoteManager类中定义list泛型集合。原理上和ArrayList基本是一致的。... 阅读全文
posted @ 2014-05-02 12:28 AnyDrew 阅读(269) 评论(0) 推荐(0) 编辑
摘要:从文本文件添加到数据库用户表的记录(有两个文件:frmMain.cs SqlHelper.cs )//FrmMain.cs//作者:Meusing System;using System.Collections.Generic;using System.ComponentModel;using Sy... 阅读全文
posted @ 2014-05-01 20:04 AnyDrew 阅读(1653) 评论(0) 推荐(0) 编辑
摘要:通过.NET反编译工具可以查看到ArrayList内部的代码,发现ArrayList并非由链表实现,而是由一个不断扩容的数组对象组成。下面模仿ArrayList写一个自己的MyArrayList。using System;using System.Collections.Generic;using ... 阅读全文
posted @ 2014-04-14 22:23 AnyDrew 阅读(594) 评论(0) 推荐(0) 编辑
摘要:本文导读:C# 中==是用来判断变量的值是否相等,相等返回true,不相等返回false。Equals是用来判断两个对象(除string类型外)是否相等,相等的 条件是:值,地址,引用全相等,因为String类重写了Equals方法,所以当string类型的对象用Equals方法比较时只比较两个对象的值相 等返回true,不相等返回false。C# 中有两种不同的相等:引用相等和值相等。 ◎值相等是大家普遍理解的意义上的相等:它意味着两个对象包含相同的值。 ◎引用相等意味着要比较的不是两个对象,而是两个对象引用,且两者引用的是同一个对象。 Equals: 下面的语句中,x、y 和 z 表... 阅读全文
posted @ 2014-03-14 15:38 AnyDrew 阅读(628) 评论(0) 推荐(0) 编辑
摘要:StringBuilder对象通过上面的分析可以看出,String类型在做字符串的连接操作时,效率是相当低的,并且由于每做一个连接操作,都会在内存中创建一个新的对象,占用了大量的内存空间。这样就引出StringBuilder对象,StringBuilder对象在做字符串连接操作时是在原来的字符串上进行修改,改善了性能。这一点我们平时使用中也许都知道,连接操作频繁的时候,使用StringBuilder对象。但是这两者之间的差别到底有多大呢?来做一个测试:1using System;2using System.Text;34namespace Demo55{6 /**//// 7 /// Stri 阅读全文
posted @ 2014-03-14 15:01 AnyDrew 阅读(199) 评论(0) 推荐(0) 编辑
摘要:字符串驻留看一下这段代码:1using System;23namespace Demo44{5 /**//// 6 /// String的驻留7 /// 8 public class Test9 {10 public static void Main(string[] args)11 {12 string a = "1234";13 string s = "123";14 s += "4";1516 string b = s;17 string c = String.Intern(s);1819 Console.WriteLine(( 阅读全文
posted @ 2014-03-14 15:00 AnyDrew 阅读(196) 评论(0) 推荐(0) 编辑