载入中,请稍候……


使用临时表与游标处理XML文档

Admin 于 2008-10-31 15:02:56 发表其它

  1. declare @idoc int -- 声明xml文档指针 
  2. declare @doc varchar(1000) --xml文档文本 
  3. declare @table table(cell1 varchar(20),cell2 varchar(20)) --临时表 
  4.  
  5. set @doc = ' 
  6. <root> 
  7. <row><cell1>adf</cell1><cell2>234</cell2></row> 
  8. <row><cell1>adf</cell1><cell2>234</cell2></row> 
  9. </root> 
  10. --打开xml文档 
  11. EXEC sp_xml_preparedocument @idoc OUTPUT, @doc 
  12.  
  13. --选择xml内容并插入临时表 
  14. insert  @table 
  15. select * FROM       OPENXML (@idoc, '/root/row',2 ) 
  16.       WITH (cell1  varchar(20), cell2 varchar(20)) 
  17.  
  18. EXEC sp_xml_removedocument @idoc --关闭xml文档指针 
  19.  
  20. declare @cell1 varchar(20),@cell2 varchar(20) 
  21.  
  22. --声明游标 
  23. declare tcursor cursor for select * from @table 
  24. --打开游标 
  25. open tcursor 
  26.  
  27. --开始事务 
  28. BEGIN TRANSACTION modifyData    WITH MARK N'some remarks'
  29.  
  30. fetch next from tcursor into @cell1,@cell2 
  31. while @@FETCH_STATUS = 0 begin 
  32.     print @cell1 + @cell2 
  33.     fetch next from tcursor into @cell1,@cell2 
  34. end 
  35.  
  36. --提交事务 
  37. COMMIT TRANSACTION modifyData; 
  38.  
  39. --关闭游标 
  40. close tcursor 
  41. deallocate tcursor 
被阅15次, 0票临时表 游标 XML 发表评论

远程进程DLL注入

Admin 于 2008-10-26 17:44:12 发表C/C++

被阅27次, 0票 发表评论

公农历转换类[C++]

Admin 于 2008-10-26 17:39:09 发表.NET

被阅20次, 0票农历 发表评论

Java程序中调用sun包会影响可移植性

Admin 于 2008-10-26 17:15:48 发表Java

J2SE中的类大致可以划分为以下的各个包:
java.*,javax.*,org.*,sun.*
除了“sun”包,其它各个包都是Java平台的标准实现,并且今后也将被继续支持。一般说来,“sun”之类的包并不包含在Java平台的标准中,它与操作系统相关,在不同的操作系统(如Solaris,Windows,Linux,Mac等等)中的实现也各不相同,并且可能随着J2SE版本不定期变化。因此,直接调用“sun”包的程序代码并不是100%的Java实现。

也就是说:
“java.*”包,“javax.*”包,“org.*”包是作为J2SE的 API公开接口的一部分,如果程序直接调用这些包中的API,那么程序是可以运行在所有Java平台上,而与操作系统无关;但“sun.*”包并不是 API公开接口的一部分,调用“sun”包的程序并不能确保工作在所有Java平台上,事实上,这样的程序并不能工作在今后的Java平台上。

正因为如此,“sun.*”包中的类并没有提供API文档。平台无关性是Java语言最大的优势之一,此外,SUN和Java许可证确保维持了今后API的向上兼容性(以后修改的那些有严重bug的代码除外)。这种兼容性意味着你写好的程序编译成的cl ass文件仍然可以工作在将来的版本当中。

每家实现Java平台的厂商都可以使用他们自己的方式。“sun.*”包中的类是 SUN 对Java平台的实现方式,它们工作在Java 2 SDK的下层,这些类未必被其它Java 平台开发商支持。比如你的Java程序如果调用了一个名为“sun.package.Foo”的类,将有可能产生 “ClassNotFoundError”的错误,同时你也将失去利用Java的一个主要的优点。

从技术上讲,并不能防止你的程序调用“sun.*”包中的类。在版本的变迁当中,这些类可能会被删除或转移到其它包路径下,而且它的接口(包括名称、标签等)也很有可能发生变化,(根据SUN的观点,我们应当能够通过对“sun.*”包的修改来提高Java平台的性能。)在这种情况下,即便你希望程序仅仅运行在SUN的实现平台下,你仍将承受新的版本给你的系统带来破坏的风险。总之,编写依赖于“sun.*”包的Java程序是不安全的,他们将变得无法移植,无法被很好地支持。

