常量指针与指针常量的区别

来源: 常量指针与指针常量的区别(转帖) – zhenw0 – 博客园

三个名词虽然非常绕嘴,不过说的非常准确。用中国话的语义分析就可以很方便地把三个概念区分开。

一) 常量指针。

常量是形容词,指针是名词,以指针为中心的一个偏正结构短语。这样看,常量指针本质是指针,常量修饰它,表示这个指针乃是一个指向常量的指针(变量)。

指针指向的对象是常量,那么这个对象不能被更改。

在C/C++中,常量指针是这样声明的:

1)const int *p;

2)int const *p;

常量指针的使用要注意,指针指向的对象不能通过这个指针来修改,可是仍然可以通过原来的声明修改,也就是说常量指针可以被赋值为变量的地址,之所以叫做常量指针,是限制了通过这个指针修改变量的值。例如:

int a = 5;

const int b = 8;

const int *c = &a; // 这是合法的,非法的是对c的使用

*c = 6; // 非法,但可以这样修改c指向的对象的值:a = 6;

const int *d = &b; // b是常量,d可以指向b,d被赋值为b的地址是合法的

细心的朋友在使用字符串处理函数的时候,应该会注意到这些函数的声明。它们的参数一般声明为常量指针。例如,字符串比较函数的声明是这样的:

int strcmp(const char *str1, const char *str2);

可是这个函数却可以接收非常量字符串。例如这段程序:

char *str1, *str2;

str1 = “abcde1234”;

str2 = “bcde”;

if(strcmp(str1, str2) == 0)

{

printf(“str1 equals str2.”);

}

str1和str2的内容显然是可以更改的,例如可以使用“str1[0] = x;”这样的语句把str1的内容由“abcde1234”变为“xbcde1234”。因为函数的参数声明用了常量指针的形式,就保证了在函数内部,那 个常量不被更改。也就是说,对str1和str2的内容更改的操作在函数内部是不被允许的。(就目前的应用来看,我觉得设置常量指针就是为函数参数声明准 备的,不然还真不知道用在什么地方呢,呵呵!)

虽然常量指针指向的对象不能变化,可是因为常量指针是一个变量,因此,常量指针可以不被赋初始值,且可以被重新赋值。例如:

const int a = 12;

const int b = 15;

const int *c = &a; // 为了简化代码,很多人习惯赋初始值

const int *d;

d = &a; // 这样当然是可以的

c = &b; // 虽然c已经被赋予初始值,可是仍然可以指向另一个变量

特点是,const的位置在指针声明运算符*的左侧。只要const位于*的左侧,无论它在类型名的左边或右边,都声明了一个指向常量的指针,叫做常量指针。

可以这么想,*左侧是常量,指针指向的对象是常量。

二) 指针常量

指针是形容词,常量是名词。这回是以常量为中心的一个偏正结构短语。那么,指针常量的本质是一个常量,而用指针修饰它,那么说明这个常量的值应该是一个指针。

指针常量的值是指针,这个值因为是常量,所以不能被赋值。

在C/C++中,指针常量这样声明:

int a;

int *const b = &a; //const放在指针声明操作符的右侧

只要const位于指针声明操作符右侧,就表明声明的对象是一个常量,且它的内容是一个指针,也就是一个地址。上面的声明可以这么读,声明了一个常量b,它的值是变量a的地址(变量a的地址,不就是指向变量a的指针吗)。

因为指针常量是一个常量,在声明的时候一定要给它赋初始值。一旦赋值,以后这个常量再也不能指向别的地址。

虽然指针常量的值不能变,可是它指向的对象是可变的,因为我们并没有限制它指向的对象是常量。

因此,有这么段程序:

char *a = “abcde1234”;

char *b = “bcde”;

char *const c = &a;

下面的操作是可以的。

a[0] = ‘x’; // 我们并没有限制a为常量指针(指向常量的指针)

或者

*c[0] = ‘x’ // 与上面的操作一致

三)指向常量的指针常量

顾名思议,指向常量的指针常量就是一个常量,且它指向的对象也是一个常量。

因为是一个指针常量,那么它指向的对象当然是一个指针对象,而它又指向常量,说明它指向的对象不能变化。

在C/C++中,这么声明:

const int a = 25;

const int * const b = &a;

看,指针声明操作符左边有一个const,说明声明的是一个指向常量的指针。再看,指针声明操作符右边有一个const,说明声明的是一个指针常量。前后都锁死了,那么指向的对象不能变,指针常量本身也不能变。细细体味,相信能得其道,下面就不赘述了。

用一个例子作为总结。虽然字符指针与其它指针的本质是一样的,可是因为字符指针常用来表示字符串,常不好理解。下面就用字符指针来举例。

char *a = “abcde1234”;

const char *b = “bcde”; // b是指向常量字符串的指针变量

char *const c = &a; // c是指向字符指针变量的常量

const char *const d = &b; // d是指向字符常量的指针常量

问题来了。

1)问:因为a是变量,a可以赋值为其它值,如”12345abc”。那么c指向a,当a变化了,c指向什么呢?

答:仍然指向”abcde1234″。虽然a可以指向别的字符串,可是c仍然指向”abcde1234″,也就是a开始指向的对象。

2)问:a是变量,可以改变a的内容。那么当执行了“a[0] = ‘x’;”后,c会怎样呢?

答:c当然还指向a初始指向的字符。不过,这个字符已经变成了’x’。

3)问:b是指向常量的指针变量,当b指向别的字符串,d怎么样?

答:d仍然指向b初始的字符串。

4)问:b可以变化,b指向的字符不能变化,也就是说b[0]不能被重新赋值,可是b[1]可以被重新赋值吗?

答:原则上b指向的字符是常量,并没有限制下一个字符,应该可以被赋值。可是因为你使用字符串进行了初始赋值,而且编译器是静态编译的,C/C++程序就把b当作字符串指针来处理了,因此,当对下一个字符进行赋值时,编译不能通过。

其他问题,欢迎补充。

我编了这样的口诀,记住,应该不难:

const(*号)左边放,我是指针变量指向常量;

const(*号)右边放,我是指针常量指向变量;

const(*号)两边放,我是指针常量指向常量;

指针变量能改指向,指针常量不能转向!

要是全都变成常量,锁死了,我不能转向,你也甭想变样

教你如何查看各种浏览器的Cookies

来源: 教你如何查看各种浏览器的Cookies[IE cookies信息] – Unvs博客

1、Firefox浏览器查看Cookie
步骤:打开浏览器-“工具”-“选项”-“隐私”-“删除私人cookie”–即可看到浏览器cookie列表,下面是图示操作 2、Chrome浏览器查看cookies
打开chrome浏览器-工具设置-选项-高级设置-内容设置-所有cookie和网站数据,即可看到cookies数据列表,如下图示流程: 这里还介绍一种查看chrome浏览器中cookie的快捷方法:通过快捷键Ctrl+Shift+Delete,打开清除浏览器cookie及缓存界面,点击”取消”,再点”内容设置”-“所有cookie和网站数据”,即可看到,可以省掉几步。。。
3、IE浏览器查看Cookies
这里介绍个工具给大家,不过只能查询IE浏览器的cookie,并不包含IE内核的其它浏览器。此工具没有任何插件、弹出广告,请放心下载。。。
软件分享:点击下载 本博文章基本上属于原创或收集整理,都是心血结晶。
欢迎转载分享,转载请注明出处,谢谢!

人物 爱新觉罗·宪东

来源: 爱新觉罗·宪东_百度百科

d01373f082025aaf0a417793fdedab64034f1a72

经历 1914年8月9日,善耆的第四侧室福晋生下了一个男孩,取名“宪东”,意为“把他宪(献)给东亚”,让他和日本人共同去实现东亚的繁荣与和平。宪东在这家族里得到了加倍的宠爱和精心的培育,家中来客都称他“王子”,仆人称他“爷”。

 1921年,善耆和第四侧室福晋都去世后,福晋赫舍里氏召见日本浪人川岛浪速,商定宪东和另外两位善耆后人随川岛浪速到日本接受武士道教育。宪东改名川岛良治。令他不能忍受的,是川岛浪速的变化。过去,川岛浪速在王爷、王子面前总是摆出一副谦恭的样子。到了日本,川岛浪速谩骂王爷的后代就像天天少不了的家常便饭一样。 

接受红色思潮洗礼 1929年,宪东十九哥结识了东京学生运动领袖加藤惟效。加藤惟效是日本共产党员,并且和共产国际有联系。 在加藤惟效的影响下,宪东走进了一个崭新的精神世界,接受了红色思潮的洗礼。
加藤惟效目睹了宪东兄弟二人的思想转变,但是他无意吸收他们兄弟加入日本共产党,希望他们兄弟二人将来学业有成,回国去找中国共产党,去当中国共产党员。加藤惟效期盼他们兄弟成为革命战士,但是他认为,从一个帝王家庭出身的青年成长为具有坚定信仰的革命者,前面有一条漫长的路。
宪东从陆军士官学校毕业了,到日本关东地区炮兵大队当见习军官。

1935年2月9日,宪东回到了伪满洲国的首都新京(长春),改名金宪东。任伪满军高射炮团连长。在此期间,金宪东频繁地和有抗日思想的亲戚联系,准备兵变,投奔抗日武装。但是举行兵变难度过大。
期间,金宪东受到日本高射炮专家的赞誉,被伪满军事部分配到伪奉天(沈阳)第一高射炮兵团任副团长。不久调到沈阳铁西区防空部队任队长。
一日,在铁西区繁忙的训练中,忧心忡忡的金宪东与愁容满面的溥杰相遇。溥杰把宪东拉到一个僻静角落里,悄悄地对宪东说:“战争的前景已经很清楚,日本难以支撑了,要留意找左翼的朋友想想办法,绝对不能坐以待毙。”金宪东望着溥杰的背影,抱怨道:“共产党为什么这样难找?”
走进抗日组织隐蔽战线
事实上,共产党领导的地下抗日组织,多年来始终在观察金宪东。

1944年春季,共产党地下组织确认金宪东倾向抗日,追求革命,于是派出奉天共产党地下组织主要负责人之一章晋,准备和金宪东进行接触。东北共产党领导的地下组织终于批准了接纳金宪东加入抗日青年地下组织。

 1945年,沈阳东北人民自治军卫戍司令部成立,金宪东和章晋同时由地下转入公开,金宪东主要负责清查敌伪军事物资的储存地点,保卫军火储存的安全。
随后,东北地下党组织推荐金宪东参加八路军李运昌部队,李运昌任命他为沈阳卫戍司令部第二纵队副司令,负责保卫铁西工业区和维持铁西区的治安。从此,金宪东正式由地下转为公开,由地方转入军队。经组织同意,金宪东改名为“艾克”。

 晚年生活编辑
1966年,“文革”开始了,艾克被造反派列入“不死心”的反动分子的行列里。但他没有被逮捕,也没有去坐牢。经过一段时间的“文革”的考验,艾克逐步适应群众运动了。他常常在批斗会上低头闭目养神,根本就不听群众呼喊的口号,有一次,甚至差点儿睡着了。 

