Elijah

治愈系代码研究基地
  首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

11 2011 档案

摘要:花了两天的时间搞的这个,写这个东西目的就是要搞清楚ASP.Net的运作原理。这个山寨服务器的界面很简单,三个文本框,写IP、端口,还有一个显示报文。一个连接按钮。窗体嘛...就叫Form1吧。代码比较冗长...第一步: 1 //搭建好窗口,为了防止意外,先: 2 public Form1() 3 { 4 Control.CheckForIllegalCrossThreadCalls = false; 5 InitializeComponent(); 6 } 7 //全局线程th用于监听,当窗口关闭时, 8 private void Form1_FormClosing(objec... 阅读全文

posted @ 2011-11-30 21:53 Elijah 阅读(1028) 评论(0) 推荐(0)

摘要:Socket可以理解成一个IP地址加一个端口,构成的一个“插座”...的确这个词很形象,有了它,我们就相当于给程序上打了个插槽,于是其他程序就可以通过网络“插”进来了~在客户端上我们只需要一个Socket,但是在服务端上,我们需要用一个Socket来监视某端口,然后根据来访的客户端来建立新的Socket负责数据通信。代码总结如下:服务端: 1 //1.服务器端定义用于监听的Socket对象: 2 Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); 3 //设定I 阅读全文

posted @ 2011-11-29 19:42 Elijah 阅读(1612) 评论(0) 推荐(0)

摘要:有这样一个需求,一个小程序,上面有一个文本框和一个按钮,要求按下按钮时文本框里的内容从0循环变化到10000。乍一看这不就是一个循环修改字符串嘛!可是写出来一运行,就会发现点按钮的时候程序卡死!因为在同一个进程当中,代码是顺序执行的,我们同样可以让程序在初始化加载的时候就循环更新数字,结果就是循环还没执行完的时候窗口不显示,还是一种卡死的效果。一种有效的办法就是给这个循环单开辟一个线程。在按钮click事件里,开启一个新线程,Test是一个方法,这里传进的是个委托。1 Thread th = new Thread(Test);然后给这个线程定义为后台线程,让主窗体关闭时这个也关闭。1 th.I 阅读全文

posted @ 2011-11-28 20:18 Elijah 阅读(839) 评论(0) 推荐(0)

摘要:http://blog.csdn.net/feixiaoxing/article/details/6993718 阅读全文

posted @ 2011-11-28 09:01 Elijah 阅读(223) 评论(0) 推荐(0)

摘要:今天来复习赵老师讲过的旧知识!知识点:文件的按行读写、正则提取组。这次我加了详细的注释,完全就是面向过程,跟着思路一步一步走的,其实写程序就是跟着思路来,有思路,就有代码!非C#玩家应该也能看得懂。(注:C#中的using块的作用是自动释放非托管资源。)这段演示代码的用途是把大街网上的求职信息的单位名称和链接地址按照一定格式提取到一个文本文件里。假设页面是“1.htm”、输出为“1.txt”(实际应用中不会写死的),效果是编号-名称-地址-换行,如下:7.名称:某某某公司招聘某某某职位地址:http://job.dajie.com/xxxxx.html代码: 1 //首先要读取文件,建立一个文 阅读全文

posted @ 2011-11-23 21:01 Elijah 阅读(406) 评论(1) 推荐(0)

摘要:培训还有三天的JQuery课,然后内容就基本过半了,后面就是ASP.Net和网站项目了。这一个多月,每天早出晚归,从类和对象开始学起,到正则表达式,再到SQL语句和ADO.Net,到三层增删改查,再到js脚本,感觉进入脑子的东西真的不少。不但巩固提高了以前就会和一知半解的东西,还学到了不少新东西。但是呢,发现自己这一个多月并没有完美掌握所有知识点,几乎有10%的边缘知识点都记不清楚了,而且对很多东西也只是有解决问题的完整思路,实际写的话根本记不住那么多类库,要翻资料才能写出来…还发现,我这人有时候真的特别懒,什么都想封装,拿现成的类库来用,我真巴不得自己把什么IOHelper、ExcelHel 阅读全文

posted @ 2011-11-22 23:17 Elijah 阅读(331) 评论(1) 推荐(0)

摘要:一、一个例子看明白select语句的用法——查询本月通话总时长最多的前三个呼叫员的编号先分析一下题目,这道题有几个限制条件,首先是本月,这里要用时间函数,然后是总时长,要用聚合函数,之后是最多,需要用排序,最后是三个,用top。搭出select...where...group by...order by...的框架。首先,查询的目标是前三人的编号,还要显示总时长,就是:select top 3 [CallerNumber],...... from CallRecords总时长的话,可以这样取:sum(datediff(ss,[StartDateTime],[EndDateTime]))发现这里 阅读全文

posted @ 2011-11-22 21:45 Elijah 阅读(365) 评论(0) 推荐(0)