被阅17次, 0票可移植 发表评论

UTF8ToBytes

Admin 于 2008-10-22 01:04:28 发表C/C++

  1. byte src[] = {(byte)228,(byte)184,(byte)173,(byte)229,(byte)155,(byte)189,0};  //中国 
  2.  
  3. int ucCharLen = MultiByteToWideChar(CP_UTF8,0,(LPCSTR)src,-1,NULL,0); 
  4. LPWSTR wbuf = new WCHAR[ucCharLen]; 
  5. memset(wbuf,0,sizeof(wbuf)); 
  6. MultiByteToWideChar(CP_UTF8,0,(LPCSTR)src,-1,wbuf,ucCharLen); 
  7.  
  8. byte* buf = NULL; 
  9.  
  10. int byteLength = WideCharToMultiByte(CP_UTF8,0,(LPCWSTR)wbuf,-1,NULL,0,NULL,NULL); 
  11. buf = new byte[byteLength]; 
  12. memset(buf,0,sizeof(buf)); 
  13. WideCharToMultiByte(CP_UTF8,0,(LPCWSTR)wbuf,-1,(LPSTR)buf,byteLength,NULL,NULL); 
  14.  
  15. delete buf; 
  16. delete wbuf; 
被阅38次, 0票 发表评论

C++实现目录文件的非递归遍历并用伪函数来进行文件操作

Admin 于 2008-10-22 00:53:21 发表C/C++

在用进行文件操作时,少不了和目录的递归打交道,但我一般认为.递归算法比较慢.如果可以采用非递归实现,就不要递归.

在非递归算法中,一般我们用一个队列来保存相应的数据.一会列出代码.
还有一个问题,我们递归目录,无非是想对文件进行操作,或者想得到文件的一个列表. 这时,你可以会采用回调函数. 但在我看来,还有更好的实现文案,让"回调"函数是一个对象,就既可以实现回调,也可以保存数据,这就是C++语言的仿函数.今天,我们就用仿函数来对指 定的文件进行操作,例如修改文件,或者得到文件列表.
先看一下递归函数的实现:

被阅24次, 0票 发表评论

在JPG图片中追加、分离其它文件数据的脚本

Admin 于 2008-10-22 00:50:51 发表JavaScript

用法:
1、追加文件:jpgexe.js jpg1.jpg + exe1.exe jpgout.jpg
程序exe1已经到图片jpgout.jpg 中了。
2.、分离:jpgexe.js jpgout.jpg  exe2.exe
程序exe2已经分离出来了。
脚本:

被阅27次, 0票 发表评论

MFC中对音量的控制:增大,减小,静音

Admin 于 2008-10-22 00:44:54 发表C/C++

  1. //增大音量: 
  2. keybd_event(VK_VOLUME_UP,MapVirtualKey(VK_VOLUME_UP,0),KEYEVENTF_EXTENDEDKEY,0); 
  3. keybd_event(VK_VOLUME_UP,MapVirtualKey(VK_VOLUME_UP,0),KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP,0); 
  4.  
  5. //减小音量: 
  6. keybd_event(VK_VOLUME_DOWN,MapVirtualKey(VK_VOLUME_DOWN,0),KEYEVENTF_EXTENDEDKEY,0); 
  7. keybd_event(VK_VOLUME_DOWN,MapVirtualKey(VK_VOLUME_DOWN,0),KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP,0); 
  8. //静音: 
  9. keybd_event(VK_VOLUME_MUTE,MapVirtualKey(VK_VOLUME_MUTE,0),KEYEVENTF_EXTENDEDKEY,0); 
  10. keybd_event(VK_VOLUME_MUTE,MapVirtualKey(VK_VOLUME_MUTE,0),KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP,0); 
被阅52次, 0票MFC 音量 发表评论
1 / 11 / 82 | « 1 2 3 4 » |

Powered by MiniBoke v2.0.0.8 Build 0828

Copyright © 2008 迷你博客. All rights reserved.

粤ICP备07500939号