1978年,艾克退休,1981年,经上级批准改为离休,享受副处级待遇,1988年改为享受地专级待遇。历史最终把公正还给了他。2002年3月13日,艾克栉风沐雨八十八个春秋,走完了他不平凡的人生路程,悄然离去。 

相关: 川岛芳子/爱新觉罗显玗
http://baike.baidu.com/link?url=PIvJYWE_VH15R91H7SskzdD1-DDm8takix4TlKZ5VvSkDXjMx9KabMFe9sdE_SoHDIqYx5JcMEcz_PU08dGEPAniP6ym41P1aVIRck0WSy7

程序猿的故事

程序猿问科比:“你为什么这么成功? ”科比:“你知道洛杉矶凌晨四点是什么样子吗? ”程序猿:“知道,一般那个时候我还在写代码,怎么了?”科比:“额…….”

来源: 程序猿的故事,看罢不禁捂紧胸口。。。 – 吕神的自我逗比修养

程序猿问科比:“你为什么这么成功? ”
科比:“你知道洛杉矶凌晨四点是什么样子吗? ”
程序猿:“知道,一般那个时候我还在写代码,怎么了?”
科比:“额…….”
二、
女神:你能让这个论坛的人都吵起来,我今晚就跟你走。
程序猿:PHP语言是最好的语言!
论坛炸锅了,各种吵架。
女神:服了你了,我们走吧,你想干啥都行。
程序猿:今天不行,我一定要说服他们,PHP语言是最好的语言。
三、
我是一个苦b的程序员,今晚加班到快通宵了,困得快睁不开眼了,女上司很关心,问我要不要吃宵夜。我没好气地说,宵夜就算了,能让我睡一觉就行了。女上司红着脸说了句讨厌啊,然后坐在我身边不动,好像距离我很近,搞得我很紧张,难道她发现我的程序出了bug?
四、
老公一定要找程序员!!!!!!
钱多话少死的早
五、
老婆给当程序员的老公打电话:“下班顺路买一斤包子带回来,如果看到卖西瓜的,就买一个。”
当晚,程序员老公手捧一个包子进了家门……
老婆怒道:“你怎么就买了一个包子?!”
老公答曰:“因为看到了卖西瓜的。”
七、
某人发帖子:“各位JR,我想做一个程序猿,请问有什么要注意的……”
某猿:“等我下班跟你细说……”
然后……就没有然后了我问程序员朋友借了1000,他说再多借你24吧,凑个整
九、
程序员A: “我吃鱼香肉丝盖饭, 你吃什么?”
程序员B: “宫保鸡丁盖饭.”
程序员A 在点菜单写上:
鱼香肉丝盖饭 1
宫保鸡丁盖饭 1
程序员B: “我还是要牛肉面吧!”
程序员A 更正点菜单:
鱼香肉丝盖饭 1
// 宫保鸡丁盖饭 1
牛肉面 1
十、
我是一个程序猿,一天我坐在路边一边喝水一边苦苦检查bug,这时一个乞丐在我边上坐下了,开始要饭,我觉得他可怜,就给了他一块钱,然后接着调试程序。他可能生意不好,就无聊的看看我在干什么,然后过了一会,他幽幽说,这里少了一个分号。
我惊奇的问:“你也懂这行啊” 乞丐说:“我以前就是做这个的。”
十一、
某程序员退休后决定练习书法,于是重金购买文房四宝。一日,饭后突生雅兴,一番研墨拟纸,并点上上好檀香。定神片刻,泼墨挥毫,郑重地写下一行字:hello world!
十二、
搞IT太辛苦了,想换一行怎么办?”“敲一下Enter键。”
十三、
程序员不喜欢乾隆的第八个儿子,因为八阿哥 bug
十四、
一女同学在食堂吃饭时,一程序猿凑到旁边,“同学,我能和你说话不,我已经一个月没和女生说话了。
十五、
两个程序员在聊天:“我昨天碰到个辣妹。我把她带回家,马上就开始如饥似渴地亲吻,她就坐在我的键盘上,然后……”“你在家里也有台电脑?CPU是什么型号的?”
十六、
程序员的读书历程:x 语言入门 —> x 语言应用实践 —> x 语言高阶编程 —> x 语言的科学与艺术 —> 编程之美 —> 编程之道 —> 编程之禅—> 颈椎病康复指南。

SQL基本命令 对库和表

SQL基本命令

登陆mysql

打cmd命令终端,如果已经添加了mysql的环境变量,可以直接使用命令

mysql -uroot 

直接回车,之后按提示输入密码,

如果未添加mysql的环境变量,可以切换到mysql的安装目录下的bin目录,再使用

mysq -uroot

你也可以手动为mysql添加环境变量。这里就不介绍怎么添加环境变量的方法了

密码输入正确之后,就会出现“Welcome to the MySQL monitor.  Commands end with ; or \g. ……”字样,

命令行出现“mysql>”字符前缀。现在你就可以使用命令对mysql进行操作了。曾经有没有过这样的经历,原来看见别人在命令行里面咔咔的猛敲时,就一通的崇拜,觉得这人很牛,现在你也可以让别一通崇拜了。

 
设置编码        mysql>SET NAMES utf8;

创建数据库      mysql>CREATE DATABASE lesson

显示所有数据库  mysql>SHOW DATABASES;SHOW COLU

使用数据库      mysql>USE 数据库名;

新建表          
mysql>CREATE TABLE study(
username VARCHAR(20),
age      TINYINT    UNSINGED,
salary   FLOAT(8,2) UNSINGED
);

关键字段 PRIMARY KEY 只能有一个属性带有该约束(可以与AUTO_INCREATE一起使用,但AUTO_INCREATE必须与PRIMARY KEY一起使用)
UNIQUE KEY 可以有多个属性带有该约束 表示唯一性

是否为空置 NULL/NOT NULL 默认为NULL

默认值 DEFAUET 标记该字段的属性默认属性为之后的值 (NOT NULL)

显示所有表   mysql>SHOW TABLES;

修改表的名称 1  mysql>RENAME TABLE study TO study_new ;

             2  mysql>ALTER TABLE study_new RENAME TO study;

显示字段信息  SHOW COLUMNS FROM study  或者  DESCRIBE study
     SELECT * FORM 表名

插入数据      mysql> insert into study
 (username,class,sex)VALUES(‘小王’,1,’男’),(‘小四’,2,’女’);

查询数据(使concat函数拼接数据)
             mysql> SELECT username,CONCAT(class,’班’),sex FROM study;

删除数据     mysql>DELETE FROM study WHERE  id=1;

删除数据表   DROP TABLE study;

删除数据库   mysql> DROP DATABASE lesson;

参考  http://jingyan.baidu.com/article/5bbb5a1b2b110213eba179d2.html

sql命令 错误编号和错误解释说明

sqlcode sqlstate 说明
000 00000 SQL语句成功完成
01xxx SQL语句成功完成,但是有警告
+012 01545 未限定的列名被解释为一个有相互关系的引用
+098 01568 动态SQL语句用分号结束
+100 02000 没有找到满足SQL语句的行
+110 01561 用DATA CAPTURE定义的表的更新操作不能发送到原来的子系统
+111 01590 为2型索引设置了SUBPAGES语句
+117 01525 要插入的值的个数不等于被插入表的列数
+162 01514 指定的表空间被置为检查挂起状态
+203 01552 使用非唯一的名字来解决命名的限定列
+204 01532 命名的对象未在DB2中定义
+206 01533 命名的列不在SQL语句中指定的任何表中存在
+218 01537 因为SQL语句引用一个远程对象,不能为该SQL语句执行EXPLAIN
+219 01532 命名的PLAN TABLE不存在
+220 01546 不正确定义PLAN TABLE,检查命名列的定义
+236 01005 SQLDA中的SQLN的值至少应于所描述的列的个数一样大
+237 01594 至少有一个被描述的列应该是单值类型,因此扩展的SQLVAR条目需要另外的空间
+238 01005 至少应有一个被描述的列是一个LOB,因此扩展的SQLVAR条目需要另外的空间
+239 01005 至少应有一个被描述的列应是单值类型,因此扩展的SQLVAR条目需要另外的空间
+304 01515 该值不能被分配给宿主变量,因为该值不再数据类型的范围之内
+331 01520 不能被翻译的字符串,因此被设置为NULL
+339 01569 由于与DB2 2.2版本的子系统连接,所以可能存在字符转换问题
+394 01629 使用优化提示来选择访问路径
+395 01628 设置了无效的优化提示,原因代码指定了为什么,忽略优化提示
+402 01521 未知的位置
+403 01522 本地不存在CREAT ALIAS对象
+434 01608 在DB2未来发布的版本中将不支持指定的特性,IBM建议你停止使用这些特性
+445 01004 值被CAST函数截取
+462 01Hxx 由用户定义的函数或存储过程发出的警告
+464 01609 命名的存储过程超出了它可能返回的查询结果集的个数限制
+466 01610 指定由命名的存储过程返回的查询结果集的个数。成功完成
+494 01614 由存储过程返回的结果集的个数超过了由ASSOCIATE LOCATORS语句指定的结果集定位器的个数
+495 01616 因为倒台SQL的成本估算超出了在ELST中指定的警告阀值,所以发出警告
+535 01591 请求一个主健的定位更新,或请求一个使用自我引出约束的表的删除操作
+541 01543 命名外健是一个重复的引用约束
+551 01548 命名的授权ID缺少在命名的DB2对象上执行命名操作的权限
+552 01542 命名的授权ID缺少执行命名操作的权限
+558 01516 已经被授权该PUBLIC,因此WITH GRANT OPTION不可用
+561 01523 对ALTER REFERENCES INDEX 和TRIGGER特权,PUBLIC AT ALL LOCATION无效
+562 01560 因为GRANTEE已经拥有这些特权,所以一个或更多的特权被忽略
+585 01625 模式名指定了不止一次
+599 01596 没有为长字符数据类型(BLOB,CLOB和DBCLOB)建立比较函数
+610 01566 由于建立了一个指定为DEFER YES的索引,指定的对象处于PENDING状态,或者因为使用了

ALTER INDEX改变关键值的范围,所以指定的对象处于PENDING状态
+625 01518 因为删除了主健索引,所以表定义被标注为不完整
+626 01529 删除了加强UNIQUE约束的索引,唯一性不在被加强
+645 01528 因为建立的索引中没有包含NULL,所以WHERE NOT NULL被忽略
+650 01538 不能更改或者建立已命名的表为从属表
+653 01551 在已指定的分区表空间中尚没有建立指定的分区索引,所以分区索引不可得
+655 01597 为CREATE或ALTER STOGROUP语句指定特定或者非特定的卷ID,在DB2较新发布的版本中(版本6

以后)将不再支持他们
+658 01600 当建立目录索引时,不能指定SUBPAGES语句,SUBPAGES将被忽略,并缺省为1
+664 01540 分区索引的限制关键字超出了最大值
+738 01530 已命名的对象的更改可能像只读系统中对象的改变要求一样
+799 0157 SET语句中引用的特定寄存器不存在,将忽略 SET请求
+802 01519 数据溢出或者因除法异常而引起的数据异常错误
+806 01553 ISOLATION(RR)与LOCKSIZE PAGE 冲突
+807 01554 由于十进制乘法导致溢出
+863 01539 连接成功,但是只支持SBCS
+2000 56094 SUBPAGES不等于1的1型索引不能成为数据共享环境中的缓冲池组依赖者
+2002 01624 因为指定的缓冲池不允许超高速缓存,GNPCACHE指定被忽略
+2007 01602 因为DB2子系统的参数禁用“提示(hiats)”所以不能指定优化提示
+30100 01558 分布式协议错误被检测到,提供原来的SQLCODE和SQLSTATE
-007 42601 SQL语句中由非法字符
-010 42603 字符串常量非正常终止;检查到有遗漏的引号标志
-029 42601 需要INTO语句
-060 42815 某特定数据类型的长度或者标量规范无效
-084 42612 不能执行SQL语句,因为该语句对动态SQL无效或者对OS/390的DB2无效
-097 42601 在单位类型、用户自定义的函数以及过程中不能使用带有CAST的LONG VARCHAR或

