文章列表
使用微软 SQL SERVER MANAGEMENT Studio的人都经常发现,他打开表显示数据的速度很快,而且,如果有数万条记录不能立即显示时,数据表格会自动的加载数据,而不影响整个界面的操作,那么这个效果是如何完成的呢?
肯定的一点是,他用到了多线程,数据的提取线程和界面操作不在一个线程中,这样就可以做到数据随提取,随时送到界面的表格控件中。
实现的方式就不废话了,给个代码,大家自然很容易就看懂了
public partial class Form2 : Form
{
private DDD _D;
public Form2()
{
Initialize ...
- 2012-02-26 21:39
- 浏览 544
- 评论(0)
为什么要对字段封装属性? 每次有新人来,都要问这个问题,我直接对字段操作多省事呀,就像这样
public class A
{
publicstring _Name;
}
public Class B
{
private A _MyA;
public void DoB(string n)
{
_MyA._Name=n;
}
}
很多砖家会毫不犹豫的说,你这样“封装不好”,于是新人眨着两只无神而又水汪汪的大眼睛,分明是在说:“这不脱了裤子放X吗”,心里一肚子不服气。
但从编程角度说,封装为属性除了从外面看起来“顺眼”些,还有啥实际作用呢?
...
- 2011-12-09 19:05
- 浏览 579
- 评论(0)
【引】
流程引擎是诸多业务系统的基础,也是SAAS型云计算体系的基础,目前的流程体系有很多问题,需要建立一个新的理论体系解决它,我无意中找出了这其中的部分端倪,就抛砖引玉的为大家讲讲这些事情,希望有耐心的看客能够有所启发。
目前绝大部分工作流软件都采用了Petrinet作为核心架构机制,而Petrinet很重要的流转环节-“令牌”的生成机制却大有问题。
在Petrinet中,每一次变迁的实施时,都会取走原有的令牌,而产生新的令牌,即使对于高级Petri网(多维染色Petrinet), 试图用在一个流程实例中保有多个令牌的系统,其基础流转仍是令牌的传递而已,具体到系统实现,大多是采 ...
- 2011-10-05 16:46
- 浏览 608
- 评论(0)
韩国学者说的东夷人就是商朝后裔,当年纣王兄弟箕子在亡国后被武王封到了朝鲜,这其实也说明韩国人和汉人实际上是一个起源,韩国学者说的是事实,但他却不承认汉族也有东夷的血统,而且是亲生的,就好像金日成有个私生子儿子叫xx, xx说因为我老爸是金日成,所以金正日的老爸就不是金日成了
- 2011-04-21 13:28
- 浏览 566
- 评论(0)
自打前年买了个D60后,一直也没有太怎么用,随着儿子越长越大,老婆就越发抗议我要不就不给儿子照相,要不就照的太难看的问题,于是绞尽脑汁终于总结出一些小窍门:
1. 儿童摄影最好是使用长焦镜头在远一些的位置照,有如下几个好处:
- 孩子及旁边的大人都比较自然
- 长焦镜头的景深小,可以产生虚背景的效果
但由于长焦镜头手持不太稳定,同时其曝光量也要大一些,因此很容易虚,最好先苦练手持功夫,我就是照了半年双手分开式产生了大量虚照片,被老婆臭骂后才发现,要一手贴在身上握住相机才会更稳(我说了这个感悟后又挨了老婆一顿猛批,)。
2. 很多时候光线条件并不好,侧逆光,逆光现象很多,这时把 ...
- 2011-04-16 14:35
- 浏览 608
- 评论(0)
最近客户部署了某著名公司的工作流软件,我也顺便研究了一下,发现了一些问题。
目前的工作流系统,从结构体系看都是相似的,主要包括:
- 工作流引擎
- 图形化的流程设计器
- 表单设计器
如果从企业数据角度来看 ...
- 2011-04-13 18:16
- 浏览 1077
- 评论(0)
最近客户在安装某款国内著名ERP管理软件时,我在现场指导过程发现了一个有意思的问题,虽然该软件是由具有数十年经验,并占有财务软件绝对市场控制权的企业开发的,但是从其安装过程看,还是有很多漏洞的。
其系统安装时需要MS SQLSERVER的SA帐号进行配置,厂商的安装人员想都没想就配置了个空SA密码,经提醒后倒是设了个密码,不过设置完后发现已经在客户端安装的软件都没法用了,又无奈改回了空SA密码...
从其安装过程看,作为C/S架构的软件,其最起码有如下问题:
1. 这种现象说明其在安装过程中没有创建数据库专用管理账户,而是使用了数据库服务器的最高管理员账户。如果数据库服务器存在多 ...
- 2011-04-09 13:21
- 浏览 637
- 评论(0)
权限管理是所有网络软件都无法逃避的功能,只要是多用户使用,就必须为特定的用户访问特定的功能设置权限,从目前的技术上看,无非如下几种:
【只设置允许权限】
针对特定组或用于,只对于授权访问的功能设置记录 ...
- 2011-03-19 09:32
- 浏览 723
- 评论(0)
经过一段时间的研究,渐渐的感觉如果使用得当,bindinglist还是很有用的,其中同步的方式两种都可以:
方式1: 在界面层使用 datagridview.Refresh()方法。
方式2: 在对象层使用BindingList.ResetBinding()方法。
另外,如果需要处理删除对象的事情,可以重写bindingList的RemoveItem()方法, 比如有一个类为:
public class Class1 { string _Name;
public string Name { get { return _Name; } set { _Name = value; ...
- 2011-03-06 17:53
- 浏览 646
- 评论(0)
在Datagridview控件利用下拉菜单进行数据输入可以使用户操作更加方便,在配置COMBOX控件时,只要设置了datasource, displaymember,valuemember,即可实现comboxbox的数据输入,如:
有一个类如下:
public class Class1 { string _Name;
public string Name { get { return _Name; } set { _Name = value; } } int _Weight;
public int Weight { get { return Weight; } set { We ...
- 2011-03-05 19:00
- 浏览 1273
- 评论(0)
软件开发项目具有风险大,周期长的特点,由于行业的复杂性,对于很多开发小组,人员的更替是十分频繁
的,而软件开发项目的特点又恰恰是需要统一定义的信息非常多,包括组件名、对象名、变量名、界面、版本
号、配置文件、功能清单等等,而人员的更替往往带来的结果是是新成员需要长时间的适应项目规范、定义等
,而由于定义混淆而造成的编码错误占软件开发错误很大比重,因此,软件项目组如果能有一个很好的规范定
义体系,可以大幅度提高软件开发的效率及软件质量。
由于面向对象的软件开发模式在减少代码冗余,解除项目组成员过多耦合等软件项目管理问题中具有特殊的优
势,现代的绝大多数软件开发项目都采用了此种模 ...
- 2011-01-23 10:08
- 浏览 564
- 评论(0)
目前IBM等大公司推销其云计算概念搞得火热,骨子里就是2000年时就开始出现的分区技术,不管是PPAR还是LPAR,总之就是把一台高性能的小型机分割成多个性能可调的逻辑计算机。
在当时情况下,这种技术更多的考虑是安全性因素,因为每个逻辑计算机只跑一个关键应用时,应用造成了问题后,只需要重启这台逻辑计算机即可,不会对服务器的其他逻辑计算机上的应用造成问题。
随着云计算的“风起云涌”,分区技术在经过包装后被赋予了更多职能,但其还是面临着无法解决的问题:如果物理的服务器硬件坏掉了,所有应用都将完蛋。于是乎,还要处理分区技术下的备份问题、灾难恢复问题,一方面其技术难度远高于备份一台逻辑服 ...
- 2011-01-21 18:49
- 浏览 443
- 评论(0)
俺家铃铛16个月了,天天由姥姥姥爷看着, 但最早却先叫的爸爸,现在只要我一进门,他就赶紧跑过来大声的叫“爸爸”,别人一概没这待遇,于是所有人都骂他“没良心”,因为我既不抱他,他摔了也不服他, 但有一条,他愿意干啥就干啥,我从来就默许。
- 2011-01-21 13:21
- 浏览 515
- 评论(0)
使用了对象映射转换层确实可以大幅简化开发工作,但最近研究了各家数据层的有缺点后,我发现自己开发数据层可能更划算些:
1. 向Hibernate等著名ORM产品号称缓存的命中率达90%以上,但如果应用时分布到多台服务器上,甚至 ...
- 2011-01-18 23:36
- 浏览 355
- 评论(0)
最近有同事迷上了使用BindingList开发应用,看上去用BindingList绑定datagridview很是省事,只要如下即可:
BindingList<T> x = new BindingList<T>();
.... datagridivew1.datasource = x;
datagridiew1.columns["name'].DataPropertyName = "Name";
... T = datagridview1.selectedrows[0].boundItem as T;
列表控件的信息就 ...
- 2011-01-18 22:54
- 浏览 444
- 评论(0)