前面我们提到,数据绑定控件把传递给数据源的值存放在相互独立的Keys、Values(新值)和OldValues字典中。在默认情况下,SqlDataSource和ObjectDataSource会忽略OldValues字段,只使用Keys和Values。这种行为是由数据源的ConflictDetection属性检测的,在默认情况下这个属性的值被设置为OverwriteChanges。OverwriteChanges模式意味着"为了更新或删除记录,仅仅匹配主键值"。这种操作意味着,记录的更新或删除是不考虑该记录的下层值是否改变过了。在通常情况下,理想的状态... 你可以处理Select、Update、Insert、Delete和Filter的事件,以验证并处理传递给这些操作的参数值。为了达到这个目标,数据绑定的控件和数据源控件都暴露了适当的事件。例如,在GridView的Updating事件中,你就可以看到Keys、NewValues和OldValues字典中的参数名称和值,而它们将会被传递到数据源。在数据源一端,你可以处理SqlDataSource的Updating事件,看到这些应用到下层命令对象的参数,而这些命令将会执行以完成相关操作。类似的,你可以处理ObjectDataSource的Updating事件来查看或改变参数字典,而这些字典... 近期在做“数据库切割工具”时,碰到了一些棘手的问题,经过多方打探、查找,最终得以解决,现总结下来,给大家共享,免的大家以后在碰到类似问题时再耗费大量时间去查找、去打探! 1、判断输入的路径在服务器上是否存在: 例如,要在客户端执行一个创建数据库的程序,数据库要在服务器上创建,但路径可以手工输入,这时就面临一个判断自已现在输入的路径在服务器上是否存在的问题,免得在执行CreateDatabaseSQL时才报错:找不到路径。 具体方法如下: execmaster..xp_cmdshell如果此路径不存在,则输出信息如图2... C#代码与javaScript函数的相互调用 问: 1.如何在JavaScript访问C#函数? 2.如何在JavaScript访问C#变量? 3.如何在C#中访问JavaScript的已有变量? 4.如何在C#中访问JavaScript函数? 问题1答案如下: javaScript函数中执行C#代码中的函数: 方法一:1、首先建立一个按钮,在后台将调用或处理的内容写入button_click中; 2、在前台写一个js函数,内容为document.getEle... 测试环境:JDK1.5、Tomcat5.51.设置Cookie2.读取Cookie 3.删除Cookie 4.注意:假设路径结构如下 测试环境:JDK1.5、Tomcat5.5 1.设置Cookie 1Cookiecookie=newCookie("key","value"); 2cookie.setMaxAge(60);//设置60秒生存期,如果设置为负值的话,则为浏览器进程Cookie(内存中保存),关闭浏... 最近做了个Java的小项目(第一次写Java的项目哦),到网上搜索了半天,找到了一个比较好点的调用存储过程的例子,而且网上普遍采用的都是setXXX((intparameterIndex,XXXx)的形式。这种形式感觉不是很直观,下面就发布一个完整的采用setXXX(StringparameterName,XXXx)的编写方法。创建数据表,存储过程的代码都完整发布。 创建表:CREATETABLE[BookUser]( ... 在匆忙之际理清消除实现继承和面向接口编程这样两个大问题可不是一件容易的事情,尤其考虑到自身的认识水平。坦白的说,这又是一篇“炒冷饭”的文章,但这“冷饭”又确实不好炒。因此,在阅读了这篇文章之后,你可要批判地接受(拒绝)我的观点,尽管我的观点也是来自于别人的观点。 继承是面向对象中很重要的概念。如果考虑到Java语言特性,继承分为两种:接口继承和实现继承。这只是技术层面的问题,即便C++中不存在接口的概念,但它的虚基类实际上也相当于接口。对于OO的初学者来说,他们很希望自己的程序中出现大量的继承,因为这样看起来很OO。但滥用继承会带来很多问题,尽管有时候我们又不得不使用继承解决问题。... 客户用的数据库是mysql,而研发好的产品支持oracle,为了让客户掏腰包,我们必须把数据库环境从oracle转向mysql。我们在转换的过程中碰到了下面一些问题,希望能给同样遭遇的同仁们一些借鉴。如果我们在最初的设计、编码过程中注意数据库的移植性,这种情况下可以完全不需要作额外工作。 一、数据库环境从oracle转向mysql碰到的问题。 因为逻辑不变,所以原则是不改应用程序代码,只改数据库表的创建/初始化sql。下面是我们碰到的问题以及解决办法。 1、大小写敏感的区别(如果服务器OS是linux)。 在oracle中一般情况下不区分大小写。有时候我们在使用o... JavaSE6新特性:编译器API 本文介绍了JDK6中新增加的编译器API(JSR199)。利用此API,您可以在运行时调用Java编译器,可以编译不同形式的源代码文件,还可以采集编译器的诊断信息。 JavaSE6新特性:HTTP增强 本文将介绍JavaSE6中围绕着HTTP协议出... 最近有人问到ref关键字的正确用法,下面我们来举例说明。其实要更好的理解ref关键字,结合C++代码更加容易一些。另外在开始我们的例子之前,需要提前说明几点:C#中的数据有两种类型:引用类型(referencetypes)和值类型(valuetypes)。简单类型(包括int,long,double等)和结构(structs)都是值类型,而其他的类都是引用类型。简单类型在传值的时候会做复制操作,而引用类型只是传递引用,... 大抵而言,Singleton模式应该是设计模式中相当常用的一种了。它能够节省宝贵的CPU或内存资源,避免不必要的创建对象开销。然而,在多线程应用中,对于那些非线程安全的数据库组件,传统的Singleton将容易造成不稳定。如果使用Synclock进行同步,性能损耗可能将更大,特别在并发访问高的ASP.net应用中。 前十几天和网友聊天的时候,他把ThreadwiseSingleton发给了我,我随后改写成泛型类。事实上,它基于Threads... VB是常用的应用软件开发工具之一,由于VB的报表功能有限,而且一但报表格式发生变化,就得相应修改程序,给应用软件的维护工作带来极大的不便。因此有很多程序员现在已经充分利用EXECL的强大报表功来实现报表功能。但由于VB与EXCEL由于分别属于不同的应用系统,如何把它们有机地结合在一起,是一个值得我们研究的课题。 一、VB读写EXCEL表: VB本身提自动化功能可以读写EXCEL表,其方法如下: 1、在工程中引用MicrosoftExcel类型库: 从"工程"菜单中选择"引用"栏;选择Microsoft... java程序也会引起内存泄露已经是公开的秘密了,工作中需要对该问题引起充分的重视。市场上能够进行java内存检测的工具也有不少,我在工作中使用JBuilder自带的Optimize工具,现就最近一次使用Optimize的工程及经验进行以下梳理。前一段时间根据需要,对工作中维护的某个模块进行了java内存泄露的测试,结果发现了很严重的问题:该模块一共有6大基本功能,每个功能每操作一次,大约要新消耗9-10k的内存空间,生成110个左右的新对象。作为... Java程序连接oracle数据库时,用oci驱动要比用thin驱动性能好些。主要的区别是使用thin驱动时,不需要安装oracle的客户端,而使用oci时则要安装oracle的客户端。从使用thin驱动切换到oci驱动在配置来说很简单,只需把连接字符串java:oracle:thin:@hostip:1521:实例名换为java:oracle:oci@本地服务名即可。如:从jdbc:oracle:thin:@10.1.1.2:1521:shdb改成:jdbc:oracle:oci8:@shdb但这里这台机器需安装oracle数据库的客户端并配置本地服务名,同时还需指定NLS... 写在前面的话:网上讲Asp.net运行模式的好文章已经很多了,笔者本不用多此一举,另成一文。但从笔者自己的学习经验看,如果学到的这些知识不能对应到类库中的源代码,印象总归不够深刻,大有隔靴搔痒之感。只好自己写上一篇,对这方面的知识做个小小的总结。文中所有内容都是笔者在看了网上很多文章后,结合自己的开发经验得出的一些理解,难免有错误的地方,欢迎批评指出。另外,由于笔者能力所限,很多地方并未说透(真正对应到代码),也盼高手能够给予补充。 一.进入Asp.net运行时之前 虽然本文的重点是对托管代码的解析,但为了整个知识点的完整性,这里简单介绍一下IIS处理请求的一些基本情... 在Asp.net业务系统的开发过程中,为了保证页面风格的一致性以及减少重复代码的编写,我们需要引入基类页的概念,即:定义一个基类页,让所有的页面都继承这个基类,并在该基类页中加入公用的属性和方法。 实际使用时,按照功能页面划分,可以定义多个基类页,如:classFormBaseclassBizFormBase:FormBaseclassViewFormBase:BizFormBaseclassEditFormBase:BizFormBase... 正则表达式(regularexpression)是用来快速、高效地处理文本数据的工具。被处理的文本可以小到一个电子邮件地址,也可以大到一个多行文本输入框中的文本数据。正则表达式不仅可用来确认一段文本是否与一个预定义的模式相匹配,还可以用于从文本中抽取符合某一模式的数据。 正则表达式可以被看成是一个强大的通配符(通用匹配符号)。大多数人都应该很熟悉通配符,例如,当我们看到一个诸如“SAMS”的表达式,那么一个文本串中任何以SAMS开头的字符串都可以与这个表达式匹配。正则表达式提供了比这种通配符能力更强、控制规则更复杂、功能更完善的匹配机制。 本文将对.NET... 只要你愿意,严肃规矩的java也同样可以变得“动态”灵活起来。动有动的好处,静有静的好处。俗话说得好,“没有规矩不成方圆”,但“生命诚可贵,爱情价更高,若为自由故,两者皆可抛”。那么作为忙碌在程序艺术世界里的子民们,我们何去何从呢?投奔动态语言阵营还是继续在四平八稳的Java领域奋战?在我看来,“动”或“不动”需要一个黄金分割点。 1、寻找“动”与“不动”的黄金分割点 两年前,以MartinFowler为代表的一群大师们突然集体投奔到了动态语言阵营,手持RoR这个“核武器”,大喊着要灭了Java,要取代Java。现在回头来看,动态语... 大多数SQLServer表需要索引来提高数据的访问速度,如果没有索引,SQLServer要进行表格扫描读取表中的每一个记录才能找到索要的数据。索引可以分为簇索引和非簇索引,簇索引通过重排表中的数据来提高数据的访问速度,而非簇索引则通过维护表中的数据指针来提高数据的索引。1.索引的体系结构为什么要不断的维护表的索引?首先,简单介绍一下索引的体系结构。SQLServer在硬盘中用8KB页面在数据库文件内存放数据。缺省情况下这些页面及其包含的数据是无组织的。为了使混乱变为有序,就要生成索引。生成索引后,就有了索... 虽然已经有了ASP.NETAJAX了,最近学习ASP.NET控件的时候,逐步理解了原始的控件异步回调(代码取自《ASP.NET2.0高级编程》):首先,在Render事件中添加好一个事件protectedoverridevoidRenderContents(HtmlTextWriteroutput){output.RenderBeginTag(HtmlTextWriterTag.Div);output.AddAttribu...