LONGVARGRAPHIC
-101 54001 SQL语句超出了已确定的DB2限制:例如,表的数目太多,语句中的字节太多
-102 54002 字符串常量太长
-103 42604 无效数学文字
-104 42601 SQL语句中遇到非法符号
-105 42604 无效的字符串格式;通常引用一个格式不正确的图形字符串
-107 42622 对象名太长
-108 42601 RENAME语句中指定的名字有错误,不能使用限定词
-109 42601 指定了无效语句;例如CREATE VIEW不能包含ORDER BY 语句
-110 42606 遇到了无效的十六进制的文字
-111 42901 指定的列函数没有给出列名
-112 42607 无效的列函数语法;列函数不能运行与其他的列函数之上
-113 42602 遇到无效字符
-114 42961 该语句的位置名称必须与当前服务器匹配,但是却没有匹配
-115 42601 因为比较运算符没有伴着一个表达式或者列表,遇到了无效谓词
-117 42802 待插入的数值的个数于被插入的行中的列数不相等
-118 42902 数据修改语句(UPDATE或DELETE)和FROM语句中的表和视图命名不合法
-119 42803 HAVING语句中的列的列表与GROUP BY语句中的列列表不匹配
-120 42903 不允许WHERE语句、SET语句、VALUES语句或者SET ASSIGNMENT语句引用列函数
-121 42701 在INSERT或UPDATE语句中,某一列被非法引用了两次
-122 42803 非法使用了列函数。因为没有用于一个列函数的所有列不再GROUP BY语句中
-123 42601 特定位置的参数必须是一个常数或者一个关键词
-125 42805 ORDERBY语句中指定了无效数字,该数字要么小于1要么大于选定的列数
-126 42829 不能为一个UPDATE语句指定ORDER BY语句
-127 42905 在子选择中DISTINCT只能指定一次
-128 42601 SQL谓词中NULL使用不当
-129 54004 SQL语句中包含的表多于15个
-130 22019 ESCAPE语句必须为一个字符
22025 无效的ESCAPE模式
-131 42818 LIKE谓词只能用于字符数据
-132 42824 LIKE语句、ESCAPE语句、LOCATE函数或POSSTR函数中有无效运算对象
-133 42906 无效相关子查询引用
-134 42907 大于255字节的列被不正确使用
-136 54005 排序关键字的长度大于4000字节
-137 54006 被连接的字符串太大;字符的最大值为32767;图形的最大值为16382
-138 22011 SUBSTR列函数的第二个或第三个操作符无效
-142 42612 不支持的SQL语句。该语句可能在另外的RDBMS上有效,也有可能在其他的上下文中有效(例

如,VALUES只能在触发器中出现)
-144 58003 指定的段号无效
-147 42809 某一源函数不能更改。要改变源函数,必须删除该源函数并重新建立他
-148 42809 RENAME和ALTER无法执行。RENAME不能对视图或者活动RI.ST表重新命名。ALTER不能用于改变列的长度,因为该列参与了RI、

一个用户退出程序、全局的临时表或打开DATACAPTURE CHANGES表的列
-150 42807 触发活动的INSERT,UPDATE或DELETE语句中指定了无效的视图更新或一个无效的转换表
-151 42808 试图更新一个不可更新的视图的列、一个DB2 CATALOG表的列或者一个ROWID列
-152 42809 DROP CHECK试图删除一个参照约束,或者DROP FOREIGN试图删除一个检查约束
-153 42908 无效的视图建立请求,必须为旋转列表中列出的列出的未命名的列或者重复的列提供一个名字
-154 42909 不能用UNION、UNION ALL或者一个远程表建立视图
-156 42809 在视图上建立索引是非法的,或者在ALTER TABLE,CREATE TRIGGER,DROP TABLE或LOCKTABLE

语句上指定一个不是表的其他对象这是无效的
-157 42810 必须在FOREIGN KEY语句中指定一个表名
-158 42811 视图的列和选择列表中的列不相匹配
-159 42089 无效DROP或COMMENT ON语句
-160 42813 对该视图的WITH CHECK OPTION无效
-161 44000 正被更新的视图WITH CHECK OPTION语句使得这行不能被插入或更新
-164 42502 用户没有建立这个视图的权限
-170 42605 标量函数指定了无效的参数个数
-171 42815 标量函数指定了无效的数据类型长度或者无效数值
-173 42801 在非只读型的游标上不能指定隔离级别UR
-180 22007 DATE、TIME、TIMESTAMP值的字符串表示法的语法不对
-181 22001 不是有效的DATE、TIME、TIMESTAMP值
-182 42816 在算术表达式中的日期/时间值无效
-183 22008 在算术表达式中返回的日期/时间值的结果不在有效值的范围内
-184 42610 没有正确使用日期/时间值的参数标记
-185 57008 没有定义本定的日期/时间出口
-186 22505 改变本定的日期/时间出口引发这个程序的长度无效
-187 22506 MVS返回无效的当前日期/时间
-188 22503 字符串表示无效
-189 22522 指定的编码字符集的ID无效或没有定义
-190 42837 不能象所设定的那样改变(ALTER)列。只能改变(ALTER)VARCHAR列的长度
-191 22504 字符串中包含了无效的混合数据
-197 42877 当两个或多个表被联合在一起排序时,限定的列名不能在ORDER BY语句中使用
-198 42617 试图对空的字符串发布一个PREPARE或EXECUTE IMMEDIATE语句
-199 42601 SQL语句中使用了非法关键词
-203 42702 模糊列引用
-204 42704 没有定义的对象名
-205 42703 指定的表的列名无效
-206 42703 列名没有在FROM语句所引用的任何表中,或者没有在定义触发器所在的表中
-208 42707 不能ORDER BY指定列,应为该列不在选择列表中
-212 42712 指定的表名在触发器中不允许多次使用,只能使用一次
-214 42822 DISTINCT、ORDER BY 引起的无效表达式
-219 42704 因为PLAN_TABLE不存在,EXPLAIN无法执行
-220 55002 遇到无效的PLAN_TABLE列
-221 55002 如果为PLAN_TABLE定义了可供选择的列,那么,必须定义所有的列
-229 42708 指定的现场找不到
-240 428B4 LOCK TABLE语句的PART子句无效
-250 42718 没有定义本地位置名
-251 42602 记号无效
-300 22024 宿主变量或参数中的字符串不是以NULL为终止
-301 42895 无效的宿主变量数据类型
-302 22001 输入的变量值对指定的列无效

