摘要: 简介:在一个场景中,可能由一个模块来负责生产数据,另一个模块来消费。这里用一个非常简单的程序来进行模拟这种场景。下面的这个图片是界面在第一个文本框中填入数据后,点击“生产数据”按扭,数据就生产完了,然后另一个线程不断地去数据池中查看有没有新的数据,如果有就消费掉。下面看后台的代码using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;us 阅读全文
posted @ 2012-10-22 14:45 伯箫 阅读(189) 评论(0) 推荐(0) 编辑
摘要: MVC1、开发流程与页面请求过程 新建Controller 创建Action 根据Action创建View 在Action获取数据并生产ActionResult传递给View。 View是显示数据的模板 url请求→Controller.Action处理→View响应在controller中,像这样:return View(),没有指定返回到哪一个页面的时候,MVC会先到View文件夹下,与这一个ActionResult方法同名的文件中找前面显示页面。如果没有找到,就会去View文件夹下的Shared文件夹下找,还没找到就报错。2、约定大于配置Controller放到controllers文件 阅读全文
posted @ 2012-10-19 17:28 伯箫 阅读(218) 评论(0) 推荐(0) 编辑
摘要: 我们都知道,const和static readonly的确很像:通过类名而不是对象名进行访问,在程序中只读等等。在多数情况下可以混用。二者本质的区别在于,const的值是在编译期间确定的,因此只能在声明时通过常量表达式指定其值。而static readonly是在运行时计算出其值的,所以还可以通过静态构造函数来赋值。明白了这个本质区别,我们就不难看出下面的语句中static readonly和const能否互换了:1. static readonly MyClass myins = new MyClass();2. static readonly MyClass myins = null;3. 阅读全文
posted @ 2012-10-09 16:04 伯箫 阅读(171) 评论(0) 推荐(0) 编辑
摘要: 在使用foreach对List进行遍历的时候,如果其中间list的数据发生了改变,是会报错的。那么,当我们有这种需求的时候,怎样才能解决这个问题呢? 下面,看一种解决的方式: foreach(string s in list.ToArray()){}; 这样就行了,先把list中的数据ToArray();这个时候,数据组中的数据其实就已经与list中的数据不是同一数据了。 阅读全文
posted @ 2012-10-06 13:36 伯箫 阅读(3056) 评论(0) 推荐(0) 编辑
摘要: 一个grade表 查出姓“张”的,平均分数大于75的同学的所有信息 select [name],score,course from gradewhere [name] like '张%'group by [name],score,course--SELECT后面每一列,除了出现在统计函数中的列以外, 阅读全文
posted @ 2012-09-25 00:08 伯箫 阅读(211) 评论(0) 推荐(0) 编辑
摘要: RSS 在网站中,出现RSS图标,或者是其它RSS字样的就代表支持RSS订阅。RSS订阅就是把你想要关心的那些网站上的内容,通过订阅的方式,显示到一个订阅器中,如:foxmaile,这样我们就不需要每天到各个网中去转一圈,而只要在一个订阅器中就可以看到所有我们所关心的事件了。 怎样在APS.NET中做RSS订阅器? RSS订阅器就是一段RSS的XML文件。但在ASP.NET中,我们还是要做成一个ASPX页面(浏览器会自动把这段XML文件解析成相就的格式)。把ASPX页面中自动生成的那些东本去掉,只保留头部的一段代码:这段代码在前台使用后台代码的时候使用。因为RSS中一段XML文件,所以还要在其 阅读全文
posted @ 2012-07-02 12:01 伯箫 阅读(295) 评论(0) 推荐(0) 编辑
摘要: 不是一个意思,C语言中取地址是把变量的地址取出来,让一个指针指向这个地址C++中的引用是为变量起一个别名,这两个名字都是代表这个变量,这个别名是一个引用而不是指针 指针可以随时改变指向的变量 ,而引用只能在初始化的时候赋值,赋值后不能改变如:指针:int i = 10;int *p = &i;要想改变i的值就写*p = 5;还以改变p指向的变量如p = p + 1;引用:int i = 10;int &p = i;要想改变i的值就写p = 5;这里写p = p + 1;就把i加1了 阅读全文
posted @ 2012-07-01 23:28 伯箫 阅读(258) 评论(0) 推荐(0) 编辑
摘要: 我们对C的%运算知多少呢?当是正整数时,可能大家都知道。例如:5%3等于2, 3%5等于3。当存在负数时呢?先看看例子:例一:int main(){ int x; x = -6%5; printf("%2d\n",x); x = 6%-5; printf("%2d\n",x); x = 1%-5; printf("%2d\n",x); x = -1%-5; printf("%2d\n",x); x = -6%-5; printf("%2d\n",x); }运行结果为:-111-1-1例二:#in 阅读全文
posted @ 2012-07-01 23:27 伯箫 阅读(487) 评论(0) 推荐(0) 编辑
摘要: 参数传递有传值、传址和引用三种void f(int n){}//定义传值方式int a;f(a);//调用传值方式void f(int *n){}//定义传址方式int a;f(&a);//调用传址方式void f(int &n){}//定义引用方式int a;f(a);//调用引用方式传值方式适合一般数值传送,并且不改变原数据,但要消耗内存空间传址方式适合传递数组、指针,由于传递的是地址,所以直接操作会改变原数据引用方式和指针比较类似,是相对比较新的一种方式,一般情况下能用传址的就能用引用,而且用引用更方便一点。 阅读全文
posted @ 2012-07-01 23:24 伯箫 阅读(756) 评论(0) 推荐(1) 编辑
摘要: 有两个表:第一个是员工表dplo,表体如下:dno 员工编号 主键 , dname 员工姓名,dsalary 员工工资,pno 所属部门(外键)第二个表是部门表part,表休如下:pno 部门编号 主键, pname 部门名称 现要求,把销售部中员工工资不多于600的提升10% update dpl 阅读全文
posted @ 2012-07-01 23:10 伯箫 阅读(181) 评论(0) 推荐(0) 编辑