2008年04月
基于Web的系统测试与传统的软件测试既有相同之处,也有不同的地方,对软件测试提出了新的挑战。基于Web的系统测试不但需要检查和验证是否按照设计的要求运行,而且还要评价系统在不同用户的浏览器端的显示是否合适。重要的是,还要从最终用户的角度进行安全性和可用性测试。
阅读全文>
发表于 @ 2008年04月30日 10:15:00|评论(loading...)|编辑
在安装Sql或sp补丁的时候系统提示之前有挂起的安装操作,要求重启,这里往往重启无用,解决办法:阅读全文>
发表于 @ 2008年04月29日 10:01:00|评论(loading...)|编辑
LINQ体验(18)——LINQ to SQL语句之视图和继承支持 阅读全文>
发表于 @ 2008年04月22日 15:26:00|评论(loading...)|编辑
LINQ体验(16)——LINQ to SQL语句之DataContext 阅读全文>
发表于 @ 2008年04月22日 15:25:00|评论(loading...)|编辑
LINQ体验(15)——LINQ to SQL语句之用户定义函数 阅读全文>
发表于 @ 2008年04月22日 15:24:00|评论(loading...)|编辑
LINQ体验(13)——LINQ to SQL语句之运算符转换和ADO.NET与LINQ to SQL 阅读全文>
发表于 @ 2008年04月22日 15:23:00|评论(loading...)|编辑
LINQ体验(12)——LINQ to SQL语句之对象标识和对象加载 阅读全文>
发表于 @ 2008年04月22日 15:22:00|评论(loading...)|编辑
LINQ体验(11)——LINQ to SQL语句之Null语义和String/DateTime方法 阅读全文>
发表于 @ 2008年04月22日 15:22:00|评论(loading...)|编辑
LINQ体验(10)——LINQ to SQL语句之开放式并发控制和事务 阅读全文>
发表于 @ 2008年04月22日 15:21:00|评论(loading...)|编辑
LINQ体验(9)——LINQ to SQL语句之Insert/Update/Delete操作 阅读全文>
发表于 @ 2008年04月22日 15:20:00|评论(loading...)|编辑
LINQ体验(8)——LINQ to SQL语句之Union All/Union/Intersect和Top/Bottom和Paging和SqlMethods 阅读全文>
发表于 @ 2008年04月22日 15:19:00|评论(loading...)|编辑
LINQ体验(7)——LINQ to SQL语句之Group By/Having和Exists/In/Any/All/Contains 阅读全文>
发表于 @ 2008年04月22日 15:18:00|评论(loading...)|编辑
LINQ体验(6)——LINQ to SQL语句之Join和Order By 阅读全文>
发表于 @ 2008年04月22日 15:18:00|评论(loading...)|编辑
LINQ体验(5)——LINQ to SQL语句之Select/Distinct和Count/Sum/Min/Max/Avg 阅读全文>
发表于 @ 2008年04月22日 15:17:00|评论(loading...)|编辑
LINQ体验(4)——LINQ简介和LINQ to SQL语句之Where 阅读全文>
发表于 @ 2008年04月22日 15:16:00|评论(loading...)|编辑
LINQ体验(1)——Visual Studio 2008新特性 阅读全文>
发表于 @ 2008年04月22日 15:13:00|评论(loading...)|编辑
非常好用的分页存储过程。
最近做一个项目,其中有许多部分需要用到分页功能
并且这些需要分页的地方有一个共同的特点,那就是,分页,但并不是按ID(主键)来排序,而是要求按其他有重复值的列进行排序,比如,其中有一个页面,要列出将近1万条客户记录,要求按客户付费金额进行排序,这种情况,如果使用网上流行的通用分页存储过程是行不能的,比如,像下面的分页存储过程虽然很棒,可是,用在这里的话,就无计可施:(这个存储过程是我在CSDN上看到一位前辈高人写的) 阅读全文>
发表于 @ 2008年04月21日 13:05:00|评论(loading...)|编辑
在讲解源码之前,这里先简单说说系统运行的几个事项。虽然下载的压缩包中已经包含了简单的说明,但有一个重点没有强调,也就是虽然这个系统会在启动的时候自动创建数据库表结构,但他是不能自动创建数据库的,因此在启动之前需要自己手动创建数据库,比如VifirBlog。
数据库的配置是在Web.config文件中,在启动应用程序时,需要修改Web.config文件中的数据库配置,把用户名及密码根据你的情况进行修改,数据库的配置内容如下:阅读全文>
发表于 @ 2008年04月17日 08:33:00|评论(loading...)|编辑
在网上查找了不少的资料,可以说大同小异,概念性的东西网上一搜一堆,
今天把反射的东西整理了一下,供大家使用,我保证我这里是最全面的东西,当然也是基础的东西,
在学好了这一切的基础上,大家可以学习反射的具体插件等应用,老鸟就不用看了.
阅读全文>
发表于 @ 2008年04月16日 16:43:00|评论(loading...)|编辑
由于 Windows 窗体控件本质上不是线程安全的。因此如果有两个或多个线程适度操作某一控件的状态(set value),则可能会迫使该控件进入 一种不一致的状态。还可能出现其他与线程相关的 bug,包括争用和死锁的情况。于是在调试器中运行应用程序时,如果创建某控件的线程之外的其他线程试图 调用该控件,则调试器会引发一个 InvalidOperationException
本文用一个很简单的示例来讲解这个问题(在窗体上放一个TextBox和一个Button,点击Button后,在新建的线程中设置TextBox的值)
阅读全文>
发表于 @ 2008年04月16日 11:31:00|评论(loading...)|编辑
在做导出Excel时,测试人员提出导出数字格式显示有问题,所以找到孟子的一篇文章解决问题。感谢孟子。
记录下来备忘。阅读全文>
发表于 @ 2008年04月16日 11:24:00|评论(loading...)|编辑
导读:
0 引言
Excel是微软公司办公自动化套件中的一个软件,他主要是用来处理电子表格。Excel以其功能强大,界面友好等受到了许多用户的欢迎。在设计应用系统时,对于不同的用户,他们对于打印的需求是不一样的,如果要使得程序中的打印功能适用于每一个用户,可以想象程序设计是十分复杂的。由于Excel表格的功能强大,又由于几乎每一台机器都安装了它,如果把程序处理的结果放到Excel表格中,这样每一个用户就可以根据自己的需要在Excel中定制自己的打印。这样不仅使得程序设计简单,而且又满足了诸多用户的要求,更加实用了。那么用Visual C#如何调用Excel,如何又把数据存放到Excel表格中?本文就来探讨上述问题的解决办法。
1 Excel对象
微软的Excel对象模型包括了128个不同的对象,从矩形,文本框等简单的对象到透视表,图表等复杂的对象.下面我们简单介绍一下其中最重要,也是用得最多的四个对象。
(1) Application对象。Application对象处于Excel对象层次结构的顶层,表示Excel自身的运行环境。 (2) Work阅读全文>
发表于 @ 2008年04月11日 08:40:00|评论(loading...)|编辑
经常需要从数据库取得查询结果,然后进行逻辑处理后再在页面展示,所以直接使用datatable的计算功能,无疑会方便很多,并且有时效率也很高。转一篇文章,收藏阅读全文>
发表于 @ 2008年04月09日 15:24:00|评论(loading...)|编辑
本文章主要介绍SqlHelper使用。
每个项目都要用到数据访问层,我做的也不例外,但是我把数据访问层做成独立项目,没有什么太大的目的,数据访问层,仅仅做数据访问用,不包含任何逻辑。
为什么要使用数据访问层?
如果不使用数据访问层,那么你的代码里会出现很多SqlConnection、SqlCommand、SqlDataReader、Open、 Close……这些类和方法,而且代码量很大,让你不胜其烦,而且代码写起来,其实都是体力活,没有技术含量。因此我们要把数据访问层封装起来,方便重用。微软已经替我们做好了这个工作,那就是SqlHelper,下图是SqlHelper的类关系图:阅读全文>
发表于 @ 2008年04月09日 09:05:00|评论(loading...)|编辑
脚本控制三行三列自适应高度DIV布局function P7_colH(){ var i,oh,hh,h=0,dA=document.p7eqc,an=document.p7eqa; if(dA&&dA.length){ for(i=0;ih)?oh:h;}阅读全文>
发表于 @ 2008年04月08日 15:46:00|评论(loading...)|编辑
在上个随笔中贴出了效果库的整体框架,和一个简单的opacity插件. 今天这个随笔主要是扩展其他常用效果插件,毕竟框架只能是个空壳,内容还是要自己充实。如果看过了我上篇的实现细节,这里就不多说废话了,来段代码先:阅读全文>
发表于 @ 2008年04月08日 08:30:00|评论(loading...)|编辑
JavaScript的动态效果最基本的是 动态改变大小,移动位置,改变透明度,改变颜色等等。而其他一些比较炫的效果无非是对这些最基本效果的组合和运用。现在网上已经有很多很不错的优秀Javascript库或者效果库,我们是否有必要再造轮子呢?放眼望去,Yahoo UI, 基于Prototype的scriptaculous, Rico, JQuery, Dojo,还有很多很多。这些库都带有很不错很优秀的动态效果。我们可以直接使用。但是对于一些中小型项目来说,只是偶尔用到一两个特效,就没有必要引用整个框架,要知道这些家伙体积都不小哦. prototype.js 50K, scripttaculous的 effects.js也有40-50k dojo,yui 更大。在大多数情况下我们需要一个小巧独立(300行代码以内),无侵入性的效果库。.即使有现有的轮子,我们不但要学会怎么使用轮子,更要学会如何亲手造一个轮子。基于以上原因,我们今天来重写一个灵活的,扩展性强的,小巧的,跨浏览器的动态效果库。考虑到prototype.js 用户群的广泛性,阅读全文>
发表于 @ 2008年04月08日 08:29:00|评论(loading...)|编辑
以前见到google和迅雷等网站在搜索文本框中输入文字后能自动提示,感觉这种功能很炫也很实用.现在在学习asp.net ajax 发现AjaxControlToolKit工具包中的AutoComplete控件就能实现这种功能,而且非常简单.
简介:
AutoComplete控件就是在用户在文本框输入前几个字母或是汉字的时候,该控件就能从存放数据的文或是数据库里将所有以这些字母开头的数据提示给用户,供用户选择,提供方便.
重要属性
1、TargetControlID:指定要实现提示功能的控件。
2、ServicePath:WebService的路径,提取数据的方法是写在一个WebService中的。
3、ServeiceMethod:写在WebService中的用于提取数据的方法的名字。
4、MinimumPrefixLength:用来设置用户输入多少字母才出现提示效果。
5、CompletionSetCount:设置提示数据的行数。
6、CompletionInterval:从服务器获取书的时阅读全文>
发表于 @ 2008年04月03日 08:34:00|评论(loading...)|编辑
使用google搜索的时候,我们会发现他有一个很人性化的东西,就是搜索智能提示,英文名字叫:autoComplete,如图
阅读全文>
发表于 @ 2008年04月03日 08:31:00|评论(loading...)|编辑
本文借助vs2005中自带的FileUpload控件实现图片文件的上传并生成缩略图。
实现过程:选择图片上传成功后,取得已经存在服务器的文件生成缩略图,并且判断是否是图片类型的文件,这个的判断可以在程序中修改,本程序只是判断了“image/bmp”、“image/gif”、“image/pjpeg”三种类型。
代码如下:
upfile.aspx文件
阅读全文>
发表于 @ 2008年04月03日 08:18:00|评论(loading...)|编辑
1.主要利用table style的 layout=fixed属性按照当前表头再copy一个table,显示在当前datagrid或gridview的前面.
2.注意:调用的时候,datagrid 或gridview 要有style="table-layout:fixed" 和 width=?? 属性.
另外还有个自定义属性 viewheight 是可选,表示滚动内容区域的高度
脚本中更改一下DataGrid或GridView的ID即可.
该示例在IE7 和 FireFox下测试通过.
以下是示例:
阅读全文>
发表于 @ 2008年04月02日 10:08:00|评论(loading...)|编辑
ASP.NET自带的验证控件具有使用方便,开发快捷等优点。开发人员不必使用js就可以方便地对页面各项控件进行输入验证。但是它也有些不足之处,如:界面单调, 只能通过红色字体显示(当然自定义验证控件除外);只能放在某一固定位置;需要占用一定的版面空间,如果错误消息比较长,会严重影响布局,即使将显示方式设为dynamic,当它显示错误消息时会撑大页面,影响美观,因此,我们有必要对它稍改进一下。
我们研究一下ASP.NET的js代码(下载页面中WebResource.axd?d=SD1NUwMQGhYXe3jLq5kyhRg80avbG6v4rFgfT8pf7Lg1&t=633409665581718750指向的文件)发现用来显示错误消息的是ValidatorUpdateDisplay这个函数来完成的,关键的一句,是 val.style.visibility = val.isvalid ? "hidden" : "visible"; 如果我们想用alert方式显示的话,只需将这句改成alert(val.innerHTML)就可以了,但我们想做得更好看一点,做成类似于Q阅读全文>
发表于 @ 2008年04月02日 10:05:00|评论(loading...)|编辑
读取Excel文件,加载数据到DataGridView
Using dlg As New OpenFileDialog
With dlg
.Filter = "*.xls|*.xls"
.Multiselect = False
If .ShowDialog = Windows.Forms.DialogResult.OK Then
Dim db As New LzmTW.Data.ExcelDatabase(.FileName)
Dim tables As DataTable = db.GetConnectionSchema("Tables")
'只取第一个
Dim firstSheet As String = tables.Rows(0)("TABLE_NAME").ToStrin阅读全文>
发表于 @ 2008年04月02日 09:53:00|评论(loading...)|编辑
1、FACTORY—追MM少不了请吃饭,麦当劳的鸡翅和肯德基的鸡翅都是MM爱吃的东西,虽然口味有所不同,但不管你带MM去麦当劳或肯德基,只管向服务员说“来四个鸡翅”就行了。麦当劳和肯德基就是生产鸡翅的Factory 。
工厂模式:客户类和工厂类分开。消费者任何时候需要某种产品,只需向工厂请求即可。消费者无须修改就可以接纳新产品。缺点是当产品修改时,工厂类也要做相应的修改。如:如何创建及如何向客户端提供。
2、BUILDER—MM最爱听的就是“我爱你”这句话了,见到不同地方的MM,要能够用她们的方言跟她说这句话哦,我有一个多种语言翻译机,上面每种语言都有一个按键,见到MM我只要按对应的键,它就能够用相应的语言说出“我爱你”这句话了,国外的MM也可以轻松搞掂,这就是我的“我爱你”builder。(这一定比美军在伊拉克用的翻译机好卖)
建造模式:将产品的内部表象和产品的生成过程分割开来,从而使一个建造过程生成具有不同的内部表象的产品对象。建造模式使得产品内部表象可以独立的变化,客户不必知道产品内部组成的细节。建造模式可以强制实行一种分步骤进行的建造过程。
3、F阅读全文>
发表于 @ 2008年04月01日 12:28:00|评论(loading...)|编辑