- 浏览: 56085 次
- 性别:
- 来自: 深圳
最新评论
文章列表
现代化WEB项目中少不了要用到报表展现.对于中国式报表来说,复杂表头是必不要可少的一种表现形式。
形如下面的表格:
合并四
合并三 合并二
合并一 单元三
单元一 单元二 单元四 单元五
如何通过数据库表示这样一个复杂表头呢?其实他就是一个多叉树.在数据库里表达出一棵树信息
很简单吧.再者就是展现到页面时每一个树结点的Colspan,Rowspan怎么计算呢.Colspan比较简
单就是树的宽度.说白了就是叶结点的个数(因为叶结点的宽度都是1).Rowspan似乎不容易获得.
仔细看的话,你会发现当前结点Rowspan就是父结点为根的子树深度减去自身为根的 ...
签于现在的WEB应用数据量都非常大,采用数据库成为必然选择。一方面数据库服务器的性能往往高一些。
再者省去把大量数据装成对象的过程(OOP开发).一开始你会发现这样写是行不通的:
select * from aTable where rownum between 15 and 24
这里因为ROWNUM 列只有在记录被取出时,即执行SELECT时[数据库原理上叫投射],才会应用到记录。
第一行在被取出时会被抛出,因为它的 ROWNUM 是1。然后,下一行被取出;它也会被抛出,因为它是新的1,
以此类推,直到所有的行都被使用。这个查询不会返回任何记录。
解决这一问题材方法是先取出1到24行 ...
问:怎样将GBK 编码的汉字转换成为 UTF-8 编码的汉字?
[其实应这样问:怎样将GBK 编码的字节数组转换成为 UTF-8 编码的字节数组,
都是汉字有什么不同?]
答: new String(str.getBytes("gbk"),"utf-8");
其实这个答案非常错误,你可试一下,无论str是任何中文字符串,返回的结果都将是???.
问题在于str.getBytes("gbk")返回的是GBK格式的字节数组,即存在于GBK编码集中,
也就是说按GBK方式,这个字节数组可以转换成正确字符串,然而你偏要按 ...
把spring安装目录lib\c3p0下的c3p0-0.9.1.2.jar放置在类路径下
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
<property name="driverClass">
<value>com.mysql.jdbc.Driver</value>
</property>
<p ...
映射文件(hbm.xml): 是配置对象与数据库表的对应关系。是站在对象的位置上进
行配置的。* hibernate-mapping元素, package:指定一个包前缀,如果在映射文档中
没有指定全限定的类名,就使用这个作为包名。auto-import:指定是否可以在查
询语言中使用非全限定名(仅限于本映射文件中的类),默认为true。
Java是面向对象语言,对象模型,其主要概念有:继承、关联、多态等;关系型
数据库中的概念有:表、主键、外键等。当使用Jdbc去操作关系型数据库时,因
为他们对应不起来,所以要做转换(转换的过程就叫做ORM, Object Relation
Mapping, ...
MSDN解释:编译器检测到未使用的函数原型。如果有意将该原型作为变量声明,则移除左/右括号。什么意思,简单来说,就是编译无法分辨你当前的代码是在声明一个函数原型,还是在调用一个函数.因为在VS编译器里这样声明一个函数是正确的:test(int(a),int(b)),但我们经常用他做为函数调用来使用。
Code
// compile with: /W1
class Lock {
public:
int i;
};
void f() {
Lock theLock();
// try the following line instead
// Lock theLock ...
在C++中有一个特殊的运算符重载方法--类型转换运算符重载,形如:operator type();
Code
class CDemo{
public:
CDemo(int x,int y){
this->_x = x;
this->_y = y;
}
operator int(){ // 运算符重载
return _x;
}
private:
int _x;
int _y;
};
Code
int _tmain(int argc, _TCHAR* argv[])
{
...
一个简单的分解字符串的方法:
Code
vector<CString> CUtils::Split(const CString strSrc,const TCHAR splitChar)
{
vector<CString> vstr;
CString _str(strSrc);
INT pos;
while ((pos = _str.Find(splitChar))!= - 1)
{
vstr.push_back(_str.Left(pos));
_str = _str.Right(_str.Ge ...
java IO 的输出分两种,字节流: InputStream OutputStream 字符流: Reader Writer 这四个都是抽像类
具体实现为, 字节流:FileInputStream FileOutputStream 字符流:OutputStreamWriter->FileWriter OutputStreamReader->FileReader,如果需要缓冲区,则使用BufferedReader,BufferedWriter 。
InputStreamReader 是字节流通向字符流的桥梁:它使用指定的 charset 读取字节并将其解码为字符。它使用 ...
知道java的字符集编码,那么java是怎么读取内存中的字节转换成你需要的字符的呢,其实很简单,
java中的是通过StringCoding来完成字符转换的,他是一个内嵌类,现将源代码拷至如下:
Code
public class StringCoding {
private StringCoding() {
}
/**//*
* The cached coders for each thread
*/
private static ThreadLocal decoder = new ThreadLocal();
private ...
需要再一次强调的是,无论历史上的UCS还是现如今的Unicode,两者指的都是需要再一次强调的是,无论历史上的UCS还是现如今的Unicode,两者指的都是编码字符集,而不是字符集编码。花费一点时间来理解好这件事,然后你会发现对所有网页的,系统的,编码标准之间的来回转换等等繁杂事务都会思路清晰,手到擒来。
首先说说最一般意义上的字符集。
一个抽象字符集其实就是指字符的集合,例如所有的英文字母是一个抽象字符集,所有的汉字是一个抽象字符集,当然,把全世界所有语言的符号都放在一起,也可以称为一个抽象字符集,所以这个划分是相当人为的。之所以说“抽象”二字,是因为这里所提及的字符不是任何具体形式的 ...
ASCII及相关标准
地球人都知道ASCII就是美国标准信息交换码的缩写,也知道ASCII规定用7位二进制数字来表示英文字符,ASCII被定为国际标准之后的代号为ISO-646.由于ASCII码只使用了7个二进制位,也就是说一个字节可以表示的25 ...
UNICODE,GBK和BIG5就是编码的值,而utf-8,uft-16之类就是这个值的表现形式.而前面那三种编码是不兼容的,同一个汉字,那三个码值是完全不一样的. 在GBK中,英文是占用1个字节,中文是2个; 对于Unicode,英文中文都是2个; 对于UTF-8,英文是1个,中文是3个(UTF-8 使用一至四个字节为每个字符编码。128 个 ASCII 字符(Unicode 范围由 U+0000 至 U+007F)只需一个字节,带有变音符号的拉丁文、希腊文、西里尔字母、亚美尼亚语、希伯来文、阿拉伯文、叙利亚文及马尔代夫语(Unicode 范围由 U+0080 至 U+07FF)需要二个字节 ...
我现在看到这个话题,自己也感到吃惊。我也不知道当时我在制定编写计划的时候是如何考虑的。这个话题实在是太大了,如果要写好的话,不亚于写个设计师工作大全了。但是我是一个很机械的人,定了就写吧。说真的,做了 ...