摘要:1 create proc usp_getPageData 2 @pageIndex int, --第几页 3 @pageSize int, --每页几条数据 4 @pageCount int output --输出总共有多少页 5 as 6 declare @count int --总数据条数 7 select @count=count(*) from classes 8 set pageCount=ceiling(@count*1.0/@pageSize) --得到页数(隐式转换为浮点数) 9 ... 阅读全文

posted @ 2011-11-22 19:50 Elijah 阅读(409) 评论(0) 推荐(0)

摘要:1 //计算字符串MD5 2 public static string GetStringMd5(string txt) 3 { 4 MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider(); 5 string result = ""; 6 byte[] bytes = Encoding.ASCII.GetBytes(txt); 7 byte[] cryptBytes = md5.ComputeHash(bytes); 8 foreach (byte item in cryptBytes... 阅读全文

posted @ 2011-11-22 19:48 Elijah 阅读(364) 评论(2) 推荐(0)

摘要:1 MailMessage mail = new MailMessage(); 2 mail.From = new MailAddress("发件人邮箱"); 3 mail.To.Add(new MailAddress("收件人邮箱")); 4 mail.Subject = "标题字符串"; 5 mail.Body = "内容字符串"; 6 mail.Attachments.Add(new Attachment(@"附件地址")); 7 SmtpClient sc = new SmtpClien 阅读全文

posted @ 2011-11-22 19:46 Elijah 阅读(326) 评论(1) 推荐(1)

摘要:SQL语句容易理解,但是怎么总是记不住呢~?以雇员表为例,用例子简单说明语法。零、表的创建:1.创建表create table 表名( 列名 数据类型 not null primary key identity(1,1), 列明 数据类型 可否位空)2.创建备份表select * into 备份表名 from 表名3.创建一个只有表头没有内容的备份表select * into 备份表名 from 表名 where 1<>1一、表内数据操作(insert、update):4.向表里插入数据(如果向所有列插入数据,则列名可省)insert into 表名(列名1,列名2,列名3) va 阅读全文

posted @ 2011-11-21 23:05 Elijah 阅读(324) 评论(0) 推荐(0)

