06 2008 档案
摘要:资源文件顾名思义就是存放资源的文件。资源文件在程序设计中有着自身独特的优势,他独立于源程序,这样资源文件就可以被多个程序使用。同时在程序设计的时候,有时出于安全或者其他方面因素的考虑,把重要东西存放在资源文件中,也可以达到保密、安全的效果。那么Visual C#所使用的资源文件中到底存放哪些东西呢?在用Visual C#创建资源文件大致可以存放三种类型的数据资源,分别是字节数组、各种对象和字符串。本文将结合一个程序例子来具体说明用Visual C#是如何创建资源文件的。
阅读全文
摘要:上篇文章解答了使用IBatis.Net获取存储过程的返回值,其中我写了一个注意必须要将paramMap的class设置为hashtable,只说了注意,没有说明具体原因,所以心里老是有个疙瘩!
于是,再看了一下DataMapper的源代码,分析如下:
当你调用
mapper.Insert("GetAccountViaSP2", testid);
就会调用MappedStatement的ExecuteInsert方法
public virtual object ExecuteInsert(IDalSession session, object parameterObject )
其中parameterObject就是你传入的参数
接着调用MappedStatement的RetrieveOutputParameters方法设置返回的参数
RetrieveOutputParameters(request, session, command, parameterObject);
RetrieveOutputPar
阅读全文
摘要:最近有人问我怎么获取存储过程的output的参数值,由于我最近没有用Ibatis.net,所以就从文档中找到的param的xml,也就没有在意,但后来有人说调不通,今天早上又收到一份留言,所以我早上作了测试!也出现获取不到数据的问题,但最后还是解决了!我的测试环境是 sqlserver2005/vs2005/ibatis.net2.0
如下:
procedure:
create proc sp_output
(
@testParam int output
)
as
begin
set @testParam = 10
end
go
阅读全文
摘要:public void InsertPerson3()
{
SqlMapper sqlmap = IBatisNet.DataMapper.Mapper.Instance();
Hashtable ht = new Hashtable();
ht.Add("FirstName","姚");
ht.Add("LastName","明2");
sqlmap.Insert("InsertPerson3",ht);
}
注意:Hashtable中的键值名称和参数集合众的property相对应,并且区分大小写.
阅读全文
摘要:public IList GetMemberList(string querystr,int pageNo)
{
Hashtable ht = new Hashtable();
ht.Add("querystr",querystr);
ht.Add("keyfield","id");
ht.Add("pagesize",2);
ht.Add("pagenumber",pageNo);
SqlMapper sqlMap = IBatisNet.DataMapper.Mapper.Instance();
try
{
return sqlMap.QueryForList("GetMemberList",ht);
}
阅读全文
摘要:DomSqlMapBuilder
DomSqlMapBuilder,其作用是根据配置文件创建SqlMap实例。可以通过这个组件从Stream, Uri, FileInfo, or XmlDocument instance 来读取sqlMap.config文件。
SqlMap
SqlMap是IBatisnet的核心组件,提供数据库操作的基础平台。SqlMap可通过DomSqlMapBuilder创建。
Assembly assembly = Assembly.Load("IBatisNetDemo");
Stream stream = assembly.GetManifestResourceStream("IBatisNetDemo.sqlmap.config");
DomSqlMapBuilder builder = new DomSqlMapBuilder();
sqlMap = builder.Confi
阅读全文
摘要:结合上面示例中的IbatisNet配置文件,下面对配置文件中各节点的说明:
--
阅读全文
摘要:IBatisNet 实例配置
一个典型的配置文件如下(具体配置项目的含义见后):
--
阅读全文
摘要:
xsi:noNamespaceSchemaLocation="SqlMapConfig.xsd"
阅读全文
摘要:提供了数据映射功能,提供了对底层数据访问的封装(例如ado.net),提供了DAO框架,可以使我们更容易的开发和配置我们的DAL层。灵活:
通过sql基本上可以实现我们不使用数据访问框架可以实现的所有功能,或许更多。功能完整:
提供了连接管理,缓存支持,线程支持,(分布式)事物管理,通过配置作关系对象映射等数据访问层需要解决的问题。提供了DAO支持,并在DAO框架中封装了ADO.NET,NHibernate和DataMapper。增强系统的可维护性:
通过提供DAL层,将业务逻辑和数据访问逻辑分离,使系统的设计更清晰,更易维护,更易单元测试。sql和代码的分离,提高了可维护性。
阅读全文
摘要:iBATIS是一种data mapper。Martin Fowler在他的《Patterns of Enterprise Application Architecture》一书中是这样描述Data Mapper的:
一个映射层,在对象和数据库间传递数据,并保持两者与映射层本身相独立。.
注:Mapper是在两个独立对象间建立通信关系的一种对象。
阅读全文
摘要:Firefox 3的特色优点:
Firefox 3 在很多新特性方面进行了很多的创新,比如一键设定书签、智能地址栏和快速的性能提升。
我们希望能够保证您个人信息的安全。这也是为什么Firefox 3会包括钓鱼软件和木马软件保护、全新的站点身份信息等安全特性。
通过类似于内置拼写检查、会话恢复和全屏缩放等特性,Firefox 3会帮助您工作的更快更有效率。
使用Firefox 3,您可以从超过5000个附加组件中选择自定义和丰富您的浏览体验。
阅读全文
摘要:Castle是针对.NET平台的一个开源项目,从数据访问框架ORM到IOC容器,再到WEB层的MVC框架、AOP,基本包括了整个开发过程中的所有东西,为我们快速的构建企业级的应用程序提供了很好的服务。4月份以来,Terrylee写了一系列的Castle的文章,这里做一下总结,后续还有Facility系列等,本部分内容会不断的更新。
阅读全文
摘要:新发布的VS2008 hotfix修复了VS2008对Javascript智能感知的一些BUG,fixed之后可以让VS2008对JQuery提供智能感知,让我等JQuery fans欣喜了一阵子。可仔细一看,还需要另外给JQuery添加上XML comments才行 :( 丧气了...
阅读全文
摘要:jQuery是一个可以简化 JavaScript™以及AJAX(Asynchronous JavaScript +XML,异步Javascript和XML)编程的Javascript库。不同于其他的Javascript库,jQuery有他自己的哲学,使你可以很简单的编写代码。这篇文章就会带领你见识一下jQuery的哲学,探讨一下他的特性以及功能,并且会做一些ajax的示例,以及如何使用plug-in(插件)来扩展jQuery。
阅读全文
摘要:同步方法调用在程序继续执行之前需要等待同步方法执行完毕返回结果异步方法则在被调用之后立即返回以便程序在被调用方法完成其任务的同时执行其它操作.NET框架基类库中有好几种类都可以提供同步和异步的方法调用。因为同步方法调用会导致程序流程中途等待,所以采用同步方法的情况下往往会导致程序执行的延迟相比来说,在某些条件下选择异步方法调用就可能更好一些例如,有的时候程序需要给多个Web服务发出请求,还有远程处理信道(HTTP、TCP)和代理,这时就最好采用异步方法
阅读全文
摘要:序列化又称串行化,是.NET运行时环境用来支持用户定义类型的流化的机制。其目的是以某种存储形成使自定义对象持久化,或者将这种对象从一个地方传输到另一个地方。 .NET框架提供了两种串行化的方式:1、是使用BinaryFormatter进行串行化;2、使用SoapFormatter进行串行化;3、使用XmlSerializer进行串行化。第一种方式提供了一个简单的二进制数据流以及某些附加的类型信息,而第二种将数据流格式化为XML存储;第三种其实和第二种差不多也是XML的格式存储,只不过比第二种的XML格式要简化很多(去掉了SOAP特有的额外信息)。 可以使用[Serializable]属性将类标志为可序列化的。如果某个类的元素不想被序列化,1、2可以使用[NonSerialized]属性来标志,2、可以使用[XmlIgnore]来标志。
阅读全文
摘要:而后,找到了用序列化的方式来减少网络传输量,Microsoft .NET Framework 1.x 中内建两种将物件序列化的 Formatter类别,SoapFormatter 和 BinaryFormatter,两种方式均能减轻网络传输量提高性能,但SoapFormatter方式传输的方式其实还是XML形式,加了很多XML标识,因此压缩率不是很理想,BinaryFormatter用纯二进制的方式序列化DATASET,能使压缩率大大提高,这是台湾作者李匡正 (台灣微軟應用架構技術經理提供的例子里对SQL范例库Northwind的测试结果:
阅读全文
摘要:描述线程与进程的区别?
什么是Windows服务,它的生命周期与标准的EXE程序有什么不同
Windows上的单个进程所能访问的最大内存量是多少?它与系统的最大虚拟内存一样吗?这对于系统设计有什么影响?
EXE和DLL之间的区别是什么?
什么是强类型,什么是弱类型?哪种更好些?为什么?
PID是什么?在做系统的故障排除时如何使用它?
单个TCP/IP端口上能够侦听多少个进程?
什么是GAC?它解决了什么问题?
阅读全文
摘要:怎么用javascript进行拖拽
Javascript的特点是dom的处理与网页效果,大多数情况我们只用到了这个语言的最简单的功能,比如制作图片轮播/网页的tab等等,这篇文章将向你展示如何在自己的网页上制作拖拽.
有很多理由让你的网站加入拖拽功能,最简单的一个是数据重组.例如:你有一个序列的内容让用户排序,用户需要给每个条目进行输入或者用select选择,替代前面这个方法的就是拖拽.或许你的网站也需要一个用户可以拖动的导航窗口!那么这些效果都是很简单:因为你可以很容易的实现!
网页上实现拖拽其实也不是很复杂.第一你需要知道鼠标坐标,第二你需要知道用户鼠标点击一个网页元素并实现拖拽,最后我们要实现移动这个元素。
阅读全文
摘要:一. HTTP压缩概述 HTTP压缩是在Web服务器和浏览器间传输压缩文本内容的方法。HTTP压缩采用通用的压缩算法如gzip等压缩HTML、JavaScript或 CSS文件。压缩的最大好处就是降低了网络传输的数据量,从而提高客户端浏览器的访问速度。当然,同时也会增加一点点服务器的负担。Gzip是比较常见的一种HTTP压缩算法。 本文介绍的HTTP压缩方式,采用的是Windows系统设置的方式,优点是效率较高。
阅读全文