位:“位(bit)”是电子计算机中最小的数据单位。每一位的状态只能是0或1。
字节:8个二进制位构成1个“字节(Byte)”,它是存储空间的基本计量单位。1个字节可以储存1个英文字母或者半个汉字,换句话说:1个汉字占据2个字节的存储空间。
字:“字”由若干个字节构成,字的位数叫做字长,不同档次的机器有不同的字长。例如一台8位机,它的1个字就等于1个字节,字长为8位。如果是一台16位机,那么,它的1个字就由2个字节构成,字长为16位。同理32位机,是有四个字节构成一个字。现在一般都是32位机。字是计算机进行数据处理和运算的单位。
KB:K表示1024,也就是2的10次方。1KB表示1K个Byte,也就是1024个字节。
MB:1MB = 1024KB = 1048576Bytes
进制也就是进位制,是人们规定的一种进位方法。 对于任何一种进制—X进制,就表示某一位置上的数运算时是逢X进一位。 十进制是逢十进一,十六进制是逢十六进一,二进制就是逢二进一。
失败的情况:
//======================================
// CString fileName = file.GetPathName();
//测试1
//char* pChar;
//pChar = (char *)fileName.GetBuffer();
////pChar = fileName.GetBuffer();
//fileName.ReleaseBuffer();
//测试2
/* char pChar[1024];
memcpy(pChar,fileName,fileName.);*/
//测试3
/* char pChar[1024];
int nIndex = fileName.GetLength();
for(int i=0;i<nIndex;i++)
{
pChar[i] = fileName[i];
}
pChar[nIndex] = 0;*/
//==========================================
(更多…)
1、内存分配方式
内存分配方式有三种:
(1)从静态存储区域分配。内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。例如全局变量,static变量。
(2)在栈上创建。在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中,效率很高,但是分配的内存容量有限。
(3) 从堆上分配,亦称动态内存分配。程序在运行的时候用malloc或new申请任意多少的内存,程序员自己负责在何时用free或delete释放内存。动态内存的生存期由我们决定,使用非常灵活,但问题也最多。
2、常见的内存错误及其对策
发生内存错误是件非常麻烦的事情。编译器不能自动发现这些错误,通常是在程序运行时才能捕捉到。而这些错误大多没有明显的症状,时隐时现,增加了改错的难度。有时用户怒气冲冲地把你找来,程序却没有发生任何问题,你一走,错误又发作了。 常见的内存错误及其对策如下:
* 内存分配未成功,却使用了它。
(更多…)
用法1:
decode(条件,值1,返回值1,值2,返回值2,…值n,返回值n,缺省值)
该函数的含义如下:
IF 条件=值1 THEN
RETURN(返回值1)
ELSIF 条件=值2 THEN
RETURN(返回值2)
……
ELSIF 条件=值n THEN
RETURN(返回值n)
ELSE
RETURN(缺省值)
END IF
用法2:
decode(字段或字段的运算,值1,值2,值3)
这个函数运行的结果是,当字段或字段的运算等于值1时,返回值2,否则返回值3
当然值1,值2,值3也可以是表达式,这个函数使得某些sql语句简单了许多
(更多…)
1 应用:
问题1:
CREATE PROCEDURE 存储过程名
AS
declare @xnames nvarchar(500)
declare @xvalues nvarchar(max)
INSERT INTO 表名(@xnames)VALUES(@xvalues)
问题2:
select
(‘SELECT colA FROM TableA WHERE colB = ”’xyz””) –两个逗号中三个逗号才算一个逗号
from TableB
(更多…)