??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲国产精品VA在线观看麻豆,久久91亚洲精品中文字幕,国产亚洲一区区二区在线http://www.tkk7.com/guiying/zh-cnSat, 10 May 2025 19:04:36 GMTSat, 10 May 2025 19:04:36 GMT60Linux|络~程中的地址问题http://www.tkk7.com/guiying/archive/2012/08/18/385755.html手心(j)上的冰山手心(j)上的冰山Sat, 18 Aug 2012 15:14:00 GMThttp://www.tkk7.com/guiying/archive/2012/08/18/385755.htmlhttp://www.tkk7.com/guiying/comments/385755.htmlhttp://www.tkk7.com/guiying/archive/2012/08/18/385755.html#Feedback0http://www.tkk7.com/guiying/comments/commentRss/385755.htmlhttp://www.tkk7.com/guiying/services/trackbacks/385755.htmlqx(chng)我们使用的IP地址?92.168.1.11q种cd的字W串;而在Linux内核中是用二q制方式表达的IP地址。在E序设计中经常要用到字符串表达方式的IP地址和二q制的IP地址之间的{换?/p>

  面对|络~程中众多的地址函数Q你hold住了(jin)么,tiger哥没hold住,所以就写了(jin)此篇文章Q希望大家能hold住网l编E?/p>

  前言Q结构体struct in_addrl构struct in_addr 在文件中定义Q结构in_addr 有一个unsigned long int cd的成员变量s_addr.通常所说的IP地址的二q制形式׃存在成员变量s_addr中?/p>

  l构struct in_addr的原型如下:(x)structin_addr{ unsigned long int s_addr;/*IP地址*/ }一。字W串IP地址转换Zq制形式的IP地址函数1.inetpd函数的原型:(x)#include #include #include int inet_aton(const char *cpQstruct in_addr *inp);int addr_t inet_addr(const char *cp);int addr_t inet_network(const char *cp);char * inet_ntoa(struct in_addr in);struct in_addr inet_makeaddr(int netQint host);in_addr_t inet_lnaof(struct in_addr in);in_addr_t inet_netof(struct in_addr in);2.inet_aton()函数int inet_aton(const char*cpQstruct in_addr *inp)

  1>函数作用Qinet_ation()函数在cp中存储的点分十进制字W串cd的IP地址Q{换ؓ(f)二进制的IP地址Q{换后的g存在指针inp指向的结构struct in_addr中?/p>

  2>形参Q?const char *cpQ指向字W类型的IP地址。例?#8220;192.168.1.11”Q?struct in_addr *inpQ指向二q制的网l字节顺序的IP地址structin_addr{ unsignedlong s_addr } 3>函数执行成功则返回非0|参数无效则返?. 4>实例Q?include #include #include

  #include #include #include int main()

  { char buffer[32];structin_addr in;in.s_addr =0;/*输入一个字W串形式的IP地址*/ printf(“pleaseinput the ip addrss\n”);scanf(“%s”Qbuffer);buffer[31]=‘\0’;printf(“original IP地址Q?s\n”Qbuffer);if( 0 == inet_aton(bufferQ?amp;in)){ perror(“inet_aton”);exit(1);} else { printf(“after transferQ?x%0x\n”Qin.s_addr);} 5> inet_aton函数最后计出来的是网l字节序的二q制IP 3.inet_addr()函数in_addr_t inet_addr(const char *cp)

  1>函数作用Q它?yu)参数cp所指向的字W串形式的IP地址(“192.168.1.11”)转换Zq制的网l字节序的IP地址形式该函数的~点是:(x)如果IP地址?55.255.255.255.那么调用inet_addr()函数后将q回-1(因ؓ(f)-1的补码Ş式是0xFFFFFFFF)。所以不使用inet_addr()函数Q而是使用inet_aton()函数?/p>

  2>函数形参Qconst char*cpQcp指向字符串Ş式的IP地址?/p>

  3>函数q回|(x)函数成功后返回二q制的网l字节序的IP地址(struct in_add)Q否则返?1. 4>inet_addr计算出来的是|络字节序的二进制IP 5>函数实例Q?include #include #include

  #include #include #include int main()

  { char buffer[32];structin_addr in;in.s_addr =0;/*输入一个字W串形式的IP地址*/ printf(“pleaseinput the ip addrss\n”);scanf(“%s”Qbuffer);buffer[31]=‘\0’;printf(“original IPaddressQ?s\n”Qbuffer);if((in.s_addr = inet_addr(buffer))==INADDR_NONE){ perror(“inet_addr”);exit(1);} else { printf(“after transferQ?x%0x\n”Qin.s_addr);} 4.inet_network in_addr_t inet_network(constchar *cp)

  1>函数作用Q将参数cp指向的字W串形式的网l地址转换Z机字节顺序Ş式的二进制IP地址?/p>

  2>函数形参Q?const char *cpQ?cp指向字符串Ş式的IP地址?/p>

  3>函数q回|(x)执行成功后返回{换后的结果,参数无效后返?1. 4>inet_networkq回的是L字节?>函数实例Q?include #include #include

  #include #include #include int main()

  { char buffer[32];structin_addr in;in.s_addr =0;/*输入一个字W串形式的IP地址*/ printf(“pleaseinput the ip addrss\n”);scanf(“%s”Qbuffer);buffer[31]=‘\0’;printf(“original IPaddressQ?s\n”Qbuffer);if((in.s_addr = inet_addr(buffer))==INADDR_NONE){ perror(“inet_addr”);exit(1);} else { printf(“after transferQ?x%0x\n”Qin.s_addr);}ȝQ?.inet_addr和inet_network函数都是用于字W串形式转换为整数Ş式用?2.inet_addrq回的整数Ş式是|络字节序,而inet_networkq回的整数Ş式是L字节序?/p>

  3.inet_addr 和inet_network有一个小~陷Q那是当IP?55.255.255.255Ӟq两个函C(x)认ؓ(f)q是个无效的IP地址Q这是历史遗留问题,其实在目前大部分的\由器上,q个 255.255.255.255的IP都是有效的?/p>

  4.inet_aton认ؓ(f)255.255.255.255是有效的Q所以徏议用inet_aton.q且inet_aton函数q回的是|络字节序的IP地址?/p>

  二。进制IP地址转换为字W串形式的IP地址1.char * inet_ntoa(struct in_addr in);1>函数作用Q将数gؓ(f)in的网l字节序形式的二q制IP地址转换为字W串形式的IP地址?/p>

  2>形参Qstruct in_addr inQ指向二q制的IP地址3>函数q回|(x)执行成功q回l果字符串的指针Q参数无效返回NULL. 4>函数实例Q?include #include #include

  #include #include #include int main()

  { char buffer[32];char *str;structin_addr in;in.s_addr =0;/*输入一个字W串形式的IP地址*/ printf(“pleaseinput the ip addrss\n”);scanf(“%s”Qbuffer);buffer[31]=‘\0’;printf(“original IP地址Q?s\n”Qbuffer);if( 0 == inet_aton(bufferQ?amp;in)){ perror(“inet_aton”);exit(1);} else { printf(“the first transferQ?x%0x\n”Qin.s_addr);} printf(“begin two processQ\n”);if( (str =inet_ntoa(in) == NULL ){ printf(“inet_ntoaQargumentinvalid\n”);} else { printf(“thesecond transferQ?s\n”Qstr);}说明Q?.函数inet_ntoa()的返回gؓ(f)一个指向字W串的指针,该内存函数inet_ntoa()每次调用都会(x)重新覆盖Q因此函C安全Q可能存在某U隐(zhn)?.实例Q?include #include #include

  #include #include #include int main()

  { structin_addr ip1Qip2;char *str1 ;char *str2;ip1.s_addr = 192<<24| 168 <<16 |1 <<8 | 1;ip2.s_addr =255<<24 | 255 <<16 |255<<8|255;str1 = inet_ntoa(ip1);str2 = inet_ntoa(ip2);printf(“ip1Q?x%xà%s\n”Qip1.s_addrQstr1);printf(“ip2Q?x%xà%s\n”Qip2.s_addrQstr2);}输出l果为:(x)ip1Q?0xc0a80101à255.255.255.255;ip2Q?xffffffffà255.255.255.255;表明函数inet_ntoa在进行二q制IP地址到字W串IP地址的{换过E中是不可重入的Q这个函数{换两个不同的IP地址得到?jin)同一个结果。此cd数在调用之后Q需要立卛_l果取出Q没有取出结果之前不能进行同样函数的调用?/p>

  三。最新的地址转换函数inet_pton()和inet_ntop()函数inet_pton和inet_ntopq?个函数能够处理ipv4和ipv6.是比较新的函数?jin)。inet_pton函数原型如下[?#8220;点分十进?#8221; -> “整数”]Qƈ且这两个函数是一套安全的协议无关的地址转换函数。所谓安全即q两个函数是可重入的Qƈ且这些函数支持多U地址cdQ包括IPv4和IPv6. 1.inet_pton()函数1>函数功能inet_pton()函数字W串cd的IP地址转换Zq制cd?/p>

  2>函数原型#include #include #include intinet_pton(int afQ?const char *srcQ?void *dst);3>函数形参Q? int afQaf表示|络cd的协议族Q在IPv4下的gؓ(f)AF_INET;Q?srcQ存N要{换的字符Ԍ dst Q存放{换后的结果,在IPv4下,dst指向l构struct in_addr的指针?/p>

  4>函数q回值当函数inet_pton()的返回gؓ(f)-1的时候,通常是用于af所指定的协议族不支持造成Q此时errno的返回gؓ(f)EAFNOSUPPORT;当函数的q回gؓ(f)0Ӟ表示src指向的g是合法的IP地址;当函数的q回gؓ(f)正值时Q表C{换成功?/p>

  2.inet_ntop()函数1>函数功能inet_pton()函数二q制的网lIP地址转换为字W串?/p>

  2>函数原型Q?include #include #include intinet_nton(int afQ?const void *srcQ?char *dstQsocklen_t cnt);3>函数形参Q? int afQaf表示|络cd的协议族Q在IPv4下的gؓ(f)AF_INET;Q?src Qؓ(f)需要{换的二进制IP地址Q在IPv4下,src指向一个structin_addrl构cd的指针。? dst指向保存l果~冲区的指针Q?cnt的值是dst~冲区的大小4>函数q回值Inet_ntop()函数q回一个指向dst的指针。当发生错误Ӟq回NULL.当af讑֮的协议族不支持时Qerrno讄为EAFNOSUPPORT;当dst~冲区大过的时候errno的gؓ(f)ENOSPC. 3.函数实例Q?include #include #include

  #include #include #include int main(int argcQchar *argv[])

  { struct in_addr ip;char ipstr[] = “192.168.1.1”;char addr[ADDRLEN];const char * str = NULL;int err = 0;if(err > 0){ printf(“inet_ptonQip %s value is Q?x%x\n”QipstrQip.s_addr);} //?92.168.12.255转换为网l字节序ip.s_addr = htonl(192 << 24 | 168<<16 | 12<<8 | 255);str = (const char *)inet_ntop(AF_INETQ?void*)&ipQ?char *)&addr[0]QADDRLEN);if(str){ printf(“inet_ntop Qip 0x%x is%s\n”Qip.s_addrQstr);}四。inet_makeaddr()函数Qinet_lnaof()函数和inet_netof()函数1.struct in_addr inet_makeaddr(int netQint host)

  1>函数功能Q一个主机的IP地址分ؓ(f)|络地址和主机地址Qinet_makeaddr()函数主机字节序的网l地址net和主机地址host合ƈ成一个网l字节序的IP地址?/p>

  2>函数形参Q? int netQ存攄l号参数(二进制Ş式的L字节?Q?int hostQ存放主机号地址(二进制Ş式的L字节?

  3>函数q回|(x)q回一个网l字节序的IP地址4>函数实例Qunsigned long netQhost;net = 0x0000007F;host = 0x00000001;struct in_addr ip = inet_makeaddr(netQhst);2.in_addr_t inet_lnaof(struct in_addr in)



]]>
职引发的诸多感?/title><link>http://www.tkk7.com/guiying/archive/2012/08/18/385753.html</link><dc:creator>手心(j)上的冰山</dc:creator><author>手心(j)上的冰山</author><pubDate>Sat, 18 Aug 2012 15:13:00 GMT</pubDate><guid>http://www.tkk7.com/guiying/archive/2012/08/18/385753.html</guid><wfw:comment>http://www.tkk7.com/guiying/comments/385753.html</wfw:comment><comments>http://www.tkk7.com/guiying/archive/2012/08/18/385753.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.tkk7.com/guiying/comments/commentRss/385753.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/guiying/services/trackbacks/385753.html</trackback:ping><description><![CDATA[<span style="color: #362e2b; font-family: Arial; line-height: 25px; text-align: left; background-color: #ffffff; "> ׃最q家里诸事繁多,目前的现状再也无法ؓ(f)l了(jin)Q于是做Z(jin)一个重要的军_--职。事实上Q在现在的公司做?gu)L(fng)军_也是理成章的事情,毕竟在去q的q个时候一起风雨同舟的同事们都已经陆箋(hu)职?jin),我是为数不多坚持到现在的目成员(sh)(jin)。当然我也ƈ没有l箋(hu)之前的项目,而且被外zֈ北京的另外一个项目中。刚C始,׃该项目组的压力很大,周围的同事们也都比较敬业Q再有这也是我第一ơ正式和北京的同事们一起合作,当然也是我第一ơ感受到北京软g开发的浓氛围。坦白的Ԍq个目l所做的东西和我的技术匹配度q不是很高,q好大家都比较职业,q且分工明确Q而分到我负责的部分也是相Ҏ(gu)较擅长的Q即核心(j)逻辑lg的开发和设计Q至于UI逻辑和底层技术攻关部分都交给?jin)其他h?/span><br style="color: #362e2b; font-family: Arial; line-height: 25px; text-align: left; background-color: #ffffff; " /><span style="color: #362e2b; font-family: Arial; line-height: 25px; text-align: left; background-color: #ffffff; ">      之前也有q几ơ辞职的l历Q只是这ơ的感觉比较奇怪,可能是年龄的原因吧,实不能做到q轻旉h无顾忌了(jin)。即便这ơ仍然能利扑ֈ新的工作Q但是下一ơ呢Q这U想法在之前的离职中是从未考虑的。有鉴于此,q?jin)将q一周的旉q行?jin)深入的思考。离职的真实原因I竟是什么,即便是有多个理由Q到底哪一个才是最最重要的呢Q然后又惻I职的目的又是什么,也就是说Z(jin)什么,而这个目的一旦达C后又能给你带来什么,所带来的这些又能对今后的发展有什么样的帮助,归根l底一句话Q主因和长远的规划是否是匚w的。带着q样一q串的疑问开始了(jin)自我反省的过E?/span><br style="color: #362e2b; font-family: Arial; line-height: 25px; text-align: left; background-color: #ffffff; " /><span style="color: #362e2b; font-family: Arial; line-height: 25px; text-align: left; background-color: #ffffff; ">      q是先说说原因吧?/span><br style="color: #362e2b; font-family: Arial; line-height: 25px; text-align: left; background-color: #ffffff; " /><span style="color: #362e2b; font-family: Arial; line-height: 25px; text-align: left; background-color: #ffffff; ">      W一Q家庭的负担。主要来自父母的w体Q再有就是孩子还,q样便无法保持这U每周出差的现状?jin)?/span><br style="color: #362e2b; font-family: Arial; line-height: 25px; text-align: left; background-color: #ffffff; " /><span style="color: #362e2b; font-family: Arial; line-height: 25px; text-align: left; background-color: #ffffff; ">      W二Q工作感觉不好。每周在天|工作的时候,周围没有一个Team MemberQ连沟通和开开玩笑的h都没有,周围都是其他目l的成员Q没有一个认识的?/span><br style="color: #362e2b; font-family: Arial; line-height: 25px; text-align: left; background-color: #ffffff; " /><span style="color: #362e2b; font-family: Arial; line-height: 25px; text-align: left; background-color: #ffffff; ">      W三Q沟通效率偏低,有的时候因Z个很单的Bug或新需求,不得不反复很多次Q这U异地的工作方式在沟通上实存在极大的障?/span><br style="color: #362e2b; font-family: Arial; line-height: 25px; text-align: left; background-color: #ffffff; " /><span style="color: #362e2b; font-family: Arial; line-height: 25px; text-align: left; background-color: #ffffff; ">      W四Q现有的工作和我未来的技术方向不是非常匹配。即便如此,毕竟是老Programmer?jin),应付h问题?sh)大?/span><br style="color: #362e2b; font-family: Arial; line-height: 25px; text-align: left; background-color: #ffffff; " /><span style="color: #362e2b; font-family: Arial; line-height: 25px; text-align: left; background-color: #ffffff; ">      W五Q对Ud讑֤的开发仍然保持着极大的热情,希望能够l箋(hu)从事q一斚w的技术研发工作?/span><br style="color: #362e2b; font-family: Arial; line-height: 25px; text-align: left; background-color: #ffffff; " /><span style="color: #362e2b; font-family: Arial; line-height: 25px; text-align: left; background-color: #ffffff; ">      W六、在?jin)解之后Q感觉外包公司的文化和所要求的技能对我来_(d)实非常不合适。不q这里的目q作方式实l了(jin)我一U耳目一新的感觉?/span><br style="color: #362e2b; font-family: Arial; line-height: 25px; text-align: left; background-color: #ffffff; " /><span style="color: #362e2b; font-family: Arial; line-height: 25px; text-align: left; background-color: #ffffff; "><span style="font-size: 16px; ">      </span>差不多就是这些了(jin)吧。从上面的几条中q行分析Q第一条是刚性的需求,没有什么可说的Q这是充分必要条件。而在其他原因之中Q第五条是最最重要的,管已经Coding很多很多q_(d)但lCoding下去的热情仍然和当初一L(fng)烈,也真的希望能够兑现入行之初的誓言QCoding到退休。然而所不同的是Q随着q龄的改变和l验的增多,不可能再像以前那h噩噩的去Coding?jin)。自׃直非常(f)望能够找C个非帔R帔R合自己Q同时又非常非常有兴的方向Q在q条路上Q最大化自己的经验|用几q的旉做出一个真正属于自己,同时又能证明自己价值的软g产品来?/span><br style="color: #362e2b; font-family: Arial; line-height: 25px; text-align: left; background-color: #ffffff; " /><p style="color: #362e2b; font-family: Arial; line-height: 25px; text-align: left; background-color: #ffffff; "><span style="font-size: 16px; ">      </span>当然每个人都希望有一份薪水丰厚的工作Q毕竟需要养家糊口,生儿育女。所以我们在急于实现理想的同时也不能不顾?qing)来自于现实的考验。我惻I能够完全攑־下去D死一搏ƈ最l取得成功的人应该是极少敎ͼ更多的h没有q样的勇气和q气。我作ؓ(f)一名老ProgrammerQ在?j)态上相比于以前更为^和了(jin)Q毕竟积蓄和收入都还说的过厅R然而希望赢得尊重的?j)却更?f)烈?jin),比如_(d)在最q这一q多的时间里Q坚持写博客和技术分享;之前独立开发的服务器^台已lؓ(f)多家型公司使用q成功部|上U;随着架构设计l验的不断提升,设计期间考虑的视角也更ؓ(f)多样。尽如此,?j)里始终q是埋藏着那个巨大的缺憾,Z么仍然没有一个真正属于自q产品呢?Z么不能像一个徏{师那样告诉周围人,q个建筑是我的作品?/p><img src ="http://www.tkk7.com/guiying/aggbug/385753.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/guiying/" target="_blank">手心(j)上的冰山</a> 2012-08-18 23:13 <a href="http://www.tkk7.com/guiying/archive/2012/08/18/385753.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>cas ajaxd方式跨域时session丢失问题解决http://www.tkk7.com/guiying/archive/2012/08/18/385754.html手心(j)上的冰山手心(j)上的冰山Sat, 18 Aug 2012 15:13:00 GMThttp://www.tkk7.com/guiying/archive/2012/08/18/385754.htmlhttp://www.tkk7.com/guiying/comments/385754.htmlhttp://www.tkk7.com/guiying/archive/2012/08/18/385754.html#Feedback1http://www.tkk7.com/guiying/comments/commentRss/385754.htmlhttp://www.tkk7.com/guiying/services/trackbacks/385754.html问题Q在ie览器下Q域名A通过iframe的方式把d信息post到域名ؓ(f)B的cas服务器上Q经qdebug发现A获取loginTicket时的sessionId和postq去时的sessionid不一致。只有ie览器有q个问题Q火狐谷歌浏览器正常?/span>

原因Q查资料知道IE6/IE7支持的P3P(Platform for Privacy Preferences Project (P3P) specification)协议默认LW三Ҏ(gu)隐私安全声明的cookieQ火狐和h目前q(sh)支持P3P安全Ҏ(gu),所以它们不存在此问题(sh)(jin)?/span>

解决Ҏ(gu)Q在W一ơ获取loginTicket时在response中设|p3p声明Q如下:(x)

response.setHeader("P3P", "CP=CURa ADMa DEVa PSAo PSDo OUR BUS UNI PUR INT DEM STA PRE COM NAV OTC NOI DSP COR");



]]>
Linux中修改IPhttp://www.tkk7.com/guiying/archive/2012/08/08/385099.html手心(j)上的冰山手心(j)上的冰山Wed, 08 Aug 2012 15:47:00 GMThttp://www.tkk7.com/guiying/archive/2012/08/08/385099.htmlhttp://www.tkk7.com/guiying/comments/385099.htmlhttp://www.tkk7.com/guiying/archive/2012/08/08/385099.html#Feedback0http://www.tkk7.com/guiying/comments/commentRss/385099.htmlhttp://www.tkk7.com/guiying/services/trackbacks/385099.html现在正在复习(fn)linuxQ将一些比较常用的东西C来,一遍以后再ơ复?/p>

使用root用户dQ或者用普通用L(fng)录之后用su root切换Q相信正思h都会(x)选择前者?/p>

1、切换目录:(x)

cd  /etc/sysconfig/network-scripts

2、用vi~辑器打开ifcfg-eth0

vi  ifcfg-eth0

修改其中内容Q?/p>

DEVICE=eth0

BOOTPROTO=static

IPADDR=192.168.1.3

NETMASK=255.255.255.0

GATEWAY=192.168.1.1

HWADDR=原来是什么就是什?/p>

ONBOOT=yes

 

然后重启|卡服务Q?/p>

service network restart

如果无法使用service,那么?sbin加入环境变量Q如果可以用则不需要执行下面命令:(x)

export PATH=$PATH:/sbin

 

 

q种修改Ҏ(gu)是永久的Q即使你重启后仍然有效,q有一U比较快L(fng)Ҏ(gu)如下Q?/p>

 

ifconfig eth0 192.168.1.3 netmask=255.255.255.0 up

立马生效?/p>

]]>
Linux中常用命令学?fn)ȝhttp://www.tkk7.com/guiying/archive/2012/08/08/385098.html手心(j)上的冰山手心(j)上的冰山Wed, 08 Aug 2012 15:46:00 GMThttp://www.tkk7.com/guiying/archive/2012/08/08/385098.htmlhttp://www.tkk7.com/guiying/comments/385098.htmlhttp://www.tkk7.com/guiying/archive/2012/08/08/385098.html#Feedback0http://www.tkk7.com/guiying/comments/commentRss/385098.htmlhttp://www.tkk7.com/guiying/services/trackbacks/385098.html前面的章节里对linux的文件的权限做了(jin)单的解释。现在来看看常见的命令,从简单的开始:(x)

1 、切换目?/p>

cd

?tmp 目录Qcd /tmp

C层目录:(x)cd ..

2 、查看当前目?/p>

pwd

3?创徏一个新的文件夹Q?/p>

mkdir

创徏一层目录:(x)

创徏多层目录Q?/p>

4 、删除目录:(x)

rmdir [-p]   如果需要层U删除目录,需要带上pQ只能删除空目录Q?/p>

5、查询环境变?/p>

echo $PATH  或?PATH

 

6、切换用P(x)

su 用户?/p>

7、移动文?/p>

 

 

仔细阅读上面的命令,你会(x)发现mvq可以对文gq行从命名,上面的命令将hellot.txt从a中移动到?jin)b中,q改名ؓ(f)hello1.txt

 

8、查看文件与目录

ls

ls -a  目录名称Q列出目录中所有的文g

ls -al 目录名:(x)列出长字W串Q包含文件的一些详l信?/p>

如果没有l定目录名,那么是当前目录

 

9、文件的复制Q?/p>

cp [-adfilprsu] 源文?nbsp; 目标文g    //源文g拯到目标文?/p>

cp  src1,src2,... des   //多个源文g拯到目的文件夹

 

cpq个命o(h)非常重要Q不同的w䆾执行对命令生不同的效果Q尤其是-a,-p参数Q对不同的n份来_(d)区别非常大?/p>

?Q?/p>

使用root执行Q?/p>

如果我们要将文g的所有的属性复制过来,则要加上参数-a

 

复制一个目录到另外一个目?cp -r /src /desc

 

 

10 、移除文件或目录

rm [-fir] 文g或目?/p>

-f 强制的意思,忽略不存在的文gQ不?x)出现警告信?/p>

-i互动模式Q删除前Q会(x)询问是否删除

-r Q递归删除

 

q里不再演示Q记得之前的rmdir吗,只能删除I目录,所以删除非I目录只能用rm -r

11、文件类Ҏ(gu)?/p>

cat

-b:列出行号

-n:列出行号Q包括空白行

 

cat 是一ơ性将数据昄到屏q上Q如果想一一늚看怎么办?

使用more命o(h)

more在运行的q程中,你有几个按键可以按:(x)

I格键:(x)代表向下M?/p>

Enter:代表向下滚动一?/p>

q:dmore

bQ往回翻?/p>

 

 

12 、创建文?/p>

touch

touch a.txt ׃(x)在当前目录下创徏a.txt

 

13、查找文件的命o(h)

whereis ,find

whereis [-bmsu]  文g或目录名

-b:二进制文?/p>

-m:只找在说明文件manual路径下的问|

-s:只找source源文?/p>

-u:查找不在上述三个选项中的其他Ҏ(gu)文g

 

whereis ifconfig

 

下面看看find命o(h)

 

find [path] [option] [actioin]

查找/home下面属于gavin的文?/p>

find   /home  -user  gavin

查找pȝ中不属于M人的文g

find /  -nouser

查找文g名ؓ(f)passwd的这个文?/p>

find    /     -name passwd

查找文gcd为socket的文?/p>

find   /    -type s

 

14、磁盘和目录的容?/p>

df:列出文gpȝ的整体磁盘(sh)用量

du:评估文gpȝ的磁盘(sh)用量

15 创徏链接文g

ln  [-sf] 源文?nbsp;  目标文g

 

-s  :创徏软连接,如果不加则是连?/p>

-f:如果目标文g存在Q则删除后再?/p>

 

[root@localhost test2]# echo 'good'>a.txt
[root@localhost test2]# ls
a.txt
[root@localhost test2]# ln -s a.txt b
[root@localhost test2]# ls
a.txt  b
[root@localhost test2]# ll
total 12
-rw-r--r-- 1 root root 5 Aug  8 01:09 a.txt
lrwxrwxrwx 1 root root 5 Aug  8 01:09 b -> a.txt
[root@localhost test2]# echo 'hello'>>b
[root@localhost test2]# cat b
good
hello
[root@localhost test2]# cat a.txt
good
hello
[root@localhost test2]# ln a.txt c
[root@localhost test2]# ll
total 20
-rw-r--r-- 2 root root 11 Aug  8 01:09 a.txt
lrwxrwxrwx 1 root root  5 Aug  8 01:09 b -> a.txt
-rw-r--r-- 2 root root 11 Aug  8 01:09 c
[root@localhost test2]# echo 'bad'>>c
[root@localhost test2]# cat c
good
hello
bad
[root@localhost test2]# cat a.txt
good
hello
bad
[root@localhost test2]# cat b
good
hello
bad
[root@localhost test2]# rm a.txt
rm: remove regular file `a.txt'? y
[root@localhost test2]# cat b
cat: b: No such file or directory
[root@localhost test2]# cat c
good
hello
bad
[root@localhost test2]#

 

q行上面的命令行Q相信你对ln的用会(x)非常清楚的?/p>

 

15、挂载CD

16、文件压~?/p>

tar

-c:创徏一个压~文?/p>

-v:昄压羃q程

-f:l出压羃文g?/p>

-x:解压文g

-t::查看压羃包中又哪些文?/p>



]]>
法学习(fn)之字W串左移和右U?/title><link>http://www.tkk7.com/guiying/archive/2012/08/08/385097.html</link><dc:creator>手心(j)上的冰山</dc:creator><author>手心(j)上的冰山</author><pubDate>Wed, 08 Aug 2012 15:45:00 GMT</pubDate><guid>http://www.tkk7.com/guiying/archive/2012/08/08/385097.html</guid><wfw:comment>http://www.tkk7.com/guiying/comments/385097.html</wfw:comment><comments>http://www.tkk7.com/guiying/archive/2012/08/08/385097.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.tkk7.com/guiying/comments/commentRss/385097.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/guiying/services/trackbacks/385097.html</trackback:ping><description><![CDATA[<p style="color: #333333; font-family: Arial; line-height: 25px; text-align: left; background-color: #ffffff; ">1.设计一个算法,把一个含有N个元素的数组循环右移K位,要求旉复杂度ؓ(f)OQNQ,</p><p style="color: #333333; font-family: Arial; line-height: 25px; text-align: left; background-color: #ffffff; ">且只允许使用两个附加变量?br />Ҏ(gu)一Q?br />每次数l中的元素右UM位,循环Kơ,则实C(jin)右移K位?br />例如Q?br />原始字符Ԍ(x)abcd1234<br />右移一位:(x)4abcd123<br />右移一位:(x)34abcd12<br />右移一位:(x)234abcd1<br />右移一位:(x)1234abcd<br />循环4ơ,则实C(jin)右移4?/p><p style="color: #333333; font-family: Arial; line-height: 25px; text-align: left; background-color: #ffffff; ">实现函数如下Q?br /></p><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #0000FF; ">void</span><span style="color: #000000; "> right_shift(</span><span style="color: #0000FF; ">char</span><span style="color: #000000; "> </span><span style="color: #000000; ">*</span><span style="color: #000000; ">str, </span><span style="color: #0000FF; ">int</span><span style="color: #000000; "> N, </span><span style="color: #0000FF; ">int</span><span style="color: #000000; "> K)<br />{<br />    </span><span style="color: #0000FF; ">char</span><span style="color: #000000; "> temp;<br />    K </span><span style="color: #000000; ">%=</span><span style="color: #000000; "> N; </span><span style="color: #008000; ">//</span><span style="color: #008000; ">目的是,当K > NӞUdKơ与UdK-i*Nơ是一L(fng)?/span><span style="color: #008000; "><br /></span><span style="color: #000000; ">    </span><span style="color: #0000FF; ">while</span><span style="color: #000000; ">(K</span><span style="color: #000000; ">--</span><span style="color: #000000; ">)<br />    {<br />        t </span><span style="color: #000000; ">=</span><span style="color: #000000; "> str[N </span><span style="color: #000000; ">-</span><span style="color: #000000; ">1</span><span style="color: #000000; ">];<br />        </span><span style="color: #0000FF; ">for</span><span style="color: #000000; ">(</span><span style="color: #0000FF; ">int</span><span style="color: #000000; "> i </span><span style="color: #000000; ">=</span><span style="color: #000000; "> N </span><span style="color: #000000; ">-</span><span style="color: #000000; "> </span><span style="color: #000000; ">1</span><span style="color: #000000; ">; i </span><span style="color: #000000; ">></span><span style="color: #000000; "> </span><span style="color: #000000; ">0</span><span style="color: #000000; ">; i</span><span style="color: #000000; ">--</span><span style="color: #000000; ">)<br />            str[i] </span><span style="color: #000000; ">=</span><span style="color: #000000; "> str[i </span><span style="color: #000000; ">-</span><span style="color: #000000; "> </span><span style="color: #000000; ">1</span><span style="color: #000000; ">];<br />        str[</span><span style="color: #000000; ">0</span><span style="color: #000000; ">] </span><span style="color: #000000; ">=</span><span style="color: #000000; "> t;<br />    }<br />}</span></div><br /><p>从上面的实现代码可以看出Q?br />׃K %= NQ?所以while循环的K值是于N的。所以时间复杂度最大ؓ(f)O(N^2), I间复杂度ؓ(f)O(1)Q不W合题目要求?/p><p>Ҏ(gu)二:(x)<br />对于原始字符串abcd1234Q右U?位后为:(x)34abcd12?br />通过比较可以看出Q有两段子字W串的顺序是不变的。abcd12?4?br />则可发现Q右UK位的q程是把数l的两部分交换的q程?/p><p>例如Qabcd12|34.<br />对abcd12逆序排列Q?1dcba<br />?4逆序排列Q?nbsp;  43<br />对全部的21dcba|43q行逆序排列Q?4abcd21.</p><p>得出如下l论Q?br />字W串S="abcd1234"分ؓ(f)两部分X="abcd12"和Y="34"。那么S=(X, Y)<br />X逆序Cؓ(f)X'="21dcba"<br />Y逆序Cؓ(f)Y'="43"<br />?X', Y')="21dcba43"整体再逆序?34abcd12" = (Y, X)</p><p>?X', Y')' = (Y, X)</p><p>代码实现如下Q?/p><br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #0000FF; ">void</span> reverse(<span style="color: #0000FF; ">char</span>* str, <span style="color: #0000FF; ">int</span> begin, <span style="color: #0000FF; ">int</span> end)<br />{<br />    <span style="color: #0000FF; ">char</span> temp;<br />    <span style="color: #0000FF; ">for</span>( ; begin < end; begin++)<br />    {<br />        temp = str[end];<br />        str[end] = str[begin];<br />        str[begin] = temp;<br />    }<br />}<br /><br /><span style="color: #0000FF; ">void</span> right_shift(<span style="color: #0000FF; ">char</span> *str, <span style="color: #0000FF; ">int</span> N, <span style="color: #0000FF; ">int</span> K)<br />{<br />    K %= N;<br />    reverse(str, 0, N - K -1);<br />    reverse(str, N - K, N - 1);<br />    reverse(str, 0, N - 1);<br />}</div><br /><br /><p style="color: #333333; font-family: Arial; line-height: 25px; text-align: left; background-color: #ffffff; ">该算法则实现?jin)在U性时间内实现右移操作?jin)?/p><p style="color: #333333; font-family: Arial; line-height: 25px; text-align: left; background-color: #ffffff; ">~写d数测试如下:(x)</p><div style="font-size: 13px; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: #cccccc; border-right-color: #cccccc; border-bottom-color: #cccccc; border-left-color: #cccccc; border-image: initial; padding-right: 5px; padding-bottom: 4px; padding-left: 4px; padding-top: 4px; width: 98%; word-break: break-all; background-color: #eeeeee; "><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->#include <stdio.h><br />#include <stdlib.h><br /><br /><span style="color: #0000FF; ">int</span> main()<br />{<br />    <span style="color: #0000FF; ">char</span> str[] = "abcd1234";<br />    printf("The initial string:%s\n", str);<br />    <br />    right_shift(str, 8, 2);<br />    printf("The string after right shift:%s\n", str);<br />    <br />    system("pause");<br />    <span style="color: #0000FF; ">return</span> 0<br />}</div><br /><span style="color: #333333; font-family: Arial; line-height: 25px; text-align: left; background-color: #ffffff; ">2.实现对字W串q行左旋转的函数Q要求对长度为n的字W串操作的时间复杂度为O(n), I间复杂度ؓ(f)O(1).</span><br style="color: #333333; font-family: Arial; line-height: 25px; text-align: left; background-color: #ffffff; " /><span style="color: #333333; font-family: Arial; line-height: 25px; text-align: left; background-color: #ffffff; ">例如Q原始字W串Qabcd1234Q左旋{2位后为:(x)cd1234ab</span><br style="color: #333333; font-family: Arial; line-height: 25px; text-align: left; background-color: #ffffff; " /><span style="color: #333333; font-family: Arial; line-height: 25px; text-align: left; background-color: #ffffff; ">通过上面?的分析,只是把右UL为左UR其他方法相同?/span><br style="color: #333333; font-family: Arial; line-height: 25px; text-align: left; background-color: #ffffff; " /><span style="color: #333333; font-family: Arial; line-height: 25px; text-align: left; background-color: #ffffff; ">代码实现如下Q?/span> <br /><br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #0000FF; ">void</span> reverse(<span style="color: #0000FF; ">char</span>* str, <span style="color: #0000FF; ">int</span> begin, <span style="color: #0000FF; ">int</span> end)<br />{<br />    <span style="color: #0000FF; ">char</span> temp;<br />    <span style="color: #0000FF; ">for</span>( ; begin < end; begin++)<br />    {<br />        temp = str[end];<br />        str[end] = str[begin];<br />        str[begin] = temp;<br />    }<br />}<br /><br /><span style="color: #0000FF; ">void</span> right_shift(<span style="color: #0000FF; ">char</span> *str, <span style="color: #0000FF; ">int</span> N, <span style="color: #0000FF; ">int</span> K)<br />{<br />    K %= N;<br />    reverse(str, 0, K -1);<br />    reverse(str, K, N - 1);<br />    reverse(str, 0, N - 1);<br />}<br /><br /><span style="color: #0000FF; ">int</span> main()<br />{<br />    <span style="color: #0000FF; ">char</span> str[] = "abcd1234";<br />    printf("The initial string:%s\n", str);<br />    <br />    right_shift(str, 8, 2);<br />    printf("The string after right shift:%s\n", str);<br />    <br />    system("pause");<br />    <span style="color: #0000FF; ">return</span> 0<br />}</div><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><p> </p><img src ="http://www.tkk7.com/guiying/aggbug/385097.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/guiying/" target="_blank">手心(j)上的冰山</a> 2012-08-08 23:45 <a href="http://www.tkk7.com/guiying/archive/2012/08/08/385097.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>让数据库游标变得?/title><link>http://www.tkk7.com/guiying/archive/2012/08/01/384563.html</link><dc:creator>手心(j)上的冰山</dc:creator><author>手心(j)上的冰山</author><pubDate>Wed, 01 Aug 2012 14:13:00 GMT</pubDate><guid>http://www.tkk7.com/guiying/archive/2012/08/01/384563.html</guid><wfw:comment>http://www.tkk7.com/guiying/comments/384563.html</wfw:comment><comments>http://www.tkk7.com/guiying/archive/2012/08/01/384563.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/guiying/comments/commentRss/384563.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/guiying/services/trackbacks/384563.html</trackback:ping><description><![CDATA[<p style="color: #333333; font-family: Arial; line-height: 25px; text-align: left; background-color: #ffffff; "><strong><span style="font-size: 18px; ">Q一Q浅谈游?/span></strong></p><p style="color: #333333; font-family: Arial; line-height: 25px; text-align: left; background-color: #ffffff; "><span style="font-size: 18px; "><span style="font-family: Calibri; ">      </span>Q?span style="font-family: Calibri; ">1</span>Q游标的概念</span></p><p style="color: #333333; font-family: Arial; line-height: 25px; text-align: left; background-color: #ffffff; "><span style="font-size: 18px; ">      游标是指向查询结果集的一个指针,它是一个通过定义语句与一?span style="font-family: Calibri; ">Select</span>语句相关联的一l?span style="font-family: Calibri; ">SQL</span>语句Q即从结果集中逐一的读取一条记录。游标包含两斚w的内容:(x)</span></p><p style="color: #333333; font-family: Arial; line-height: 25px; text-align: left; background-color: #ffffff; "><span style="font-size: 18px; "><span style="font-family: Calibri; ">       ●</span>游标l果集:(x)执行其中?span style="font-family: Calibri; ">Select</span>语句所得到的结果集Q?/span></p><p style="color: #333333; font-family: Arial; line-height: 25px; text-align: left; background-color: #ffffff; "><span style="font-size: 18px; "><span style="font-family: Calibri; ">       ●</span>游标位置Q一个指向游标结果集内的某一条记录的指针</span></p><p style="color: #333333; font-family: Arial; line-height: 25px; text-align: left; background-color: #ffffff; "><span style="font-size: 18px; ">       利用游标可以单独操纵l果集中的每一行。游标在定义以后存在两种状态:(x)关闭和打开。当游标关闭Ӟ其查询结果集不存在;只有当游标打开Ӟ才能按行d或修改结果集中的数据?/span></p><p style="color: #333333; font-family: Arial; line-height: 25px; text-align: left; background-color: #ffffff; "><span style="font-size: 18px; ">    Q?span style="font-family: Calibri; ">2</span>Q浅谈游?/span></p><p style="color: #333333; font-family: Arial; line-height: 25px; text-align: left; background-color: #ffffff; "><span style="font-size: 18px; "><span style="font-family: Calibri; ">         </span>游标我们可以通俗的解释ؓ(f)变动的标C。正如它的解释一P数据库中的游标其实也是一U读取数据的方式。D个简单的例子来说Q我有一个电(sh)话本Q电(sh)话本上的L(fng)首先是按地域划分的,现在我想找个家住廊坊的李四。首先我们要做的是先扑ֈ廊坊地区的电(sh)话表Q找到后的表也即是我们上面所说的游标l果集;而ؓ(f)?jin)找到李四我们可能?x)用手一条一条逐行的扫q,以帮助我们找到所需的那条记录。对应于数据库来_(d)q就是游标的模型。所以,你可以这h象:(x)表格是数据库中的表,而我们的手好比是游标?/span></p><p style="color: #333333; font-family: Arial; line-height: 25px; text-align: left; background-color: #ffffff; "><span style="font-size: 18px; ">       ȝ来说游标好比是在电(sh)话本上逐一扫描L(fng)的手指?/span></p><p style="color: #333333; font-family: Arial; line-height: 25px; text-align: left; background-color: #ffffff; "><strong><span style="font-size: 18px; ">Q二Q用游?/span></strong></p><p style="color: #333333; font-family: Arial; line-height: 25px; text-align: left; background-color: #ffffff; "><span style="font-size: 18px; "><span style="font-family: Calibri; ">       </span>一个应用程序中可以使用两种cd的游标:(x)前端Q客P(j)游标和后端(服务器)(j)游标Q它们是两个不同的概c(din)?/span></p><p style="color: #333333; font-family: Arial; line-height: 25px; text-align: left; background-color: #ffffff; "><span style="font-size: 18px; "><span style="font-family: Calibri; ">       </span>但无Z用哪U游标,都必ȝq如下的步骤Q?/span></p><p style="color: #333333; font-family: Arial; line-height: 25px; text-align: left; background-color: #ffffff; "><span style="font-size: 18px; "><span style="font-family: Calibri; ">       ●</span>声明游标</span></p><p style="color: #333333; font-family: Arial; line-height: 25px; text-align: left; background-color: #ffffff; "><span style="font-size: 18px; "><span style="font-family: Calibri; ">       ●</span>打开游标</span></p><p style="color: #333333; font-family: Arial; line-height: 25px; text-align: left; background-color: #ffffff; "><span style="font-size: 18px; "><span style="font-family: Calibri; ">       ●</span>从游标中操作数据</span></p><p style="color: #333333; font-family: Arial; line-height: 25px; text-align: left; background-color: #ffffff; "><span style="font-size: 18px; "><span style="font-family: Calibri; ">       ●</span>关闭游标</span></p><p style="color: #333333; font-family: Arial; line-height: 25px; text-align: left; background-color: #ffffff; "><span style="font-size: 18px; "><span style="font-family: Calibri; ">      </span>下面我们主要讲述下服务器游标Q?/span></p><p style="color: #333333; font-family: Arial; line-height: 25px; text-align: left; background-color: #ffffff; "><span style="font-size: 18px; "><span style="font-family: Calibri; ">      </span>Q?span style="font-family: Calibri; ">1</span>Q定义游?/span></p><p style="color: #333333; font-family: Arial; line-height: 25px; text-align: left; background-color: #ffffff; "><span style="font-size: 18px; "><span style="font-family: Calibri; ">         </span>使用游标之前必须先声明它。声明指定定义游标结果集的查询。通过使用<span style="font-family: Calibri; ">for update</span>?span style="font-family: Calibri; ">for read only</span>关键词将游标昑ּ定义成可更新的或只读的?/span></p><p style="color: #333333; font-family: Arial; line-height: 25px; text-align: left; background-color: #ffffff; "><span style="font-size: 18px; "><span style="font-family: Calibri; ">      </span>Declare cursor_name  cursor</span></p><p style="color: #333333; font-family: Arial; line-height: 25px; text-align: left; background-color: #ffffff; "><span style="font-size: 18px; ">     For select_statement</span></p><p style="color: #333333; font-family: Arial; line-height: 25px; text-align: left; background-color: #ffffff; "><span style="font-size: 18px; ">     [for{read only|update[of colum_name_list]}]</span></p><p style="color: #333333; font-family: Arial; line-height: 25px; text-align: left; background-color: #ffffff; "><span style="font-size: 18px; "><span style="font-family: Calibri; ">      </span>举例Q?/span></p><p style="color: #333333; font-family: Arial; line-height: 25px; text-align: left; background-color: #ffffff; "><span style="font-family: Calibri; font-size: 18px; ">      Declare  company_crsr cursor</span></p><p style="color: #333333; font-family: Arial; line-height: 25px; text-align: left; background-color: #ffffff; "><span style="font-family: Calibri; font-size: 18px; ">      For select name,salary from company where salary>2000</span></p><p style="color: #333333; font-family: Arial; line-height: 25px; text-align: left; background-color: #ffffff; "><span style="font-family: Calibri; font-size: 18px; ">      For update of name,salary</span></p><p style="color: #333333; font-family: Arial; line-height: 25px; text-align: left; background-color: #ffffff; "><span style="font-size: 18px; "><span style="font-family: Calibri; ">      </span>上面我们声明?jin)一个名?span style="font-family: Calibri; ">company_crsr</span>的游标?/span></p><p style="color: #333333; font-family: Arial; line-height: 25px; text-align: left; background-color: #ffffff; "><span style="font-size: 18px; "><span style="font-family: Calibri; ">      </span>Q?span style="font-family: Calibri; ">2</span>Q打开游标</span></p><p style="color: #333333; font-family: Arial; line-height: 25px; text-align: left; background-color: #ffffff; "><span style="font-size: 18px; "><span style="font-family: Calibri; ">         open</span>的语法ؓ(f)Q?/span></p><p style="color: #333333; font-family: Arial; line-height: 25px; text-align: left; background-color: #ffffff; "><span style="font-size: 18px; "><span style="font-family: Calibri; ">                         open </span>游标?/span></p><p style="color: #333333; font-family: Arial; line-height: 25px; text-align: left; background-color: #ffffff; "><span style="font-size: 18px; ">        在声明游标后Q必L开它以便用<span style="font-family: Calibri; ">fetch,update,delete</span>d、修攏V删除行。在打开一个游标后Q它?yu)被攑֜游标l果集的首行前,必须?span style="font-family: Calibri; ">fetch</span>语句讉K该首行?/span></p><p style="color: #333333; font-family: Arial; line-height: 25px; text-align: left; background-color: #ffffff; "><span style="font-size: 18px; "><span style="font-family: Calibri; ">      </span>Q?span style="font-family: Calibri; ">3</span>Q读取游标数?/span></p><p style="color: #333333; font-family: Arial; line-height: 25px; text-align: left; background-color: #ffffff; "><span style="font-size: 18px; "><span style="font-family: Calibri; ">      </span>在声明ƈ打开一个游标后Q可?span style="font-family: Calibri; ">fetch</span>命o(h)从游标结果集中获取数据行?/span></p><p style="color: #333333; font-family: Arial; line-height: 25px; text-align: left; background-color: #ffffff; "><span style="font-size: 18px; "><span style="font-family: Calibri; ">      Fetch</span>的语法ؓ(f)Q?/span></p><p style="color: #333333; font-family: Arial; line-height: 25px; text-align: left; background-color: #ffffff; "><span style="font-size: 18px; "><span style="font-family: Calibri; ">           Fetch </span>[[Next | Prior | First | Last | Absolute{n|@nvar} |Relative {n|@nvar}]</span></p><p style="color: #333333; font-family: Arial; line-height: 25px; text-align: left; background-color: #ffffff; "><span style="font-size: 18px; ">         From]<span style="font-family: Calibri; ">  </span>游标?span style="font-family: Calibri; "> [into </span>变量列表<span style="font-family: Calibri; ">]</span></span></p><p style="color: #333333; font-family: Arial; line-height: 25px; text-align: left; background-color: #ffffff; "><span style="font-size: 18px; "><span style="font-family: Calibri; ">      </span>参数说明Q?/span></p><p style="color: #333333; font-family: Arial; line-height: 25px; text-align: left; background-color: #ffffff; "><span style="font-size: 18px; "><span style="font-family: Calibri; ">      Next</span>Q返回结果集中当前行的下一行,如果该语句是W一ơ读取结果集中数据则q回的是W一?/span></p><p style="color: #333333; font-family: Arial; line-height: 25px; text-align: left; background-color: #ffffff; "><span style="font-size: 18px; "><span style="font-family: Calibri; ">      Prior</span>Q返回结果集中当前行的上一行,如果该语句是W一ơ读取结果集中的数据则无记录l果q回q把游标位置讄为第一行?/span></p><p style="color: #333333; font-family: Arial; line-height: 25px; text-align: left; background-color: #ffffff; "><span style="font-size: 18px; "><span style="font-family: Calibri; ">      First</span>Q返回游标第一行;<span style="font-family: Calibri; ">Last</span>Q返回游标中的最后一行;</span></p><p style="color: #333333; font-family: Arial; line-height: 25px; text-align: left; background-color: #ffffff; "><span style="font-size: 18px; "><span style="font-family: Calibri; ">      Absolute{n|@nvar}</span>Q如?span style="font-family: Calibri; "> n </span>?span style="font-family: Calibri; "> @nvar </span>为正敎ͼq回从游标头开始的W?span style="font-family: Calibri; "> n </span>行ƈ返回的行变成新的当前行。如?span style="font-family: Calibri; "> n </span>?span style="font-family: Calibri; "> @nvar </span>敎ͼq回游标之前的W?span style="font-family: Calibri; "> n </span>行ƈ返回的行变成新的当前行。如?span style="font-family: Calibri; "> n </span>?span style="font-family: Calibri; "> @nvar </span>?span style="font-family: Calibri; "> 0</span>Q则没有行返回?span style="font-family: Calibri; ">n </span>必须为整型常量且<span style="font-family: Calibri; "> @nvar </span>必须?span style="font-family: Calibri; ">smallint</span>?span style="font-family: Calibri; ">tinyint </span>?span style="font-family: Calibri; "> int</span>?/span></p><p style="color: #333333; font-family: Arial; line-height: 25px; text-align: left; background-color: #ffffff; "><span style="font-size: 18px; "><span style="font-family: Calibri; ">      RELATIVE {n | @nvar}</span>Q如?span style="font-family: Calibri; "> n </span>?span style="font-family: Calibri; "> @nvar </span>为正敎ͼq回当前行之后的W?span style="font-family: Calibri; "> n </span>行ƈ返回的行变成新的当前行。如?span style="font-family: Calibri; "> n </span>?span style="font-family: Calibri; "> @nvar </span>敎ͼq回当前行之前的W?span style="font-family: Calibri; "> n </span>行ƈ返回的行变成新的当前行。如?span style="font-family: Calibri; "> n </span>?span style="font-family: Calibri; "> @nvar </span>?span style="font-family: Calibri; "> 0</span>Q返回当前行。如果对游标的第一ơ提取操作时?span style="font-family: Calibri; ">FETCH RELATIVE </span>?span style="font-family: Calibri; "> n </span>?span style="font-family: Calibri; "> @nvar </span>指定数或<span style="font-family: Calibri; "> 0</span>Q则没有行返回?span style="font-family: Calibri; ">n </span>必须为整型常量且<span style="font-family: Calibri; ">@nvar </span>必须?span style="font-family: Calibri; "> smallint</span>?span style="font-family: Calibri; ">tinyint </span>?span style="font-family: Calibri; "> int</span>?/span></p><p style="color: #333333; font-family: Arial; line-height: 25px; text-align: left; background-color: #ffffff; "><span style="font-size: 18px; "><span style="font-family: Calibri; ">      </span>举例Q?/span></p><p style="color: #333333; font-family: Arial; line-height: 25px; text-align: left; background-color: #ffffff; "><span style="font-family: Calibri; font-size: 18px; ">       Fetch  next</span></p><p style="color: #333333; font-family: Arial; line-height: 25px; text-align: left; background-color: #ffffff; "><span style="font-family: Calibri; font-size: 18px; ">       company_crsr into @name,@salary</span></p><p style="color: #333333; font-family: Arial; line-height: 25px; text-align: left; background-color: #ffffff; "><span style="font-size: 18px; "><span style="font-family: Calibri; ">      SQL Server</span>在每ơ读取后q回一个状态倹{可?span style="font-family: Calibri; ">@@sql_status</span>讉K该|下表l出?jin)可能?span style="font-family: Calibri; ">@@sql_status</span>值及(qing)其意义?/span></p><p style="color: #333333; font-family: Arial; line-height: 25px; text-align: left; background-color: #ffffff; "><span style="font-size: 18px; ">    值意义:(x)</span></p><p style="color: #333333; font-family: Arial; line-height: 25px; text-align: left; background-color: #ffffff; "><span style="font-size: 18px; "><span style="font-family: Calibri; ">             0</span>——<span style="font-family: Calibri; ">Fetch</span>语句成功</span></p><p style="color: #333333; font-family: Arial; line-height: 25px; text-align: left; background-color: #ffffff; "><span style="font-size: 18px; "><span style="font-family: Calibri; ">             1</span>——<span style="font-family: Calibri; ">Fetch</span>语句D一错误</span></p><p style="color: #333333; font-family: Arial; line-height: 25px; text-align: left; background-color: #ffffff; "><span style="font-size: 18px; "><span style="font-family: Calibri; ">             2</span>——l果集没有更多的数据Q当前位|位于结果集最后一行,而客户对该游标仍发出<span style="font-family: Calibri; ">Fetch</span>语句时?/span></p><p style="color: #333333; font-family: Arial; line-height: 25px; text-align: left; background-color: #ffffff; "><span style="font-size: 18px; ">     若游标是可更新的Q可?span style="font-family: Calibri; ">update</span>?span style="font-family: Calibri; ">delete</span>语句来更新和删除行?/span></p><p style="color: #333333; font-family: Arial; line-height: 25px; text-align: left; background-color: #ffffff; "><span style="font-size: 18px; ">     删除游标当前行的语法为:(x)</span></p><p style="color: #333333; font-family: Arial; line-height: 25px; text-align: left; background-color: #ffffff; "><span style="font-size: 18px; "><span style="font-family: Calibri; ">                      Delete [from] </span>表名</span></p><p style="color: #333333; font-family: Arial; line-height: 25px; text-align: left; background-color: #ffffff; "><span style="font-size: 18px; "><span style="font-family: Calibri; ">                      where current of </span>游标?/span></p><p style="color: #333333; font-family: Arial; line-height: 25px; text-align: left; background-color: #ffffff; "><span style="font-size: 18px; ">     举例Q?span style="font-family: Calibri; ">delete from authors where current of authors_crsr</span></span></p><p style="color: #333333; font-family: Arial; line-height: 25px; text-align: left; background-color: #ffffff; "><span style="font-size: 18px; ">     当游标删除一行后Q?span style="font-family: Calibri; ">SQL Server</span>游标置于被删除行的前一行上?/span></p><p style="color: #333333; font-family: Arial; line-height: 25px; text-align: left; background-color: #ffffff; "><span style="font-size: 18px; ">     更新游标当前行的语法为:(x)</span></p><p style="color: #333333; font-family: Arial; line-height: 25px; text-align: left; background-color: #ffffff; "><span style="font-size: 18px; "><span style="font-family: Calibri; ">       update </span>表名</span></p><p style="color: #333333; font-family: Arial; line-height: 25px; text-align: left; background-color: #ffffff; "><span style="font-family: Calibri; font-size: 18px; ">       set column_name1={expression1|NULL|(select_statement)}</span></p><p style="color: #333333; font-family: Arial; line-height: 25px; text-align: left; background-color: #ffffff; "><span style="font-family: Calibri; font-size: 18px; ">              [,column_name2={expression2|NULL|(select_statement)}</span></p><p style="color: #333333; font-family: Arial; line-height: 25px; text-align: left; background-color: #ffffff; "><span style="font-family: Calibri; font-size: 18px; ">              [……]</span></p><p style="color: #333333; font-family: Arial; line-height: 25px; text-align: left; background-color: #ffffff; "><span style="font-size: 18px; "><span style="font-family: Calibri; ">       where current of </span>游标?/span></p><p style="color: #333333; font-family: Arial; line-height: 25px; text-align: left; background-color: #ffffff; "><span style="font-size: 18px; ">      举例Q?/span></p><p style="color: #333333; font-family: Arial; line-height: 25px; text-align: left; background-color: #ffffff; "><span style="font-family: Calibri; font-size: 18px; ">        update company</span></p><p style="color: #333333; font-family: Arial; line-height: 25px; text-align: left; background-color: #ffffff; "><span style="font-size: 18px; "><span style="font-family: Calibri; ">        set name=”</span>张三<span style="font-family: Calibri; ">”,salary=”5000”</span></span></p><p style="color: #333333; font-family: Arial; line-height: 25px; text-align: left; background-color: #ffffff; "><span style="font-family: Calibri; font-size: 18px; ">        where current of company_crsr</span></p><p style="color: #333333; font-family: Arial; line-height: 25px; text-align: left; background-color: #ffffff; "><span style="font-size: 18px; ">    Q?span style="font-family: Calibri; ">4</span>Q关闭游?/span></p><p style="color: #333333; font-family: Arial; line-height: 25px; text-align: left; background-color: #ffffff; "><span style="font-size: 18px; ">       当结束一个游标结果集Ӟ可用<span style="font-family: Calibri; ">close</span>关闭。该语法为:(x)</span></p><p style="color: #333333; font-family: Arial; line-height: 25px; text-align: left; background-color: #ffffff; "><span style="font-size: 18px; "><span style="font-family: Calibri; ">           close </span>游标?/span></p><p style="color: #333333; font-family: Arial; line-height: 25px; text-align: left; background-color: #ffffff; "><span style="font-size: 18px; ">       关闭游标q不改变其定义,可用<span style="font-family: Calibri; ">open</span>再次打开。若x(chng)弃游标,必须使用<span style="font-family: Calibri; ">deallocate</span>释放它,<span style="font-family: Calibri; ">deallocater</span>的语法ؓ(f)Q?/span></p><p style="color: #333333; font-family: Arial; line-height: 25px; text-align: left; background-color: #ffffff; "><span style="font-size: 18px; "><span style="font-family: Calibri; ">        deallocater cursor </span>游标?/span></p><p style="color: #333333; font-family: Arial; line-height: 25px; text-align: left; background-color: #ffffff; "><span style="font-size: 18px; "><span style="font-family: Calibri; ">        deallocater</span>语句通知<span style="font-family: Calibri; ">SQL Server</span>释放<span style="font-family: Calibri; ">Declare</span>语句使用的共享内存,不再允许另一q程在其上执?span style="font-family: Calibri; ">Open</span>操作?/span></p><img src ="http://www.tkk7.com/guiying/aggbug/384563.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/guiying/" target="_blank">手心(j)上的冰山</a> 2012-08-01 22:13 <a href="http://www.tkk7.com/guiying/archive/2012/08/01/384563.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>oracle函数之case和decode的用法区别及(qing)性能比较http://www.tkk7.com/guiying/archive/2012/08/01/384562.html手心(j)上的冰山手心(j)上的冰山Wed, 01 Aug 2012 14:09:00 GMThttp://www.tkk7.com/guiying/archive/2012/08/01/384562.htmlhttp://www.tkk7.com/guiying/comments/384562.htmlhttp://www.tkk7.com/guiying/archive/2012/08/01/384562.html#Feedback1http://www.tkk7.com/guiying/comments/commentRss/384562.htmlhttp://www.tkk7.com/guiying/services/trackbacks/384562.html   在oracle世界Q你可以使用Q?/span>

    1Qcase表达?nbsp;     或?/span>

    2Qdecode函数

    来实现逻辑判断?span style="font-family: ?hu)? ">Oracle的DECODE函数功能很强Q灵z运用的话可以避免多ơ扫描,从而提高查询的性能。而CASE?i以后提供的语法,q个语法更加的灵z,提供?jin)IF THEN ELSE的功能?/span>   

    case表达?/span>

    case表达式,可分两种Q简单和搜烦(ch)Q简单case后接表达式,如:(x)

    对于单的case需要几Ҏ(gu)意:(x)

    1Q寻找when的优先Q从上到?/span>

    2Q再多的whenQ也只有一个出口,卛_中有一个满了(jin)expr马上退出case

    3Q不能把return_expr和else_expr指定为nullQ而且Qexpr、comparison_expr和return_expr的数据类型必ȝ同?/span>

    搜烦(ch)caseQ?/span>

    CASE WHEN condition THEN return_expr

              [WHEN condition THEN return_expr]

              ...

    ELSE else_expr

    END

    例子Q?/span>

  1. SELECT (CASE WHEN cust_credit_limit BETWEEN  0 AND 3999 THEN  ' 0 - 3999'  
  2.    WHEN cust_credit_limit BETWEEN  4000 AND 7999 THEN ' 4000 - 7999'  
  3.    WHEN cust_credit_limit BETWEEN  8000 AND 11999 THEN  ' 8000 - 11999'  
  4.    WHEN cust_credit_limit BETWEEN  12000 AND 16000 THEN '12000 - 16000' END)  
  5.   AS BUCKET, COUNT(*) AS Count_in_Group  
  6. FROM customers WHERE cust_city = 'Marshal' GROUP BY  
  7.  (CASE WHEN cust_credit_limit BETWEEN  0 AND 3999 THEN ' 0 - 3999'  
  8.  WHEN cust_credit_limit BETWEEN  4000 AND 7999 THEN ' 4000 - 7999'  
  9.  WHEN cust_credit_limit BETWEEN  8000 AND 11999 THEN  ' 8000 - 11999'  
  10.  WHEN cust_credit_limit BETWEEN  12000 AND 16000 THEN '12000 - 16000' END);  
  11.   
  12. BUCKET        COUNT_IN_GROUP  
  13. ------------- --------------  
  14.  0 - 3999                  8  
  15.  4000 - 7999               7  
  16.  8000 - 11999              7  
  17. 12000 - 16000              1  

    用decode可以q反W?NFQ行不可再分Q列不可再分Q列不可重复Q:(x)列重?/p>

  1. hr@ORCL> select * from a;  
  2.   
  3.         ID NAME  
  4. ---------- ----------  
  5.          1 a  
  6.          2 b  
  7.          3 c  
  8.          1 a  
  9.   
  10. hr@ORCL> select sum(decode(id,1,1,0)) think,  
  11.   2             sum(decode(id,2,2,0)) water,  
  12.   3             sum(decode(id,3,3,0)) linshuibin  
  13.   4        from a;  
  14.   
  15.      THINK      WATER LINSHUIBIN  
  16. ---------- ---------- ----------  
  17.          2          2          3  

 

    一个字D,decode函数可以完全改写单caseQ?/span>

    多个字段Q需要复杂的caseQ方可?/span>

    语法Q?br />    DECODE(value,if1,then1,if2,then2,if3,then3,...,else)Q表C如果value{于if1ӞDECODE函数?/span>l果qthen1,...,如果不等于Q何一个if|则返回else。可以用函数或表辑ּ来替代valueQifQ?/span>thenQelse从而作Z些更有用的比较?/span>

    来看看具体的q用Q?br />    1 假设我们想给癑ֺ职员加工资,其标准是Q工资在8000元以下的加20Q;工资?000元以上的?/span>15Q?br />    则:(x)

    select decode(sign(salary - 8000),1,salary*1.15,-1,salary*1.2,salary) "revised_salary" from employee

    2 表table_subjectQ有subject_name列。要求按照:(x)语、数、外的顺序进行排?br />    则:(x)

    select * from table_subject order by decode(subject_name, '语文', 1, '数学', 2, , '外语',3)

    decode和简单case的性能比较

 

   

Oracle的DECODE函数功能很强Q灵z运用的话可以避免多ơ扫描,从而提高查询的性能。而CASE?i以后提供的语法,q个语法更加的灵z,提供?jin)IF THEN ELSE的功能?/span>


对于很多情况QDECODE和CASE都能解决问题Q个人更們֐于用DECODEQ一斚w是从8i保留下来的习(fn)惯,另一斚w是DECODE的语法更加的z,代码量要一些?/span>

不过今天在看Oracle9i的数据仓库手册时发现QOracle在文档中提到CASE语句的效率会(x)更高?sh)些,其是CASE表达?nbsp;WHEN 帔R THEN的语法,效率要比CASE WHEN表达?nbsp;THEN的语法更高(sh)些。对于后面这U说法倒是没有太多的疑问,对于CASE比DECODE效率高这U说法倒是W一ơ看刎ͼ印象中DECODE效率很高Q应该不?x)比CASE的效率差?/span>

到底效率如何Q还是要具体的实例来_(d)(x)

SQL> CREATE TABLE T AS
2 SELECT A.*
3 FROM DBA_OBJECTS A, DBA_MVIEWS;

Table created.

SQL> SELECT COUNT(*) FROM T;

COUNT(*)
----------
6075760

下面(g)查DECODE和两UCASE语句的效率:(x)

SQL> SET ARRAY 1000
SQL> SET TIMING ON
SQL> SET AUTOT TRACE 
SQL> SELECT DECODE(OWNER, 'SYSTEM', 'SYSTEM', 'SYS', 'SYSTEM', 'USER') 
2 FROM T;

6075760 rows selected.

Elapsed: 00:00:07.24

Execution Plan
----------------------------------------------------------
Plan hash value: 1601196873

--------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
--------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 4245K| 68M| 13828 (1)| 00:03:14 |
| 1 | TABLE ACCESS FULL| T | 4245K| 68M| 13828 (1)| 00:03:14 |
--------------------------------------------------------------------------

Note
-----
- dynamic sampling used for this statement


Statistics
----------------------------------------------------------
0 recursive calls
0 db block gets
47551 consistent gets
0 physical reads
0 redo size
46288564 bytes sent via SQL*Net to client
67317 bytes received via SQL*Net from client
6077 SQL*Net roundtrips to/from client
0 sorts (memory)
0 sorts (disk)
6075760 rows processed

SQL> SELECT CASE OWNER WHEN 'SYSTEM' THEN 'SYSTEM'
2 WHEN 'SYS' THEN 'SYSTEM' 
3 ELSE 'USER' END 
4 FROM T;

6075760 rows selected.

Elapsed: 00:00:07.22

Execution Plan
----------------------------------------------------------
Plan hash value: 1601196873

--------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
--------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 4245K| 68M| 13828 (1)| 00:03:14 |
| 1 | TABLE ACCESS FULL| T | 4245K| 68M| 13828 (1)| 00:03:14 |
--------------------------------------------------------------------------

Note
-----
- dynamic sampling used for this statement


Statistics
----------------------------------------------------------
0 recursive calls
0 db block gets
47551 consistent gets
0 physical reads
0 redo size
46288578 bytes sent via SQL*Net to client
67317 bytes received via SQL*Net from client
6077 SQL*Net roundtrips to/from client
0 sorts (memory)
0 sorts (disk)
6075760 rows processed

SQL> SELECT CASE WHEN OWNER = 'SYSTEM' THEN 'SYSTEM'
2 WHEN OWNER = 'SYS' THEN 'SYSTEM' 
3 ELSE 'USER' END 
4 FROM T;

6075760 rows selected.

Elapsed: 00:00:07.23

Execution Plan
----------------------------------------------------------
Plan hash value: 1601196873

--------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
--------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 4245K| 68M| 13828 (1)| 00:03:14 |
| 1 | TABLE ACCESS FULL| T | 4245K| 68M| 13828 (1)| 00:03:14 |
--------------------------------------------------------------------------

Note
-----
- dynamic sampling used for this statement


Statistics
----------------------------------------------------------
0 recursive calls
0 db block gets
47551 consistent gets
0 physical reads
0 redo size
46288585 bytes sent via SQL*Net to client
67317 bytes received via SQL*Net from client
6077 SQL*Net roundtrips to/from client
0 sorts (memory)
0 sorts (disk)
6075760 rows processed



]]>
数据库之查询核心(j)http://www.tkk7.com/guiying/archive/2012/07/27/384207.html手心(j)上的冰山手心(j)上的冰山Fri, 27 Jul 2012 14:26:00 GMThttp://www.tkk7.com/guiying/archive/2012/07/27/384207.htmlhttp://www.tkk7.com/guiying/comments/384207.htmlhttp://www.tkk7.com/guiying/archive/2012/07/27/384207.html#Feedback0http://www.tkk7.com/guiying/comments/commentRss/384207.htmlhttp://www.tkk7.com/guiying/services/trackbacks/384207.html 我们在学?fn)数据库的时候经常用到数据库的查询语句,它的重要性可惌知Q下面我来分析一下吧?/span>

 

  1. txtSQL = "select*from student_Info where student_ID='" & Trim(txtSID.Text) & "'"   
  2.   
  3.    
  4.   
  5. Set mrc = executeSQL(txtSQL, MsgText)  

 

 

select * from student_Info q句是查询表

student_Info where student_ID = '" & Trim(txtSID.Text) & "'" q句是筛选条?其中TrimQ)(j)是去前后I格QtxtSID.Textq个控g上输入的倹{?/span>

student_ID{于你控件上输入的倹{?/span>

 

 

ExecuteSQL(txtSQL, MsgText) 很明显是执行SQL?nbsp;

ExecuteSQL是自定义函数?/span>

传递参数SQL传递查询语句,MsgString传递查询信息。自w以一个数据集对象的Ş式返??/span>

 一定是执行SQL语句Q里面的两个参数 txtSQL 是指 用来执行的SQL语句 比如Qelect * from ?/span>

MsgText参数 指的是实行完SQL语句后的弹出?是成功了(jin)q是p|?jin)之cȝ

 

 

W一句的意思就是:(x)查询学生信息表,{选出学生ID号ؓ(f)txtSID.Text的学生?/span>

W二句的意思是Q执?span style="font-family: Calibri; ">sql语句Qƈ?span style="font-family: Calibri; ">MsgText作ؓ(f)参数传递进去,q回一?span style="font-family: Calibri; ">setcd的数据?/span>

 

 

丑ֈQ?/span>

     假如我把我们班的所有的同学排成一列,站在W一位的L(fng)?span style="font-family: Calibri; ">1Q排?span style="font-family: Calibri; ">1后面的号码ؓ(f)2Q以此类推?/span>

W一?span style="font-family: Calibri; ">sql的意思就是:(x)我现在找C个同学李四,然后告诉他让他把L(fng)?span style="font-family: Calibri; ">5的同学给扑և来?/span>

那么q个同学׃(x)?span style="font-family: Calibri; ">1数到5Q就把号码是5的同学给找了(jin)出来?span style="font-family: Calibri; ">txtSQLq当于李四?/span>

但是数据库的sql查询旉过索引查询的,在数据库中不是通过1,2,3,4,5数到5才找到的。而是通过索引直接扑ֈ的?/span>

 

 

举例Q?/span>

    我找的这个同学手里会(x)有一个名单,每个名字前都有学受直接叫学号对应的名字,q个人就被找C(jin)?/span>

q个学号q当于索引?/span>

 

我要?span style="font-family: Calibri; ">student_info里面找hQ但是,q个人的ID必须?span style="font-family: Calibri; ">txtSID.Text

例如Q我?span style="font-family: Calibri; ">5q1班的86个h中找人,我只找一个,q个人的名字叫张三(txtSID.TextQ?/span>



]]>
多两个?”带来的思?/title><link>http://www.tkk7.com/guiying/archive/2012/07/27/384205.html</link><dc:creator>手心(j)上的冰山</dc:creator><author>手心(j)上的冰山</author><pubDate>Fri, 27 Jul 2012 14:23:00 GMT</pubDate><guid>http://www.tkk7.com/guiying/archive/2012/07/27/384205.html</guid><wfw:comment>http://www.tkk7.com/guiying/comments/384205.html</wfw:comment><comments>http://www.tkk7.com/guiying/archive/2012/07/27/384205.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.tkk7.com/guiying/comments/commentRss/384205.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/guiying/services/trackbacks/384205.html</trackback:ping><description><![CDATA[<span style="color: #333333; font-family: KaiTi_GB2312; font-size: 17px; line-height: 25px; text-align: left; background-color: #ffffff; "> 在做学生理pȝ中,׃q不太理解函数的意思,前几天就在程序的后面多写?jin)两?</span> <br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #0000FF; "><</span><span style="color: #800000; ">span </span><span style="color: #FF0000; ">style</span><span style="color: #0000FF; ">="font-family:KaiTi_GB2312;font-size:18px;"</span><span style="color: #0000FF; ">></span>Private Sub MDIForm_Load()      '从注册表中取得上ơ关闭MDIForm时的大小<br />    Me.Left = GetSetting(App.Title, "Settings", "MainLeft", 30000)<br />    Me.Top = GetSetting(App.Title, "Settings", "MainTop", 30000)<br />    Me.Width = GetSetting(App.Title, "Settings", "MainWidth", 80000)<br />    Me.Height = GetSetting(App.Title, "Settings", "MainHeight", 80000)<br />    <br />End Sub<span style="color: #0000FF; "></</span><span style="color: #800000; ">span</span><span style="color: #0000FF; ">><br /></span><p style="color: #333333; font-family: Arial; font-size: 14px; line-height: 25px; text-align: left; background-color: #ffffff; "><span style="font-family: KaiTi_GB2312; font-size: 18px; ">  当时q没有做M记录Q异地访问的q程当中Q数据库能连上是没有M问题Q但是就是加载的d界面消׃(jin)Q没有Q何反应、提C错误之cȝQ后来在师傅的指gQ才发现q个问题Q是׃多了(jin)两个0Q是H体的大不能显C出来了(jin)Q超Z(jin)屏幕的显C围。我q(sh)为真的消׃(jin)呢?</span></p><p style="color: #333333; font-family: Arial; font-size: 14px; line-height: 25px; text-align: left; background-color: #ffffff; "><span style="font-family: KaiTi_GB2312; "><span style="font-size: 18px; ">    <strong>发现自己的问题:(x)W一Q没有及(qing)时的记录</strong></span></span></p><p style="color: #333333; font-family: Arial; font-size: 14px; line-height: 25px; text-align: left; background-color: #ffffff; "><span style="font-family: KaiTi_GB2312; font-size: 18px; "><strong>                 W二Q没有遵循严格的~程标准</strong></span></p><p style="color: #333333; font-family: Arial; font-size: 14px; line-height: 25px; text-align: left; background-color: #ffffff; "><span style="font-family: KaiTi_GB2312; font-size: 18px; "><strong>                 W三Q没有及(qing)时的学习(fn)相关的知?/strong></span></p><p style="color: #333333; font-family: Arial; font-size: 14px; line-height: 25px; text-align: left; background-color: #ffffff; "><strong><span style="font-family: KaiTi_GB2312; font-size: 18px; ">                 W四Q思考的q是太少Q考虑不全Q?#8220;Zh民服务的宗旨”落实的不?/span></strong></p><p style="color: #333333; font-family: Arial; font-size: 14px; line-height: 25px; text-align: left; background-color: #ffffff; "><span style="font-family: KaiTi_GB2312; font-size: 18px; ">    随后q行?jin)相关知识的学?fn)<br /></span></p><pre id="best-answer-content" class="reply-text mb10" name="code" style="white-space: pre-wrap; word-wrap: break-word; color: #333333; font-size: 14px; line-height: 25px; text-align: left; background-color: #ffffff; "><span style="font-family: KaiTi_GB2312; font-size: 18px; ">VB之savesetting|GetSetting用法Q保存(sh)索取数据Q? VB 中提供了(jin)用于讉K注册表的Ҏ(gu) GetSetting 函数, ?Windows 注册表中的应用程序项目返回注册表设|倹{SaveSetting 语句, ?Windows 注册表中保存或徏立应用程序项目? DeleteSetting 语句, ?Windows 注册表中Q从应用E序目里删除区域或注册表项讄? GetAllSettings 函数, ?Windows 注册表中q回应用E序目的所有注册表设|及(qing)其相应|开始是?SaveSetting 产生Q? 诸如H口位置、用的文g以及(qing)其它目{程序设|值是存储在各U?.ini 文g中。在 Windows NT、Windows 95 以及(qing) Windows 的较新版本中Q这些程序设|值则是存储在pȝ注册位置中? Visual Basic 提供?jin)一个标准的注册位置以存储创Z Visual Basic 的应用程序的E序信息Q? HKEY_CURRENT_USER\Software\VB and VBA Program Settings\appname\section\key <strong> GetSetting 函数</strong> ?Windows 注册表中的应用程序项目返回注册表设|倹{语法GetSetting(appname, section, key[, default])GetSetting 函数的语法具有下列命名参敎ͼ(x)部分描述appname必要。字W串表达式,包含应用E序或工E的名称Q要求这些应用程序或工程有注册表设|。section必要。字W串表达式,包含区域名称Q要求该区域有注册表设|。key必要。字W串表达式,q回注册表项讄的名U。default可选。表辑ּQ如果注册表设|中没有讄|则返回缺省倹{如果省略,?default 取gؓ(f)长度为零的字W串 ("")。说明如?GetSetting 的参C的Q何一w不存在,?GetSetting q回 default 的倹{?</span><div id="mwy8qe6" class="spctrl"></div><span style="font-family: KaiTi_GB2312; font-size: 18px; ">  该方法其实读取,注册表中HKEY_CURRENT_USER\Software\VB and VBA Program Settings下相应的倹{?</span><div id="aeoeugo" class="spctrl"></div><span style="font-family: KaiTi_GB2312; font-size: 18px; ">  Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q- </span><div id="caw6o6m" class="spctrl"></div><span style="font-family: KaiTi_GB2312; font-size: 18px; ">  语法 </span><div id="eoy2ego" class="spctrl"></div><span style="font-family: KaiTi_GB2312; font-size: 18px; ">  <strong>GetSetting</strong>(appname, section, key[, default]) </span><div id="2e2a2um" class="spctrl"></div><span style="font-family: KaiTi_GB2312; font-size: 18px; ">  GetSetting 函数的语法具有下列命名参敎ͼ(x) </span><div id="ukwkiuy" class="spctrl"></div><span style="font-family: KaiTi_GB2312; font-size: 18px; ">  部分 描述 </span><div id="cigsmoe" class="spctrl"></div><span style="font-family: KaiTi_GB2312; font-size: 18px; ">  appname 必要。字W串表达式,包含应用E序或工E的名称Q要求这些应用程序或工程有注册表设|?</span><div id="mkgo8ks" class="spctrl"></div><span style="font-family: KaiTi_GB2312; font-size: 18px; ">  section 必要。字W串表达式,包含区域名称Q要求该区域有注册表设|?</span><div id="6kugasa" class="spctrl"></div><span style="font-family: KaiTi_GB2312; font-size: 18px; ">  key 必要。字W串表达式,q回注册表项讄的名U?</span><div id="ogq4imy" class="spctrl"></div><span style="font-family: KaiTi_GB2312; font-size: 18px; ">  default 可选。表辑ּQ如果注册表设|中没有讄|则返回缺省倹{如果省略,?default 取gؓ(f)长度为零的字W串 ("")?</span><div id="oag66ke" class="spctrl"></div><span style="font-family: KaiTi_GB2312; font-size: 18px; ">  说明 </span><div id="usccgog" class="spctrl"></div><span style="font-family: KaiTi_GB2312; font-size: 18px; ">  如果 GetSetting 的参C的Q何一w不存在,?GetSetting q回 default 的倹{?/span></pre><span style="color: #0000FF; "><br /></span></div><img src ="http://www.tkk7.com/guiying/aggbug/384205.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/guiying/" target="_blank">手心(j)上的冰山</a> 2012-07-27 22:23 <a href="http://www.tkk7.com/guiying/archive/2012/07/27/384205.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <p>лǵվܻԴȤ</p> <a href="http://www.tkk7.com/" title="亚洲av成人片在线观看">亚洲av成人片在线观看</a> <div class="friend-links"> </div> </div> </footer> վ֩ģ壺 <a href="http://yw8885.com" target="_blank">½һëƬƵۿi</a>| <a href="http://3bmmatv.com" target="_blank">þѾƷav</a>| <a href="http://tianmao920.com" target="_blank">þþƷAV</a>| <a href="http://331927.com" target="_blank">һ</a>| <a href="http://gdjiayou.com" target="_blank">þþþþ޾Ʒ</a>| <a href="http://xieehuomh.com" target="_blank">ۺa</a>| <a href="http://kanboy.com" target="_blank">ձÿӰѿ</a>| <a href="http://sds54.com" target="_blank">޾Ʒ123߹ۿ</a>| <a href="http://socgl.com" target="_blank">þùɫAVѹۿ</a>| <a href="http://88109a.com" target="_blank">ɫ޾ƷĻ</a>| <a href="http://xyflash.com" target="_blank">ŮjƵڵ</a>| <a href="http://jlzjjy.com" target="_blank">ŮƵվm</a>| <a href="http://mm9d.com" target="_blank">˳77777߲</a>| <a href="http://youweidianqi.com" target="_blank">8xƵ</a>| <a href="http://326h.com" target="_blank">޾ƷƵ</a>| <a href="http://9527paotui.com" target="_blank">Ѳ߹ۿվ </a>| <a href="http://74rr.com" target="_blank">պ޹</a>| <a href="http://97chaopeng2.com" target="_blank">޹Ʒ99þþþþ</a>| <a href="http://www-456446.com" target="_blank">þòþüĻ</a>| <a href="http://fenglengqi.com" target="_blank">ɫͼ.com</a>| <a href="http://hetaoqpj.com" target="_blank">þwwƷw˳</a>| <a href="http://6789311.com" target="_blank">Aһ</a>| <a href="http://lzhuiding.com" target="_blank">ˬִ̼߳ </a>| <a href="http://dw168cn.com" target="_blank">þѿٸ߳VƬػ</a>| <a href="http://71caoxee.com" target="_blank">޾ƷƬ߹ۿƷĻ </a>| <a href="http://31xyz.com" target="_blank">ɫƬѿ</a>| <a href="http://wlzp88.com" target="_blank">߾Ʒһ</a>| <a href="http://chuoche.com" target="_blank">һѵӰ</a>| <a href="http://dazhe777.com" target="_blank">Ƶ</a>| <a href="http://by8847.com" target="_blank">߳þѹۿ</a>| <a href="http://www84847.com" target="_blank">ĻۺϾþò</a>| <a href="http://zjszbwzl.com" target="_blank">hƵѸ߹ۿ</a>| <a href="http://hbwhgd.com" target="_blank">޴߶ר </a>| <a href="http://qihongxia.com" target="_blank">ŮƵվ</a>| <a href="http://www48646.com" target="_blank">Ļ߲</a>| <a href="http://qsqse1.com" target="_blank">ˮƵ߹ۿ</a>| <a href="http://91haikala.com" target="_blank">av鶹aӰ</a>| <a href="http://805ios.com" target="_blank">³ѲƵ㽶 </a>| <a href="http://717795.com" target="_blank">avר</a>| <a href="http://sese3366.com" target="_blank">99ƷѾþþþþ</a>| <a href="http://my637.com" target="_blank">ۺɫͼƬ</a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>