-302 22003 输入的变量值对指定的列而言太大
-303 42806 因为数据类型不兼容,不能分配数值
-304 22003 因为数据超出了范围,不能分配数值
-305 22002 没有NULL指示符变量
-309 22512 因为引用的宿主变量被设置成NULL,所以谓词无效
-310 22501 十进制的宿主变量或参数包含非十进制数据
-311 22501 输入的宿主变量长度无效,或者时负值或者太大
-312 42618 没有定义宿主变量或者宿主变量不可用
-313 07001 宿主变量的个数不等于参数标识的个数
-314 42714 模糊的宿主变量引用
-327 22525 在最后分区的关键字范围内,不能插入行
-330 22021 不能成功的翻译字符串
-331 22021 字符串不能分配到宿主变量,因为其不能成功的被翻译
-332 57017 不能为两个命名的编码字符集的ID定义翻译规则
-333 56010 子类型无效导致翻译失败
-338 42972 ON语句无效,必须引用连接的列
-339 56082 访问DB2 2.2版本的子系统被拒绝,原因时ASCII到EBCDIC翻译不能进行
-350 42962 无效的大对象规范
-351 56084 SELECT列表中有不支持的数据类型
-352 56084 输入列表中有不支持的数据类型
-355 42993 LOB列太大,以至不能被记录在日志中
-372 428C1 每个表只允许有一个ROWID列
-390 42887 在上下文中指定的函数无效
-392 42855 自从前一次FETCH以来,指定游标的SQLDA已被不恰当的改变
-396 38505 在最后的访问过程中,视图执行SQL语句
-397 428D3 在某一列上不恰当的指定了GENERATED因为该列不是ROWID数据类型
-398 428D2 为某一个宿主变量请求LOCATOR,但是该宿主变量不是一个LOB
-399 22511 在INSERT语句中为ROWID列指定的值无效
-400 54027 在DB2编目中定义的用户自定义索引不能超过100个
-401 42818 算术操作符或比较操作符的操作对象不是兼容的
-402 42819 算术函数不能用于字符或日期时间数据
-404 22001 SQL语句指定的字符串太长
-405 42820 数值文字超出了范围
-406 22003 计算出的或者倒出的数值超出了范围
-407 23502 不能把NULL值插到定义为NOT NULL的列中
-408 42821 数值不能被更新或插入,因为他与列的数据类型不兼容
-409 42607 COUNT函数指定的运算对象无效
-410 42820 浮点文字笔30个字符的最大允许长度长
-411 56040 CURRENT SQLID使用无效
-412 42823 在子查询的选择列表中遇到了多个列
-413 22003 当转换为一个数字型数据类型时,数据溢出
-414 42824 LIKE谓词不能运行于用数字或日期时间类型定义的列
-415 42825 为UNION操作指定的选择列表不是联合兼容的
-416 42907 包含UNION操作符的SQL语句不允许有长的字符串列
-417 42609 两参数标识符作为运算对象被指定在同一谓词的两边
-418 42610 参数标识符使用无效
-419 42911 十进制除法无效
-420 22018 字符串自变量值不符合函数的要求
-421 42826 UNION操作的选择列表中没有提供相同数目的列
-423 0F001 为LOB或结果集定位器指定的值无效
-426 2D528 在不允许更新的应用服务器不允许执行COMMIT语句
-427 2D529 在不允许更新的应用服务器不允许执行ROLLBACK语句
-430 38503 在用户自定义的函数或存储过程中遇到了错误
-433 22001 指定的值太长
-435 428B3 无效的应用定义的SQLSTATE
-438 xxxxx 使用了RAISE_ERROR函数的应用发出了一个错误
-440 42884 存储过程或用户自定义函数的参数列表参数个数于预期的个数不匹配
-441 42601 与标量函数一起使用DISTINCT或ALL是不正确的用法
-443 42601 指定的外部函数返回错误的SQLSTATE
-444 42724 与被称为存储过程或用户自定义函数有关的程序不能找到
-449 42878 对存储过程或用户自定义的函数,CREATE或ALTER语句不正确(缺失EXTERNAL NAME 子句)
-450 39501 存储过程或用户自定义函数写入存储器的值超过了参数声明的长度
-451 42815 CREATE FUNCTION中指定了不正确的数据类型
-453 42880 用户自定义函数中的RETURNS语句无效
-454 42723 指定的函数识别标记与已存在的另一函数的识别标记冲突
-455 42882 模式名不比配
-456 42710 为用户自定义函数指定的函数名已经存在
-457 42939 用户自定义函数或用户自定义类型正试图使用系统中定义的函数或者类型所用的名称
-458 42883 没有找到函数
-463 39001 特定的外部例程返回无效的SQLSTATE
-469 42886 参数定义为OUT或INOUT的CALL语句必须提供宿主变量
-470 39002 指定了NULL参数,但是该例程却不支持NULL
-471 55023 存储过程或用户自定义函数失败:提供原因代码
-472 24517 外部的函数程序使游标处于打开状态
-473 42918 用户自定义数据类型命名不能和系统定义的数据类型一样
-475 42866 结果类型不能被转换成RETURNS类型
-476 42725 在其模式中该函数不是独一无二的
-478 42893 不能DROP或REVOKE特定的对象,因为其他对象依赖于该对象
-480 51030 直到存储过程已经被CALL后,DESCRIBE PROCEDURE和ASSOCIATE LOCATORS才能被发布
-482 51030 存储过程不返回到任何一个定位器
-483 42885 CREATE FUNCTION语句中的参数个数与源函数中的参数个数不匹配
-487 38001 选择了NO SQL选项建立指定的存储过程或用户自定义函数,但却视图发布SQL语句
-491 42601 CREATE FUNCTION语句无效,因为该语句没有RETURNS语句或者因为该语句没有指定有效的SOURCE或者EXTERNAL语句
-492 42879 指定函数的指定参数的个数有错误
-495 57051 语句的估计处理器成本超出了资源限制
-496 51033 语句无法执行,因为当前服务器与调用存储过程的服务器不同
-497 54041 指定的数据库超过了32767 OBID的上限,或者CREATE DATABASE语句使之达到了32511DBID的上限
-499 24516 指定的游标已被分配到结果集,该结果集来自已经指定的存储过程
-500 24501 因为连接被破坏,WITH HOLD游标被关闭
-501 24501 在试图获取数据或关闭一个游标前必须打开一个游标
-502 24502 在没有关闭游标前不能再次打开游标
-503 42912 因为列在游标的FOR UPDATE OF语句中没有被指定,该游标用于获取该列,所以不能更新该列
-504 34000 不能引用一个游标,因为他不是定义到程序里的
-507 24501 在试图更新或者删除WHERE CURRENT OF前,必须打开游标
-508 24504 因为被引用的游标当前不是处于数据行上,所以不能被更新或删除
-509 42827 除了在游标上指定的那个表(该表由WHERE CURRENT OF语句引用的)以外,再也不能从别的表上更新数据
-510 42828 表或视图不能被修改
-511 42829 对不可修改的表或视图,FOR UPDATE OF语句无效
-512 56023 对远程对象的无效引用
-513 42924 一个别名不能再被定义成另外的别名
-514 26501 游标尚没有被准备
-516 26501 试图描述未准备好的SQL语句
-517 07005 因为SQL语句尚没有准备好,游标无效
-518 07003 试图执行尚没有准备好的SQL语句
-519 24506 当为游标的SQL语句发布一个准备语句是,游标不能是打开的
-525 51015 不能在已指定的程序包中执行SQL语句,因为在绑定时间内该程序包无效
-526 42995 在给定的上下文中,不能使用全局的临时表
-530 23503 对特定的约束名指定了无效的外健值
-531 23504 从版本5开始,父关键字的多行更新将试图删除一个外关键字依赖的父关键字值,在版本5以前,当引用主关键值外健值当前 存在时,试图更新该主健值
-532 23504 删除操作违反了已指定的参照约束
-533 21501 多行插入无效,试图将多行插到自我引用的表中
-534 21502 可改变主健列值的更新语句不能在同一时刻用于更新多行
-535 21502 当从自我引用表中删除数据或者更新主健列时,不能指定WHERE CURRENT OF。不是版本5的子系统才调用该代码
-536 42914 因为某一特定表的参照约束存在,所以删除语句无效
-537 42709 在外健语句或主健语句的规范中,每个列的出现不能多于一次
-538 42830 无效的外健;不符合引用的表没有主健
-539 42888 不能定义外健,因为被引用的表没有主健
-540 57001 表定义不完整,直到为主健建立了唯一索引或UNIQUE语句、或者包含GENERATED BYDEFAULT属性的ROWID列
-542 42831 可以为空的列不允许作为主健的一部分包含在内
-543 23511 因为该表是指定了SET NULL删除规则的参照约束的父表而且检查约束不允许NULL,所以DELETE不能发生
-544 23512 不能用ALTER添加检查约束,因为已存在的某行与该检查约束冲突
-545 23513 INSERT或者UPDATE导致检查约束冲突
-546 42621 在CREATE或ALTER TABLE中指定的检查约束无效
-548 42621 因为指定的列而引起的检查约束无效
-549 42509 DYNAMICRULES(BIND)计划或程序包的无效SQL语句
-551 42501 用户试图对不拥有权限的特定的对象进行操作,或者表不存在
-552 42502 用户试图执行未被授权的操作
-553 42503 不能指定CURRENT SQLID,因为用户尚没有被允许改变那个ID
-554 42502 不能对你本身赋予一个权限
-555 42502 不能对你本身撤销一个权限
-556 42504 不能撤销用户没有拥有的权限
-557 42852 指定了不一致的授予或撤销关键词
-558 56025 为授予或撤销语句指定了无效的语句(一个或一组)
-559 57002 DB2权限机制已经禁用,授予或者撤销不能被发布
-567 42501 指定的权限ID缺少对指定的程序包的绑定权限
-571 25000 不允许多点更新
-573 42890 不能定义参照约束,因为已指定的父表中在指定的列上没有唯一健
-574 42864 指定的缺省与列定义冲突
-577 38002 试图修改用户自定义函数中的数据或者存储过程中的数据,但这些对象的建立没有选择MODIFIES SQL DATA选项
-579 38004 试图修改用户自定义函数中的数据或者存储过程中的数据,但这些对象的建立没有选择READ SQL DATA选项,也没有选择 MODIFIES SQL DATA选项
-580 42625 CASE表达式中的结果表达式不能都是空的
-581 42804 CASE表达式中的结果表达式为不兼容的数据类型
-582 42625 SEARCHED-WHEN-CLAUSE中的查找条件指定了一个限定的、IN或EXISTS谓词
-583 42845 指定的函数失败,因为他不是决定性的,或者可能有外部动作
-585 42732 在当前路径中模式名不止一次出现
-586 42907 CURRENT PATH专用寄存器在长度上不能超过254字符
-587 428C6 项目引用的列表必须是同一个家族
-590 42734 在命名的存储过程或用户自定义的函数中的参数必须是独一无二的
-592 42510 没有授权权限,让你在WLM环境中建立的存储过程或者用户自定义函数
-601 42710 试图创建(或重命名)已经存在的对象
-602 54008 CREATE INDEX语句中指定的列太多
-603 23515 因为发现有重复值,所以不能建立唯一的索引
-604 42611 在CREATE或ALTER TABLE语句中的为数据类型指定的长度、精度以及标度无效
-607 42832 指定的INSERT、UPDATE或DELETE语句不能被发布,应为这些语句对DB2 CATLOG表执行写操作
-611 53088 当LOCKSIZE是TABLE或者TABLESPACE时,LOCKMAX必须为0
-612 42711 在同一个表、索引或试图中不允许有重复列名
-613 54008 主健或UNIQUE约束太长或者包含了太多的列
-614 54008 已经超过了索引的内部健长度的最大长度(255)限制
-615 55006 不能删除这个程序包,因为该程序包目前正在执行
-616 42893 指定的对象不能被删除,因为其他对象依赖于该对象
-617 56089 对于DB2版本6,1型索引无效。对于以前的版本,1型索引不能用LOCKSIZE ROW或LARGE表空间定义
-618 42832 对DB2 CATALOG表的请求操作时不允许的
-619 55011 DSNDB07不能修改,除非他先被停止了
-620 53001 对在DSNDB07中的表空间不允许指定该关键词
-621 58001 遇到了重复的DBID,遇到了系统问题
-622 56031 不能指定FOR MIXED DATA因为没有安装混合数据选项
-623 55012 不能为单一的表定义多个族索引
-624 42889 不能为单一的表定义多个主健
-625 55014 用主健定义的表要求唯一索引
-626 55015 不能发布ALTER语句来改变PRIQTY SECQTY或ERASE,除非先停止了表空间
-627 55016 不能发布ALTER语句来改变PRIQTY SECQTY或ERASE,除非先把表空间定义为使用存储器组的表空间
-628 42613 指定语句时相互排斥的(例如,不能分区一个分段的表空间)
-629 42834 因为该外健不能包含空值,所以SET NULL无效
-630 56089 不能为1型索引指定WHERE NOT NULL
-631 54008 无效的外健;要么是比254个字节长,要么包含的列数多于40
-632 42915 指定的删除规则禁止把这个表定义为已制定表的从属表
-633 42915 无效删除规则;必须使用特定的强制删除规则
-634 42915 在这种情况下,DELETE CASCADE不允许
-635 42915 删除规则不能有差异或者不能为SET NULL
-636 56016 在分区索引健的升序或降序规范中,分区所以必须与该规范一致
-637 42614 遇到重复的关键词
-638 42601 在CREATE TABLE语句中缺少列定义
-639 56027 带有SET NULL的删除规则的外健的可空列不能是分区索引的列
-640 56089 不能为这个表空间指定LOCKSIZE ROW,因为在该表空间中的表上定义了1型索引
-642 54021 唯一约束包含太多的列
-643 54024 检查约束超出了3800个字符的最大长度
-644 42615 在SQL语句中为关键词指定的值无效
-646 55017 在指定的分区表空间或者缺省表空间中不能创建表,因为指定的表空间已经包含了一个表
-647 57003 指定的缓冲池无效,因为他没有被激活
-650 56090 ALTER INDEX不能被执行;提供了原因代码
-651 54025 如果CREARE或ALTER TABLE被允许,表对象的描述词(object descriptor,OBD)将超过最大值(32KB)
-652 23506 遇到了EDITRPROC或VALIDPROC冲突
-653 57004 在分区表空间中的表不可用,因为分区索引尚未被创建
-655 56036 在卷的列表中,STOGROUP不能指定为特定的或不特定(“*”)的卷
-658 42917 当试图删除指定的对象时,无法删除该对象,该对象的删除必须通过删除与之相关联的对象完成
-660 53035 不正确的分区索引规范,必须为族索引定义有限制的关键字
-661 53036 分区索引没有指定恰当的分区数目
-662 53037 试图在未分区的表空间(分段的或简单的)上建立分区索引
-663 53038 为分区索引指定的关键字限制值是一个无效数字
-665 53039 为ALTER TABLESOACE语句指定了无效的PART语句
-666 57005 SQL语句不能被处理,因为指定的函数当前正处于进行过程中
-667 42917 不能明确的删除分区表空间的族索引,必须除去分区表空间来去掉分区索引
-668 56018 不能向用EDITPROC定义的表中添加列
-669 42917 不能显式的删除分区表空间中的表,必须删除分区表空间来删除表
-670 54010 表的记录长度超过了页面的大小
-671 53040 不能更改指定的表空间的缓冲池,因为这将改变表空间的页面大小
-672 55035 在命名的表上不允许DROP
-676 53041 只有4KB的缓冲池可被用于一个索引
-677 57011 缓冲池扩展失败,由于可用的虚拟内存的大小不足
-678 53045 为才分区索引中指定的限制健提供的值与数据类型不符
-679 57006 不能创建某一个特定对象,因为该对象的一个drop目前正在挂起
-680 54011 对DB2表不能超过750列
-681 23507 列违反了指定的FIELDPROC
-682 57010 不能载入FIELDPROC
-683 42842 列、单值类型、函数或者过程无效,因为不兼容语句。例如,指定的INTEGER具有FORBITDATA选项
-684 54012 指定的文字列表不能超过254个字节
-685 58002 FIELDPROC返回一个无效的域描述
-686 53043 用FIELDPROC定义的一个列不能与一个使用不同的FIELDPROC定义的列作比较
-687 53044 列不能与一个非兼容字段类型的列比较
-688 58002 返回不正确的数据
-689 54011 从属表定义了太多的列
-690 23508 数据定义的控制支持拒绝这个语句
-691 57018 命名的注册表不存在
-692 57018 命名的索引不存在,但命名的注册表需要该索引
-693 55003 命名的注册表/索引的命名列无效
-694 57023 DROP正在命名的注册表上挂起
-696 42898 由于相关的名字或者转换表的名字使用不正确,指定的触发器无效
-697 42899 FOR EACH语句被指定,因此与OLD合NEW相关的名字是不允许的,或者不能为一个BEFORE触发器指定OLD_TABLE和NEW_TABLE
-713 42815 指定的专用寄存器是无效的
-715 56064 命名的程序不能被运行,因为他依赖与你所安装的DB2版本的部件,但是你的数据中心没有安装这个部件
-716 56065 命名的程序使用这个版本的不正确的发行版本做了预编译
-717 56066 BIND失败,因为他依赖与你所安装的DB2版本的部件,但是你的数据中心没有安装这个部件
-718 56067 REBIND失败,因为IBMREQD列无效
-719 42710 不能BIND ADD一个已经存在的程序包
-720 42710 不能BIND REPLACE一个已经存在的程序包版本
-721 42710 程序包的一致性记号必须是独一无二的
-722 42704 绑定错误,因为指定的程序包不存在
-723 09000 一个触发的SQL语句接受到一个错误
-724 54038 达到了(16)级联间接的SQL语句的最大项目
-725 42721 对专门指定的寄存器提供了一个无效值
-726 55030 因为SYSPKSYSTEM条目,不能绑定这个程序包
-728 56080 指定的数据类型不能与私有协议发布一起使用
-729 429B1 用COMMIT ON RETURN定义的存储过程不能用作嵌套的CALL过程的目标
-730 56053 在只读的共享数据库中为表定义的参照完整性无效
-731 56054 VSAM数据集必须用SHAREOPTION(1.3)定义
-732 56055 被定义为只读型数据库却拥有没有定义空间或者索引空间的DB2子系统
-733 56056 只读共享数据库的定义不一致
-734 56057 一旦一个数据库被定义为ROSHARE READ,他将不能被更改为其他不同的ROSHARE状态
-735 55004 用DBID名称标识的数据库不再是一个只读共享数据库
-736 53014 命名的DBID无效
-737 53056 在这种状况下,不能建立一个隐含的表空间
-739 56088 因为同时指定了ALLOW PARALLEL和MODIELES SQL DATA这两个语句,因此已设定的函数将不能再被更改
-740 51034 在这种方式下不能用MODIELES SQL DATA定义指定的函数
-741 55030 已经为命名的共享组成员的数据定义了工作文件数据库
-742 53004 DSNDB07是隐含的工作文件数据库
-746 57053 在特定的触发器、存储过程或函数中的SQL语句违反嵌套SQL限制
-747 57054 指定的表是不可用的除非为LOB数据列建立起必须的辅助表
-748 54042 在指定的辅助表上已经有一个索引
-750 42986 不能对已指定的表重新命名,因为他至少在一个现存的视图或触发器中被引用
-751 42987 存储过程或用户自定义的函数试图执行一个不允许执行的SQL语句。DB2的线程被置于MUST_ROLLBACK状态
-752 0A001 无效CONNECT语句
-763 560A1 无效的表空间名
-764 560A2 LOB表空间必须与其相关的基表空间同在一个数据库中
-765 560A3 表和数据库不兼容
-766 560A4 不能对辅助表进行请求的操作
-767 42626 CREATE INDEX失败,因为在辅助表中为索引指定了列,或者因为没有为非辅助表的索引指定列
-768 560A50 不能为指定的列或者指定的分区建立辅助表,因为其辅助表已经存在
-769 53096 CREATE AUX TABLE的规格与基表不匹配
-770 530A6 指定的表必须有一个ROWID列,那么该表才可以包含一个LOB列
-771 428C7 无效的ROWID列规范
-797 42987 CREATE TRIGGER包含不被支持的语法
-798 428C9 不能把一个值插入到用GENERATED ALWAYS定义的ROWID列
-802 22012 某一特定操作发生了异常错误。被零除
22003 某一特定操作发生了异常错误。但不是被零除
-803 23505 不能插入行,因为这将违反唯一索引的约束
-804 07002 SQLDA的调用参数列表有误
-805 51002 在计划中没有发现DBRM或程序包名
-807 23509 对已指定的环境和连接,该程序包不可用
-808 08001 CONECT语句与程序中的第一个CONNECT语句不一致
-811 21000 当多行作为一内嵌的选择语句的返回结果是,必须使用游标
-812 22508 在CURRENT PACKAGESET中的ID集合是空白的,语句不能被执行
-815 42920 在一个内置选择语句或者一个基本谓词的子查询中,显式的或隐含的指定了GROUP BY或HAVING语句
-817 25000 执行SQL语句将可能导致禁止更新用户数据或DB2编目
-818 5103 计划<->载入组件的时间戳不匹配,在执行计划中没有从同一个预编译中建立DBRM,该预编译是作为组件载入的
-819 58004 视图不能重建,因为在DB2编目中存储的分析树长度为0
-820 58004 在这个DB2版本的DB2编目中遇到了无效值
-822 51004 在SQLDA中遇到了无效地址
-840 54004 在选择列表或插入列表中返回的项目太多
-842 08002 到指定位置的连接已经存在
-843 08003 SET CONNECTION或RELEASE语句无法执行,因为连接不存在
-870 58026 宿主变量描述符的个数不等于语句中宿主变量的个数
-872 51302 这个子系统已指定了有效的CCSID
-873 53090 同一SQL语句中,不能同时引用EBCDIC表中的定义的列和ASCII表中定义的列
-874 53901 指定对象的编码方案与其表空间的编码方案不匹配
-875 42988 指定的操作符不能用于ASCII数据
-876 53092 不能为指定的原因创建对象:提供了原因代码
-877 53093 数据库或表空间不允许用ASCII,必须使用EBCDIC
-878 53094 该PLAN——TABLE不能是ASCII,必须使用EBCDIC
-879 53095 指定对象的CREATE或ALTER语句不能将列、单值类型,某个存储过程或用户自定义函数的参数定义为以下类型:MAXED DATA, GRAPHIC,VARGRAPHIC,LONGVARGRAPHIC,因为系统没有为指定的编码方案定义相应的CCSID
-900 08003 应用处理没有连接到应用服务器,语句不能被执行
-901 58004 遇到时断时续的系统错误,该错误不能抑制后继的SQL语句的执行
-902 58005 内部控制块的指针错误,要求重新绑定
-904 57011 指定的资源不可用
-905 57014 超出了资源上限
-906 51005 因为重大错误,SQL语句无法执行
-908 23510 当前资源限制设施的规范或者自动重绑定的系统参数不允许BIND,REBIND,AUTOREBIND
-909 57007 对象已被删除
-910 57007 因为在该对象上挂起DROP,所以不能访问该对象
-911 40001 当前工作单元已被回滚
-913 57033 因为死锁或超时导致不成功执行
-917 42969 绑定程序包已经失败
-918 51021 SQL语句不能被执行,因为连接丢失
-919 56045 需要一个ROLLBACK
-922 42505 连接权限失败。试图从TSO、CICS或IMS访问DB2,同时相应的连接设施处于非活动的状态
-923 57015 因为DB2不可用,所以不能建立连接
-924 58006 遇到了DB2内部的连接错误:提供了原因代码
-925 2D521 SQL的COMMIT语句不能从CICS或IMS/TM发布
-926 2D521 SQL的ROLLBACK语句不能从CICS或IMS/TM发布
-927 51006 当正在连接的环境没有建立时,语言接口被调用。利用DSN命令激发该程序
-929 58002 数据获取退出已经失败(DPROP)
-939 51021 由于远程服务器的未请求的回滚,要求一个回滚
-947 56038 SQL语句失败,因为更新不能被传播(DPROP)
-948 56062 DDF没有启动,分布式操作无效
-950 42705 在SQL语句中指定的位置在SYSIBM.LOCATIONS中没有定义
-965 51021 存储过程非正常终止(在DB2 6之前的版本)
-981 57015 当前不是处于允许SQL的状态时,试图在RRSAF中执行SQL
-991 57015 调用连接不能建立一个到DB2的隐含或开放连接
-2001 53089 为储存过程指定的宿主变量参数的个数不等于预期的参数个数
-20003 560A7 不能为GRECP中的表空间或索引指定GBPCACHE NONE
-20004 560A8 对于WORKFILE对象。8KB或16Kb的缓冲池页面大小无效
-20005 54035 指定的对象类型超出了内部的ID极限
-20006 53097 当没有指定WLM环境时,LOB不能被指定为参数
-20070 53098 不能非LOB列建立一个辅助表
-20071 53099 必须指定WLM环境名
-20072 56052 指定的权限ID不拥有在触发器程序包上执行BIND所需的权限
-20073 42927 不能按照指定的要求更改命名的函数,因为在现存的视图定义中引用了该函数
-20074 42939 不能建立指定的对象,因为“SYS”是一个保留的前缀
-20100 56059 在被触发的SQL语句中有BIND错误,指定了错误的SQLCODE和SQLSTATE
-20101 56059 由于指定的原因代码,该函数失败
-20102 42849 在CREATE或ALTER FUNCTION语句中不能使用指定的选项
-20104 42856 更改一个CCSID失败
-20106 42945 不能改变表空间或数据库的CCSID,因为现存的试图引用
-30000 58008 DRDA分布协议错误;处理可以继续
-30002 57057 使用DRDA的分布式客户把OPEN语句连接到PREPARE,但PREPARE接受到一个SQLCODE为+495的警告
-30020 58009 DRDA分布协议错误;对话被解除
-30021 58010 DRDA分布协议错误;处理不能继续
-30030 58013 违反分布协议:COMMIT不成功,对话被解除(AS)
-30040 57012 因为不能得到资源,执行失败,处理可以继续(AS)
-30041 57013 因为不能得到资源,执行失败,处理不能成功的继续(AS)
-30050 58011 执行不成功,在BIND过程中不能执行语句
-30051 58012 特定的BIND过程不是处于活动状态(远程BIND),从而导致失败
-30052 42932 程序准备的假设错误
-30053 42506 程序包的拥有者遭遇授权失败
-30060 08004 RBD遭遇授权失败
-30061 08004 指定了无效或者没有存在的RDB
-30070 58014 目标子系统不支持这个命令
-30071 58015 目标子系统不支持这个对象
-30072 58016 目标子系统不支持这个参数
-30073 58017 目标子系统不支持这个参数值
-30074 58018 应答信息不被支持
-30080 08001 SNA通信错误
-30081 58019 TCP/IP通信错误
-30082 08001 由于安全冲突、通信失败:提供了原因代码
-30090 25000 指定的操作对远程执行失败
-30104 56095 在绑定选项与绑定值中有错误
-30105 56096 指定的绑定选项不兼容

