Oracle一个UTF8字符集相关问题的解决 一般设计数据库的时候,我们都考虑一个汉字占用两个字节。所以设计数据库的时候,如果认为某字段最长要存四个汉字,该字段都会定义为varchar2(8)。SQL> create table t1 (col1 varchar2(8));Table created.但是测试插入三个汉字的时候就报错了。SQL> insert into t1 values('一二三');inse
System.String和System.Text.StringBuilder 在简单的字符串操作中使用String,在复杂的字符串操作中使用StringBuilder。StringBuilder对象的创建代价较大,在字符串连接目标较少的情况下,应优先使用String类型,而在有大量字符串连接操作的情况下,应优先考虑StringBuilder。同时,StringBuilder在使用上,最好指定合适的容量值,否则由于默认容易的不足而频繁进行内存分配的操作会影响性能。
接口本质 接口本质上仍然是类,可以看作是一个定义了抽象方法的类,该类仅提供了方法的定义,而没有方法的实现,其功能由接口的实现类来完成。也就是说,接口的抽象机制仍然是由多态来完成的。接口在本质上是一个不能实例化的类,但是又区别于一般意义上的类,例如不能实例化,允许多继承,还可以作用于值类型等。如:public struct DateTime:IComparable,IFormattable,IConv
SQLCE小结 1.SQLCE 不是作为服务存在,它是实现了SQL语法的一个基于文件的产品,即文件数据库,而其他的数据库不能简单删除。2.SQLCE的并发访问,同时写会有问题。可以自己用锁在外面控件并发。3.SQLCE不支持事务,会把数据库写崩溃。4.SQLCE单表修改,Add Column一定把此列加在最后一列。
C#调用C++编写的COM DLL 在C#调用C++编写的COM DLL封装库时会出现两个问题:1. 数据类型转换问题2. 指针或地址参数传送问题 首先是数据类型转换问题。因为C#是.NET语言,利用的是.NET的基本数据类型,所以实际上是将C++的数据类型与.NET的基本数据类型进行对应。 例如C++的原有函数是: int __stdcall FunctionName(unsig
VS2010中的调试技巧 这是我的博客中关于VS 2010和.NET 4发布系列的第二十六篇文章。 今天的博文将介绍Visual Studio中的一些实用调试技巧。这是受我朋友Scott Cate (他发表过几十篇很棒的VS技术文章) 启发。他最近告诉我,许多Visual Studio下的程序员,甚至一些很有经验的开发人员,都不知道这些技巧。希望这篇文章能帮你掌握这些技巧。它们都很简单,却能帮你节约大量的时间。
写给加班的IT女生 【来信】尊敬的贺老师: 你好,工作到现在有一年多了,感觉很忙碌,信息量很大,很多事情都没有时间做,总觉得时间好紧,待会再做,结果就有推到后面去了。现在每天晚上都在公司加班到9:00-10:00,很正常。计划中的事情,总是白天的一些紧急事情打乱,然后就剩下很少的时间做,然后就不得不加班完成计划。 晚上回去的晚,白天就有些困,状态不是很好,然后就效率低。 公司的老
DB2的MERGE语句使用注意事项! MERGE INTO project pxUSING (SELECT project.* FROM SYSIBM.DUAL LEFT JOIN project WHERE id = ?) py ON px.id = py.id WHEN MATCHED THEN UPDATE SET (name, description, last_changed
Merge 语句的使用 DB2 Merge 语句的作用非常强大,它可以将一个表中的数据合并到另一个表中,在合并的同时可以进行插入、删除、更新等操作。我们还是先来看个简单的例子吧,假设你定义了一个雇员表(employe),一个经理表(manager),如下所示: ---雇员表(EMPLOYE) CREATE TABLE EMPLOYE ( EMPLOYEID INTEGER NOT NULL,
c# 中string与StringBuilder区别 string是固定不变的,在进行字符串连接的时候实际上是新建一个字符串,返回一个新的字符串对象。连接赋值后, 如果对string赋值多次,就会在内存中保存多个这个对象的副本,这些对象不再被引用,极大地浪费了系统资源 。而StringBuilder是可变的,不用生成中间对象,拼接字符串比较多,或字符串的长度比较长时有较高的效率。 StringBuilder的内存空间不够也要扩容,如果分配的
前台验证(利用验证控件和正则表达式) 正则表达示收藏整数或者小数:^[0-9]+/.{0,1}[0-9]{0,2}$只能输入数字:"^[0-9]*$"。只能输入n位的数字:"^/d{n}$"。只能输入至少n位的数字:"^/d{n,}$"。只能输入m~n位的数字:。"^/d{m,n}$"只能
SQLite Drop Column BEGIN TRANSACTION;CREATE TEMPORARY TABLE test_backup(a,b);INSERT INTO test_backup SELECT a,b FROM test;DROP TABLE test;CREATE TABLE
C# observer模式 今天复习了一下c sharp中的observer模式,记录一下。定义委托HotDelegateEventHandlerusing System;using System.Collections.Generic;using System.Text;namespace ObserverTest{ public delegate void HotDelegateEv
关于File.Move方法 如果操作的源和目标处于相同的根目录下,如源处于/C:/,目标处于/C:/test/,Move操作就不会引发异常。如果操作的源与目标处于同一目录下,即全位于C盘下,则进行的是重命名操作,与文件正在是否使用无关。如果操作的源与目标处于相同的根目录下,如源处于/C:/,目标处于/C:/test/,Move操作进行的是移动操作。与文件是否正在使用无关。