摘要:前几天讲到了子窗体给父窗体传值的问题,在此总结一下。这里就不讨论全局变量和静态变量之类的高耦合方式了,只讨论利用接口传父窗口指针和使用委托这两种耦合度相对较低的方式,具体怎么用看需求,没有哪个好哪个不好。在这个例子中,我们有父窗体Form1和子窗体Form2,里面各有一个的文本框txt1和txt2,各有一个按钮。一、接口法首先要新建一个.cs文件写一个接口,内容如下:1 public interface ITxt2 {3 void setTxt(string txt);4 }然后让主窗体Form1实现这个接口,1 void ITxt.setTxt(string txt)2 {3 ... 阅读全文

posted @ 2011-11-21 20:51 Elijah 阅读(687) 评论(0) 推荐(0)

摘要:1 static int Search(int[] Array, int ArrLength, int Key) 2 { 3 int low = 0; 4 int high = ArrLength - 1; 5 int mid; 6 7 while (low <= high) 8 { 9 mid = (low + high) / 2;10 if (Array[mid] < Key)11 {12 low = mid + 1;13 }14 else i... 阅读全文

posted @ 2011-11-19 21:13 Elijah 阅读(217) 评论(0) 推荐(0)

摘要:这里简要总结一下三层架构的含义:三层,指的是数据访问层(DAL),业务逻辑层(BLL)和表象层(UI)。其实看到这三个名词就能猜出三层架构是干嘛的了:跟数据库打交道的代码全放在DAL层,那些if..else..条件判断什么的全放在BLL层,BLL层返回的结果丢到UI层显示给用户。层与层之间的关系就像服务员、前台、厨师一样,各管各的,而“菜”则是他们之间交互的一个通道,我们可以定义一个所谓的“Model层”,在这里把数据库中的表转换为对象。执行过程是这样的:用户在UI层填表点按钮,交给BLL层处理具体事务,然后BLL层知道要干什么了,就交给DAL层去从数据库里拿东西,然后DAL层把得到的结果re 阅读全文

posted @ 2011-11-19 20:58 Elijah 阅读(1075) 评论(1) 推荐(0)

摘要:用JS代码动态生成页面元素:var obj = document.createElement('a'); //创建一个标签,这里是个a标签,返回生成的元素obj.href = 'url'; //从对象点出各种元素进行设置obj.getAttribute(属性名,值); //获取元素中的自定义属性obj.setAttribute(属性名,值); //设置元素中的自定义属性obj.innerText = '百度'; //设置两个a标签之间的文字document.createElement('<... />'); /... 阅读全文

posted @ 2011-11-15 20:29 Elijah 阅读(711) 评论(0) 推荐(0)

摘要:原帖地址:http://fengshen-xia.iteye.com/blog/2959381. document.formName.item("itemName") 问题说明:IE下,可以使用document.formName.item("itemName")或document.formName.elements["elementName"];Firefox下,只能使用document.formName.elements["elementName"].解决方法:统一使用document.formName.elem 阅读全文

posted @ 2011-11-14 20:20 Elijah 阅读(162) 评论(0) 推荐(0)

摘要:Oh!Shit!怎么又是讲类库!已经讲了文件操作,XML操作,正则操作,数据库操作,还有啥来的...反正都是类库,这次怎么还是类库啊!又不是俺自己封装的,这样的高效率填鸭式教育完全记不住嘛,吃不消啊!那就只好多总结多练习了,不会的时候看看博客查查词典!以下是JS中常用的一些方法和属性。window代表浏览器整个窗口,是最高级的对象,window可以点出很多东西,相当于命名空间,但是为了减少文件K数,完全可以不写。document是操纵文档对象的。1.对话框弹出相关:window.alert('xxx'); //弹出一个警告对话框window.confirm('确定要删除 阅读全文

posted @ 2011-11-13 22:34 Elijah 阅读(485) 评论(0) 推荐(0)

摘要:给力不解释 阅读全文

posted @ 2011-11-10 22:55 Elijah 阅读(392) 评论(0) 推荐(1)

摘要:今天没课休息,写一篇纯心情日志好了。传智播客的课已经上完接近三分之一了,真够快的!以前从来没想到过自己能在短短不到一个月的时间内往脑子里灌这么多东西,以往自学的效率实在是太低了,完全赶不上找工作的需要!这正应验了那句话:人不逼自己一把就不知道自己有多牛逼!就光拿讲SQL语言的效率来说,三天的课顶大学一个学期的效果了!课程前期比较简单,不过中后期难度就该飙升了,有点小担心啊……这里的学员也个个都是高手,大家都有不同的学习和工作经历,大家各有所长。这里甚至还有一位50岁还来参加培训的先生!实在是让人佩服啊!还有人夜里熬到两三点敲代码不睡觉,我觉得这样不好,我每天都11点前睡觉,即便今天这段代码没敲 阅读全文

posted @ 2011-11-10 17:16 Elijah 阅读(509) 评论(1) 推荐(0)

摘要:最近赵老虎老师有给我们“猛灌”的苗头了,所以必须要及时复习,不然就该跟不上了!更何况白天实在是困……ADO库其实没多少东西,就是代码看着很臃肿毫无美感,只要逻辑清晰就行,其实核心还是要写好SQL语句。1.SqlHelper类的简化操作:每一次数据库操作都要建立连接,然后建立Command,一遍一遍写重复代码实在是太蛋疼了!于是我们可以自己封装一个SQLHelper类,还好微软已经给我们封装好了(网上有很多,自己找= =!),连接的过程全都自动化了,执行任何增删查改的操作都能直接通过静态类点出方法来调用,非常方便!这里比较蛋疼的是写配置文件,在这里留个配置文件的写法还有读取方法,以防今后脑残了。 阅读全文

posted @ 2011-11-07 22:43 Elijah 阅读(2020) 评论(1) 推荐(0)

摘要:今天学习基本的ADO,就是通过C#程序代码来操控数据库,其实说白了还是一堆函数,程序可越来越有英语课的感觉了。为了省事,不写try什么的了。首先是最基本的登录和断开连接: 1 #region 登陆数据库 2 //创建一个连接对象 3 SqlConnection con = new SqlConnection(); 4 5 //连接字符串(可以在左边服务器资源管理器里自动生成): 6 //Data source=服务器名(IP地址)\实例名; 7 //Initial Catalog=数据库名; 8 //Integrated Security=True 集成身份验证 9 //User ID... 阅读全文

posted @ 2011-11-04 20:52 Elijah 阅读(3203) 评论(0) 推荐(0)

摘要:读取XML文档内信息的操作与写操作类似,首先要加载一个XML文件成为一个可操纵的对象。假设我们有个XML文件叫student.xml。1 XDocument xDoc = XDocument.Load("students.xml");之后要获取根节点1 XElement xeRoot = xDoc.Root;如果我们想取得某一节点的话:1 //根据标签名获取某一个节点2 XElement xe1 = xeRoot.Element("标签名");3 //输出节点名4 Console.WriteLine(xe1.Name);5 //输出节点下所有元素的值6 阅读全文

posted @ 2011-11-03 18:44 Elijah 阅读(523) 评论(0) 推荐(0)

摘要:今天来复习旧知识。XML是最常见的文档格式,如何利用C#语言来读写XML文档呢?先来说写文档:第一步,先new一个XML文档:1 XDocument xDoc = new XDocument();XML都有根节点,我们新建一个根节点:1 XElement xeRoot = new XElement("树根");给树根增加一个子树,并且绑定到树根上:1 XElement xe1 = new XElement("子树");2 xeRoot.Add(xe1);给这个子树加两个属性:1 XAttribute xe1_a1 = new XAttribute(&qu 阅读全文

posted @ 2011-11-03 18:31 Elijah 阅读(422) 评论(0) 推荐(0)