Dos常用命令

Dos常用命令 
一、基础命令 
1 dir 
无参数:查看当前所在目录的文件和文件夹。 
/s:查看当前目录已经其所有子目录的文件和文件夹。 
/a:查看包括隐含文件的所有文件。 
/ah:只显示出隐含文件。 
/w:以紧凑方式(一行显示5个文件)显示文件和文件夹。 
/p:以分页方式(显示一页之后会自动暂停)显示。 
|more:前面那个符号是“\”上面的那个,叫做重定向符号,就是把一个 
命令的结果输出为另外一个命令的参数。more也是一个命令,dir /w |more 
得到的结果和dir /w /p的结果是一样的。 
其他的参数大家可以用:dir/?查看。 

2 cd 
cd 目录名:进入特定的目录。如果看到有个目录显示为:abcdef ghi 就 
输入:cdabcdef.ghi进入该目录。 
cd\ 退回到根目录。 
cd..退回到上一级目录。 

3 md rd 
md 目录名:建立特定的文件夹。 (dos下面习惯叫目录,win下面习惯叫文 
件夹。呵呵!) 
rd 目录名:删除特定的文件夹。 

4 cls 
清除屏幕。 

5 copy 
copy 路径\文件名 路径\文件名 :把一个文件拷贝到另一个地方。 

6 move 
move 路径\文件名 路径\文件名 :把一个文件移动(就是剪切+复制)到另 
一个地方。 

7 del 
del 文件名:删除一个文件。 
del *.*:删除当前文件夹下所有文件。 
del不能删除文件夹。 

8 deltree 
删除文件夹和它下面的所有子文件夹还有文件,厉害。。。不要乱用。 

9 format 
format x: :x代表盘符,格式化一个分区。在dos下是用fat文件系统格式 
化的,在windows2000安装的时候会问你要不要转换为ntfs。 

10 type 
type 文本文件名:显示出文本文件的内容。 

11 edit 
其实这是个小程序,编辑文本文件用的。 

12 ren 
ren 旧文件名 新文件名:改文件名。 

二、关于网络的常用命令 
1 ping 
ping 主机ip或名字:向目标主机发送4个icmp数据包,测试对方主机是否收 
到并响应,一般常用于做普通网络是否通畅的测试。但是ping不同不代表网 
络不通,有可能是目标主机装有防火墙并且阻止了icmp响应。 
ping -t :不停的发送数据包。当然都很小,不能称作攻击。有些人自己写 
了一些类似于ping命令的程序,不停的发送很大的数据包,以阻塞目标主机 
的网络连接。 

2 net 
建议是用net /?获取具体帮助信息。实在是有很多参数,参数下面还有参 
数。常用:net view \\主机 来看共享,net start/stop 服务 来启动和停 
止服务,信使服务个人不太喜欢。 

3 netstat 
netstat 主机:查看主机当前的tcp/ip连接状态,如端口的状态。 

4 nbtstat 
nbtstat 主机:查看主机使用的NetBIOS name。 

5 tracert 
tracert 主机:查看从你自己到目标逐机到底经过了那些路径。如: 
tracert www.ncie.gov.cn 然后等待。。。就会看到你经过的一个个路由节 
点,一般大一点的路由器,如电信的主干路由,除了ip以外,都有英文标示 
的。 

6 pathping 
pathping 主机:类似tracert,但可以显示一些tracert不能显示出来的信 
息。可以自己试试。 

7 ftp 
字符方式的ftp,我喜欢用;)不用装cuteftp了。 

8 telnet 
字符方式的远程登录程序,是网络人员极其爱用的远程登录程序。我最近常 
用来调试邮件服务器。 

9 ipconfig 非常有用的网络配置、排错。。。命令。 
不加参数显示当前机器的网络接口状态。 
/all 先是详细的信息。 
/release 释放当前ip。 
/renew 重新申请ip。 
/flushdns 刷新dns缓存。 
/registerdns 重新栽dns服务器上注册自己。 
。。。。。。 

10 arp 操作当前的arp缓存。 
-a 显示arp缓存。 
-d 删除一条缓存纪录。 
-s 田家一条缓存纪录。 

11 nslookup 排除dns错误的利器。是一个交互的工具。使用之前请先努力弄清楚dns的作用以及dns的工作原理。 

xcopy是一个外部命令,也就是说,是一个小程序,有的时候会发现软盘上没有,硬盘上也没有。。。昏倒。。。当然勇气来使比copy好用,我喜欢加/e参数。 
smartdrv.exe 加载磁盘缓存,参数是缓存的大小,单位是kb。 
如:smartdrv 32768 就是加载32M的缓存。 
缓存的作用在你安装WIN2K的时候非常明显!不加缓存装WIN2K PRO要3小时左右,加载8M缓存后,只要30分钟。 
原理是在内存中划分出一块区域,在安装期间不断地把硬盘上的数据读取到那块缓存区域中,充分利用了内存。 

AT和任务计划作用一样。 
以下是使用方法,可以通过在命令提示符下面输入:AT /?获得帮助。 

AT 命令安排在特定日期和时间运行命令和程序。 
要使用 AT 命令,计划服务必须已在运行中。 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
AT [\\computername] [ [id] [/DELETE] | /DELETE [/YES]] 
AT [\\computername] time [/INTERACTIVE] 
[ /EVERY:date[,…] | /NEXT:date[,…]] “command” 

\\computername 指定远程计算机。 如果省略这个参数,会计划在本地计算机上运行命令。 
\\127.0.0.1代表本机。和不加这个参数意思一样。 

id 指定给已计划命令的识别号。 
用来识别任务,比如你要添加好几个任务,ID=1就代表第一个喽! 

/delete 删除某个已计划的命令。如果省略 id, 
计算机上所有已计划的命令都会被删除。 
/yes 不需要进一步确认时,跟删除所有作业 
的命令一起使用。 
time 指定运行命令的时间。 
/interactive 允许作业在运行时,与当时登录的用户 
桌面进行交互。 
/every:date[,…] 每个月或每个星期在指定的日期运行命令。 
如果省略日期,则默认为在每月的本日运行。 
/next:date[,…] 指定在下一个指定日期(如,下周四)运行命令。 
如果省略日期,则默认为在每月的本日运行。 
“command” 准备运行的 Windows NT 命令或批处理程序。

关于安装/上传wordpress站 遇到500 Internal Server Error

    相信大家无论是玩还是其他处于其他目的在建设自己的网站中都会遇到很多离奇的插曲    比如我在上传此站的第一天便遇到了麻烦。

    1. 首先在安装过程中 多次遇到500 Internal Server Error  当时以为是数据库连接信息错误或网站配置错误 没有解决 

    2.换个方法 将本地安装好的wp以及数据上传 

    OK 这回上传成功了 在数据库中的options修改了配置后 可以成功打开wp站 但是在进行与后台有关的操作时 又会遇到500 Internal Server Error

    简直是万恶的500 ERROR

查询500错误如下:

Internal Server Error 500 错误是一个通常的错误,原因可能有很多,往往是服务器进程内组件、模块或服务器调用的进程外组件等造成的错误。但如果不作如上操作,你是看不到具体的错误原因的,浏览器仅仅显示一个笼统的错误号码:500 

好吧 粗略看了下解释 对于解决问题并没有什么卵用

针对wp的解决方法:

在./wp-includes/class-http.php中搜索

$request_order = apply_filters( ‘http_api_transports’, array( ‘curl’, ‘streams’ ), $args, $url );

将其中额‘curl’, 去掉

而我的wp是新版本其中代码如下

$transports = array( ‘curl’, ‘streams’ );

$request_order = apply_filters( ‘http_api_transports’, $transports, $args, $url );

也就是把 ‘curl’, 去掉

雷军演讲:小米未来的发展计划和目标

来源: 雷军演讲:小米未来的发展计划和目标

“亚布力中国企业家论坛第十五届年会”于2015年2月28日-3月2日在黑龙江亚布力召开。小米公司董事长雷军出席并演讲。

 尊敬的各位朋友,这是一个非常非常高层次的会议,我刚才就在想我应该讲一点什么,我要是讲小米讲得很多,大家就认为我在做广告,其实我真的不想做广告。
我在来之前想来想去,还是打算先介绍一下小米。因为可能每一个人都听说过小米,但不是每一个人都了解小米,尤其是在高层次的人群里,比如说我相信在座的人可能没有几个人用过小米手机,有没有用过的?
谢谢,比我想象得要多。这就说明,我一定要为这个层次来介绍一下小米,让大家了解一下什么是小米。
我们把小米用非常通俗的话来介绍一下,其实只需要几句话就可以了。第一点是小米愿意不惜代价、不惜成本、真材实料做好一款好产品。我们这个时代已经到了消费设计的时代,大家对产品的品质有很高的要求。我想小米跟以前绝大部分的中国公司非常不一样,我们在做产品的时候,强调的是不惜代价,像三年半年前,我们第一次做手机的时候选用了高通最贵的处理器,用了夏普最贵的屏幕,在每一个环节里都是不惜代价的。我的观点是,以前我们做东西就是要便宜,在卖得便宜的要求下控制成本,控制成本的DNA一旦形成以后,就很容易自觉或不自觉地做样子货,这就是为什么市场上有大量的假货的原因。所以小米在做产品的时候,至少有一条,愿意不惜代价地做东西。
第二点,通过商业模式的创新,从研发到渠道到营销,各个角度的创新来提高运作效率。我们的运作效率到了什么样的程度?在创办小米之前有几家公司给过我很大的启发。其中两家高效率的公司给了我巨大的震撼。第一家是沃尔玛,沃尔玛在65年前创办的时候,只有一个很简单的想法,他说在65年前的美国零售业,要办一个大商场的话,一定要有45%的毛利率才能赚钱。我们中国社会现在也差不多了,也要30%、40%的毛利率才能挣钱。在65年前美国是45%,所以在他们创办的时候提了一个要求是22.5%的毛利率,他们要生存下去。最后在这个目标下,他们有两个小小的创新,第一个创新是以前的零售业一定得在最繁华的地方开商场,零售业的铁律就是位置、位置、还是位置。但沃尔玛怎么干的?他把商店开到了城乡接合部。第二,他不盖新商场,找一些仓库简单装修就完成了,因为这些看起来很简单的创新,使沃尔玛商品卖的毛利率做到了22.5%到23%,到今天为止依然是这个数据。然后通过大规模的效率改善,没有两到三个点的净利率,用了20年成为了世界第一,这就是沃尔玛。
最近这些年还有一家企业给了我巨大的震撼就是costco,它给我的震撼无法用语言表达,我第一次去他们那是3、4年前,我跟他们一群高管去美国出差,一下飞机他们就去了costco,我都没有什么感觉,他回来以后跟我们所有同事一讲,结果除了我以外所有人都去了costco,我说我们有什么东西还要到美国来买吗?晚上他们全部回来了,在跟我展示他们采购的战果。我问了一下猎豹CEO傅盛,我说你买了什么?他说买了两大箱东西,最后的保留节目是买箱子,因为买了一大堆的东西需要箱子装。
他说我给你举一个例子,新秀丽的超大号箱子再加一个大号箱子,在北京卖多少钱?大概是9000多,有人知道costco多少钱吗?900块人民币,150块美金。反正我听完了以后真的是一下子就震住了。然后我就去了,我逛了10分钟,我跟沈南鹏吹牛说我绝对看懂了,后来我转型去研究costco,觉得costco是一个什么样的公司呢?costco任何一个商品只挣1%到14%,如果任何一个商品的毛利率超过了14%都需要CEO特别批准,他们说从创办起到今天为止,没有任何商品的毛利率超过14%,这和在座的企业家想象得非常不一样,可能也跟在座的很多投资界的朋友想得不一样,这个公司是控制毛利率的,它的综合毛利率只有6.5%,美国的一个大型的连锁超市,只需要6.5%的毛利率就能打平,这是多么了不起啊?这就意味着你走到商店里面拿起任何一个东西,他只赚了6.5%,这6.5%就是他的成本,亚马逊要赚你23%,他只需要6.5%。他是怎么做的?
第一,它只面向美国的中产阶级。他说美国有3亿人,我的目标只服务美国的5000万人,我要让这5000万人口袋里一半的钱都花在我这里。所以,它只服务于精准的客户群。第二,它的商品琳琅满目,每个东西却只有两三个品牌,但是非常精致,这么大的商店里面只有3500种商品,而且每种商品都是老板亲自挑、自己用过的,他提了一个要求,让顾客在costco看到十件商品的时候至少有一件是感到惊喜,觉得惊讶的。所以你去了costco以后,不需要看价钱,不用琢磨它好用不好用,直接拿走就行,因为每个东西都很好,而且东西非常便宜。这是全球零售业的奇迹,6.5%的毛利率打平了,大家可能会问说,如果他只有6.5%的毛利率要控制毛利率的话,这个公司怎么生存?他的员工怎么去涨工资,他的股东怎么拿回报?
所以他们说我们只有6.5的毛利率,这样我们的股东不happy。其实他也用了我们一再谈的互联网思维,在30年前就用到了,他的羊毛也是出在猪身上。他干了两件事,第一是他发信用卡,他的信用卡赚钱的利润占总利润的1/3,他还有接近70%的利润来自于会员卡,他说我的东西很好,你每年交60美金买会员卡,这个利润接近70%。因为他的商品非常的好、非常的便宜,所以每一个人都愿意交这个钱,像消费一样。
我看了他的故事以后很震撼,在我们整天都在想怎么不断地提高毛利率的时候,是不是进入了一个怪圈,导致中国市场上买到的任何东西都越来越贵,怎么解决这个问题呢?我们要想东西卖得便宜,又想真材实料,怎么能做到?就是必须得下工夫做全渠道、全产业链的整合。只有这个大胆的创新才有机会把成本控制在合理的范畴。
在小米过去的创业时间里,我们所有的费用率全部加起来,研发、制造、维修、服务、市尝渠道,全部加起来只占了我们营业额的5%,或者商品零售价的5%,那么传统商业这些费用加起来至少要占到零售价的50%,小米到今天只用了5%,是因为这个创新使小米能很轻松地做任何的产品,相当于同行一半的价钱,是因为我们用了非常多种方式,形成了一个最高效的运作模型,我认为这才是小米真正有利的地方。
任何一个人仔细想一想,你们的零售价怎么才能只有5%的成本。为什么我去costco10分钟就看出来了,因为它的模式跟小米是惊人的一致。包括我在15年前做卓越也是这种模式。我们只用了两年的时间就做到了国内电子商务的第一名,我们是做书店的,可是我们的书店里只有1500本书,每一本都是陈年同学做过的,我一定要找一个懂书的人,反正看的书肯定比我多,就可以做到当年的电子商务第一名。我们的每一本书都是精挑细选的。其实今天给你很多的选择也是一个很痛苦的事情。第一条不惜代价地做好产品。第二是通过全年的流程优化,把成本控制在5%到6%。第三,竭尽成本做到别人一半的产品价。这就是小米的模式。
我们是怎么做到的?要感谢这个时代给我们的机遇。第一是电子商务。通过电子商务直销,把整个渠道和零售成本全部压缩掉,而且我们这个直销还是品牌电商,全部是自己干的。如果我们自己在网上开一个店,用户直接在我们店里买东西,我们需要的成本只有一两个点,就完成了整个销售全过程。当然大家知道,要用别的电商的平台,其实成本可能比你想像得要高很多,因为电子商务的成本并不便宜。比传统产业要高很多,但比我刚才说的做电子商务的直销相比的话,成本还是要高很多的。
第二点,我们要感谢社交媒体的时代。在小米创办的过去五年的时间里,微博的成长、微信的成长,给了小米巨大的机会。这个机会在什么地方?你的产品好、产品便宜,能够在非常短的时间里就传遍大江南北。我自己在创办小米的时候,也没想到有这么快的成长速度。我们的产品是三年半前发布的,2012年第一年就干了126亿,13年干了326亿,去年743亿人民币。其实我们的产品真正就销售了3年的时间。我估计今年过千亿应该没有什么悬念。我相信这样的数据应该是在全球范围里面都是成长最快的企业。所以这个背后是什么?就是因为口碑传播的速度比以前快了,以前需要花大量的成本做广告,今天不需要了。只要你的产品好,有好的口碑,社交化媒体传播的速度就会分分中把你的商品传遍大江南北,使大家很容易买到你的商品。
第三点,我们切入的时间点是智能手机这个时代爆发的时间点,三年半前,摩托罗拉卖给了Google,当然最近我们联想又收购了摩托罗拉,诺基亚宣布他们自己要放弃传统业务,所以在这个时间点的时候,智能手机、移动互联网的时代开始来临。所以小米这套模式又正好在这个时间点做了一个爆发性市场,所以这三点凑在一起,就创造了小米这么快的速度。就是电子商务条件的成熟,智能手机的爆发再加上社交化话题。我们因为这三个因素,使小米的业绩超乎想象。
那还有一条跟我们大背景相关的。是过去30年改革开放的红利,这30年的改革开放对小米有什么意义?就是我们中国已经成了世界制造的大国,小米所涉足的消费电子领域,全球销售的商品绝大部分在中国制造,当我们能够制造出顶级的产品的时候,我们大家设想一下,再做智能硬件、消费电子,中国拥有的优势远远超过了全球其他所有的国家。我相信未来十年二十年时间里,这个优势会越来越明显。所以小米又开始打造职能硬件的生态链。我们能做出来像国际品牌同样品质甚至更好的产品,我们能卖到什么样的价值?1/2、1/3甚至1/10。我们去年做了一款空气净化器,A4纸的大小,但它的净化能力可以到406立方米,每小时能净化的空气量,价钱只需要899,相当于国际品牌的1/10的价钱。其实这样的商品比比皆是。
我还举一个例子,就是智能手环,待机时间60天,跟国外同行比,他们的待机只有5天到7天,他们的商品要卖1000多块人民币,我们只需要79块人民币,短短几个月里面,我觉得用不了太久,我们就成为了世界第一的智能手环公司。
我举例子的原因是什么?是想说明中国改革开放之后强大的硬件的生产、制造、设计、研发的能力给了中国公司巨大的机会。再加上我刚才谈到的全流程优化,包括研发环节的优化,这个我就不展开讲了。
如果我们的成本只有零售价的5到6个点,我们就有机会按成本价零售。迅速把产品铺开,通过互联网的衍生收益的模式来获取利润。其实这就是小米模式的核心内容。小米在手机行业取得成功之后,我们、也在做电视、路由器,这是核心业务。除了这个业务我们已经投了27家智能硬件公司,做手机各个周边的硬件,怎么把这些硬件全部有效地联结在一起,就是我们最近的智能家居的战略,怎么以手机为中心连接所有智能设备,把这些设备全部联网,全部手机可控制,这就是我们最近在做的一件事。
前一段时间我们入股了美的,我们希望能参与到整个家电智能化的过程中,我认为这对整个中国都是一个巨大的机会。我们设想一下,你一回家掏出手机,家里所有设备都连在手机上,都可控制、可管理,信息高度地透明,而且全部的数据都在云端,这个会带来巨大的优势,比如说我举一些小的优势,空气净化器,很多人买了之后基本不换滤网,其实这样的话用了比不用更差,因为过滤网本身都有问题了,你不停地过滤实际上是加大了污染。所以,当我们把空气净化器联网以后有一个什么好处?当你的过滤络到期以后,你只要一点手机就可以换了。就这么一个简单的东西,当然联网了以后你发现你的使用体验和感受会完全不同。
包括前段时间大家在讨论特斯拉,特斯拉车上有一个3G的WCDMA的卡,这样你的车时时刻刻都在联网状态里,你的车的运行状况也都在服务器上,当有什么故障的时候,直接打电话说车需要维修有什么问题。所以当真正开始联网的时候,各种各样的服务都会产生,会使你的生活变得更舒服。
农村商业银行社区银行信贷风险金融供应链金融招商引资科技金融服务金融仓储金融网上银行飞机租赁银行业小米今天的智能家居的核心战略就是以手机为中心来连接所有的设备,我们希望用10年到20年的时间,能够带动国内一大批的企业走向世界,在各个领域成为世界第一。所以我相信,小米有一天会像70年代的索尼一样,带动整个日本制造业,就像80年代、90年代的三星一样影响整个韩国的工业。
我觉得小米的这种做法,比如说我们进入手机行业3年多的时间,带来的一个巨大的变化是,国产手机变好,而且手机变便宜了,而且用国产手机的人越来越多了,其实只用了3年的时间,比如说去年年初我们进入了移动电源市场,一年前我做移动电源的时候,一万毫安在淘宝上是200块人民币而且质量没有保证,移动电源里主要是电芯其实对安全因素影响很大。我们全部是用的顶级的进口电芯,铝合金的外壳,1万毫安69块人民币,过去的一年里我们卖了1960万只移动电源。今天再看移动电源市场的时候,你会发现所有的移动电源质量都上来了,外观都变漂亮了,而且价钱都便宜了。
所以我相信小米能用这种方式影响一个又一个行业和影响整个工业界,我觉得有十年的时间,中国可能在各个领域里都在世界前列了,我们不但产品做好了,而且我们的品牌和品质能得到全球用户的认可,这也是为什么过去一年小米开始做全球市场的原因。目前已经进入了7个国家和区域,我相信有个5到10年时间,我们会在多个领域里获得世界第一的位置。这就是我大概讲的小米未来的一个发展计划和目标。谢谢大家!

phpExcel中文帮助手册

1、设置excel的属性:
创建人
$objPHPExcel->getProperties()->setCreator(“Maarten Balliauw”);
最后修改人
$objPHPExcel->getProperties()->setLastModifiedBy(“Maarten Balliauw”);
标题
$objPHPExcel->getProperties()->setTitle(“Office 2007 XLSX Test Document”);
题目
$objPHPExcel->getProperties()->setSubject(“Office 2007 XLSX Test Document”);
描述
$objPHPExcel->getProperties()->setDescription(“Test document for Office 2007 XLSX, generated using PHP classes.”);
关键字
$objPHPExcel->getProperties()->setKeywords(“office 2007 openxml php”);
种类
$objPHPExcel->getProperties()->setCategory(“Test result file”);
设置当前的sheet
$objPHPExcel->setActiveSheetIndex(0);
设置sheet的name
$objPHPExcel->getActiveSheet()->setTitle(‘Simple’);
设置单元格的值
复制代码 代码示例:
$objPHPExcel->getActiveSheet()->setCellValue(‘A1’, ‘String’);
$objPHPExcel->getActiveSheet()->setCellValue(‘A2’, 12);
$objPHPExcel->getActiveSheet()->setCellValue(‘A3’, true);
$objPHPExcel->getActiveSheet()->setCellValue(‘C5’, ‘=SUM(C2:C4)’);
$objPHPExcel->getActiveSheet()->setCellValue(‘B8’, ‘=MIN(B2:C5)’);
合并单元格
复制代码 代码示例:
$objPHPExcel->getActiveSheet()->mergeCells(‘A18:E22’);
分离单元格
复制代码 代码示例:
$objPHPExcel->getActiveSheet()->unmergeCells(‘A28:B28’);
保护cell
复制代码 代码示例:
$objPHPExcel->getActiveSheet()->getProtection()->setSheet(true); // Needs to be set to true in order to enable any worksheet protection!
$objPHPExcel->getActiveSheet()->protectCells(‘A3:E13’, ‘PHPExcel’);
设置格式
复制代码 代码示例:
// Set cell number formats
echo date(‘H:i:s’) . ” Set cell number formats\n”;
$objPHPExcel->getActiveSheet()->getStyle(‘E4’)->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_CURRENCY_EUR_SIMPLE);
$objPHPExcel->getActiveSheet()->duplicateStyle( $objPHPExcel->getActiveSheet()->getStyle(‘E4’), ‘E5:E13’ );
设置宽width
复制代码 代码示例:
// Set column widths
$objPHPExcel->getActiveSheet()->getColumnDimension(‘B’)->setAutoSize(true);
$objPHPExcel->getActiveSheet()->getColumnDimension(‘D’)->setWidth(12);
设置font
复制代码 代码示例:
$objPHPExcel->getActiveSheet()->getStyle(‘B1’)->getFont()->setName(‘Candara’);
$objPHPExcel->getActiveSheet()->getStyle(‘B1’)->getFont()->setSize(20);
$objPHPExcel->getActiveSheet()->getStyle(‘B1’)->getFont()->setBold(true);
$objPHPExcel->getActiveSheet()->getStyle(‘B1’)->getFont()->setUnderline(PHPExcel_Style_Font::UNDERLINE_SINGLE);
$objPHPExcel->getActiveSheet()->getStyle(‘B1’)->getFont()->getColor()->setARGB(PHPExcel_Style_Color::COLOR_WHITE);
$objPHPExcel->getActiveSheet()->getStyle(‘E1’)->getFont()->getColor()->setARGB(PHPExcel_Style_Color::COLOR_WHITE);
$objPHPExcel->getActiveSheet()->getStyle(‘D13’)->getFont()->setBold(true);
$objPHPExcel->getActiveSheet()->getStyle(‘E13’)->getFont()->setBold(true);
设置align
复制代码 代码示例:
$objPHPExcel->getActiveSheet()->getStyle(‘D11’)->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_RIGHT);
$objPHPExcel->getActiveSheet()->getStyle(‘D12’)->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_RIGHT);
$objPHPExcel->getActiveSheet()->getStyle(‘D13’)->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_RIGHT);
$objPHPExcel->getActiveSheet()->getStyle(‘A18’)->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_JUSTIFY);
//垂直居中
复制代码 代码示例:
$objPHPExcel->getActiveSheet()->getStyle(‘A18’)->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);
设置column的border
复制代码 代码示例:
$objPHPExcel->getActiveSheet()->getStyle(‘A4’)->getBorders()->getTop()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
$objPHPExcel->getActiveSheet()->getStyle(‘B4’)->getBorders()->getTop()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
$objPHPExcel->getActiveSheet()->getStyle(‘C4’)->getBorders()->getTop()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
$objPHPExcel->getActiveSheet()->getStyle(‘D4’)->getBorders()->getTop()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
$objPHPExcel->getActiveSheet()->getStyle(‘E4’)->getBorders()->getTop()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
设置border的color
复制代码 代码示例:
$objPHPExcel->getActiveSheet()->getStyle(‘D13’)->getBorders()->getLeft()->getColor()->setARGB(‘FF993300’);
$objPHPExcel->getActiveSheet()->getStyle(‘D13’)->getBorders()->getTop()->getColor()->setARGB(‘FF993300’);
$objPHPExcel->getActiveSheet()->getStyle(‘D13’)->getBorders()->getBottom()->getColor()->setARGB(‘FF993300’);
$objPHPExcel->getActiveSheet()->getStyle(‘E13’)->getBorders()->getTop()->getColor()->setARGB(‘FF993300’);
$objPHPExcel->getActiveSheet()->getStyle(‘E13’)->getBorders()->getBottom()->getColor()->setARGB(‘FF993300’);
$objPHPExcel->getActiveSheet()->getStyle(‘E13’)->getBorders()->getRight()->getColor()->setARGB(‘FF993300’);
设置填充颜色
复制代码 代码示例:
$objPHPExcel->getActiveSheet()->getStyle(‘A1’)->getFill()->setFillType(PHPExcel_Style_Fill::FILL_SOLID);
$objPHPExcel->getActiveSheet()->getStyle(‘A1’)->getFill()->getStartColor()->setARGB(‘FF808080’);
$objPHPExcel->getActiveSheet()->getStyle(‘B1’)->getFill()->setFillType(PHPExcel_Style_Fill::FILL_SOLID);
$objPHPExcel->getActiveSheet()->getStyle(‘B1’)->getFill()->getStartColor()->setARGB(‘FF808080’);
加图片
复制代码 代码示例:
$objDrawing = new PHPExcel_Worksheet_Drawing();
$objDrawing->setName(‘Logo’);
$objDrawing->setDescription(‘Logo’);
$objDrawing->setPath(‘./images/officelogo.jpg’);
$objDrawing->setHeight(36);
$objDrawing->setWorksheet($objPHPExcel->getActiveSheet());
$objDrawing = new PHPExcel_Worksheet_Drawing();
$objDrawing->setName(‘Paid’);
$objDrawing->setDescription(‘Paid’);
$objDrawing->setPath(‘./images/paid.png’);
$objDrawing->setCoordinates(‘B15’);
$objDrawing->setOffsetX(110);
$objDrawing->setRotation(25);
$objDrawing->getShadow()->setVisible(true);
$objDrawing->getShadow()->setDirection(45);
$objDrawing->setWorksheet($objPHPExcel->getActiveSheet());
//处理中文输出问题
需要将字符串转化为UTF-8编码,才能正常输出,否则中文字符将输出为空白,如下处理:
$str = iconv(‘gb2312’, ‘utf-8’, $str);
或者可以写一个函数专门处理中文字符串:
复制代码 代码示例:
function convertUTF8($str)
{
if(empty($str)) return ”;
return iconv(‘gb2312’, ‘utf-8’, $str);
}
//从数据库输出数据处理方式
从数据库读取数据如:
复制代码 代码示例:
$db = new Mysql($dbconfig);
$sql = “SELECT * FROM 表名”;
$row = $db->GetAll($sql); // $row 为二维数组
$count = count($row);
for ($i = 2; $i <= $count+1; $i++) {
$objPHPExcel->getActiveSheet()->setCellValue(‘A’ . $i, convertUTF8($row[$i-2][1]));
$objPHPExcel->getActiveSheet()->setCellValue(‘B’ . $i, convertUTF8($row[$i-2][2]));
$objPHPExcel->getActiveSheet()->setCellValue(‘C’ . $i, convertUTF8($row[$i-2][3]));
$objPHPExcel->getActiveSheet()->setCellValue(‘D’ . $i, convertUTF8($row[$i-2][4]));
$objPHPExcel->getActiveSheet()->setCellValue(‘E’ . $i, convertUTF8(date(“Y-m-d”, $row[$i-2][5])));
$objPHPExcel->getActiveSheet()->setCellValue(‘F’ . $i, convertUTF8($row[$i-2][6]));
$objPHPExcel->getActiveSheet()->setCellValue(‘G’ . $i, convertUTF8($row[$i-2][7]));
$objPHPExcel->getActiveSheet()->setCellValue(‘H’ . $i, convertUTF8($row[$i-2][8]));
}
在默认sheet后,创建一个worksheet
在这里插入一段,之前脚本学堂也为大家介绍过几篇有关phpexcel的文章,有兴趣的朋友可以看看:
使用PHPExcel判别和格式化Excel中的日期格式的例子
phpexcel导出excel的颜色与网页中颜色不一致的解决方法
CI中使用PHPExcel导出数据到Excel
复制代码 代码示例:
echo date(‘H:i:s’) . ” Create new Worksheet object\n”;
$objPHPExcel->createSheet();
$objWriter = PHPExcel_IOFactory::createWriter($objExcel, ‘Excel5’);
$objWriter-save(‘php://output’);
附,几个常用的使用方法。
复制代码 代码示例:
<?php
include ‘PHPExcel.php’;
include ‘PHPExcel/Writer/Excel2007.php’;
//或者include ‘PHPExcel/Writer/Excel5.php’; 用于输出.xls的
创建一个excel
$objPHPExcel = new PHPExcel();
保存excel—2007格式
$objWriter = new PHPExcel_Writer_Excel2007($objPHPExcel);
//或者$objWriter = new PHPExcel_Writer_Excel5($objPHPExcel); 非2007格式
$objWriter->save(“xxx.xlsx”);
直接输出到浏览器
$objWriter = new PHPExcel_Writer_Excel5($objPHPExcel);
header(“Pragma: public”);
header(“Expires: 0″);
header(“Cache-Control:must-revalidate, post-check=0, pre-check=0″);
header(“Content-Type:application/force-download”);
header(“Content-Type:application/vnd.ms-execl”);
header(“Content-Type:application/octet-stream”);
header(“Content-Type:application/download”);;
header(‘Content-Disposition:attachment;filename=”resume.xls”‘);
header(“Content-Transfer-Encoding:binary”);
$objWriter->save(‘php://output’);
?>