??xml version="1.0" encoding="utf-8" standalone="yes"?>9色在线观看,日韩中文字幕在线一区,亚洲精品影视在线观看http://www.aygfsteel.com/mac521/category/8818.htmlLove OpenSourcezh-cnThu, 10 Apr 2008 05:12:09 GMTThu, 10 Apr 2008 05:12:09 GMT60SerialVersionID问题http://www.aygfsteel.com/mac521/archive/2008/04/10/191763.html风中赯风中赯Thu, 10 Apr 2008 02:08:00 GMThttp://www.aygfsteel.com/mac521/archive/2008/04/10/191763.htmlhttp://www.aygfsteel.com/mac521/comments/191763.htmlhttp://www.aygfsteel.com/mac521/archive/2008/04/10/191763.html#Feedback0http://www.aygfsteel.com/mac521/comments/commentRss/191763.htmlhttp://www.aygfsteel.com/mac521/services/trackbacks/191763.html l论Q在实现Serializable接口ӞIDE一般会(x)提醒你设|一个SerialVersionIDQ这样做的好处是方便在不同编译器之间代码的移植。编译器在读取Serial对象Ӟ?x)比较source与target的SerialVersionID是否一_(d)如果一致会(x)产生InvalidClassException?br /> 在Eclipse中忽略该情况操作Ҏ(gu)QWindow-->Preferences-->Java-->Compiler-->Errors/Warnings-->Potential programming problems
问题QSerialVersionID是否在不同的cM有不同的|
回答Q不需要。因为SerialVersionID本n是static finalQ是全局的,而且一般都是针对当前类Q所以一般都是private。编译器在DeSerializable的时候,对象都是当前c,不需要不同类讄不同倹{?br /> 问题Q不昄声明SerialVersionID是错的吗Q?br /> 回答Q不是。编译器有自q生成SerialVersionID的规则,但是不同~译器的规则又是不一致的Q这样就?x)造成已Serial对象SerialVersionID与当前编译器DeSerial出来的SerialVersionID不一_(d)产生Exception。尽可能所有可以序列化c都昄声明SerialVersionID?

风中赯 2008-04-10 10:08 发表评论
]]>
[转]SQL Server和Oracle的常用函数对?/title><link>http://www.aygfsteel.com/mac521/archive/2008/01/02/172094.html</link><dc:creator>风中赯</dc:creator><author>风中赯</author><pubDate>Wed, 02 Jan 2008 02:26:00 GMT</pubDate><guid>http://www.aygfsteel.com/mac521/archive/2008/01/02/172094.html</guid><wfw:comment>http://www.aygfsteel.com/mac521/comments/172094.html</wfw:comment><comments>http://www.aygfsteel.com/mac521/archive/2008/01/02/172094.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/mac521/comments/commentRss/172094.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/mac521/services/trackbacks/172094.html</trackback:ping><description><![CDATA[<p>---------数学函数</p> <p>1.l对?br /> S:select abs(-1) value<br /> O:select abs(-1) value from dual</p> <p>2.取整(?<br /> S:select ceiling(-1.001) value<br /> O:select ceil(-1.001) value from dual</p> <p>3.取整Q小Q?br /> S:select floor(-1.001) value<br /> O:select floor(-1.001) value from dual</p> <p>4.取整Q截取)<br /> S:select cast(-1.002 as int) value<br /> O:select trunc(-1.002) value from dual</p> <p>5.四舍五入<br /> S:select round(1.23456,4) value 1.23460<br /> O:select round(1.23456,4) value from dual 1.2346</p> <p>6.e为底的幂<br /> S:select Exp(1) value 2.7182818284590451<br /> O:select Exp(1) value from dual 2.71828182</p> <p>7.取e为底的对?br /> S:select log(2.7182818284590451) value 1<br /> O:select ln(2.7182818284590451) value from dual; 1</p> <p>8.?0为底Ҏ(gu)<br /> S:select log10(10) value 1<br /> O:select log(10,10) value from dual; 1</p> <p>9.取^?br /> S:select SQUARE(4) value 16<br /> O:select power(4,2) value from dual 16</p> <p>10.取^Ҏ(gu)<br /> S:select SQRT(4) value 2<br /> O:select SQRT(4) value from dual 2</p> <p>11.求Q意数为底的幂<br /> S:select power(3,4) value 81<br /> O:select power(3,4) value from dual 81</p> <p>12.取随机数<br /> S:select rand() value<br /> O:select sys.dbms_random.value(0,1) value from dual;</p> <p>13.取符?br /> S:select sign(-8) value -1<br /> O:select sign(-8) value from dual -1</p> <p>----------三角函数相关</p> <p>14.圆周?br /> S:SELECT PI() value 3.1415926535897931<br /> O:不知?/p> <p>15.sin,cos,tan 参数都以弧度为单?br /> 例如Qselect sin(PI()/2) value 得到1QSQLServerQ?/p> <p>16.Asin,Acos,Atan,Atan2 q回弧度</p> <p>17.弧度角度互换(SQLServerQOracle不知?<br /> DEGREESQ弧?〉角?br /> RADIANSQ角?〉弧?/p> <p>---------数值间比较</p> <p>18. 求集合最大?br /> S:select max(value) value from<br /> (select 1 value<br /> union<br /> select -2 value<br /> union<br /> select 4 value<br /> union<br /> select 3 value)a</p> <p>O:select greatest(1,-2,4,3) value from dual</p> <p>19. 求集合最?br /> S:select min(value) value from<br /> (select 1 value<br /> union<br /> select -2 value<br /> union<br /> select 4 value<br /> union<br /> select 3 value)a</p> <p>O:select least(1,-2,4,3) value from dual</p> <p>20.如何处理null?F2中的null?0代替)<br /> S:select F1,IsNull(F2,10) value from Tbl<br /> O:select F1,nvl(F2,10) value from Tbl</p> <p>--------字符串函?/p> <p>21.求字W序?br /> S:select ascii('a') value<br /> O:select ascii('a') value from dual</p> <p>22.从序h字符<br /> S:select char(97) value<br /> O:select chr(97) value from dual</p> <p>23.q接<br /> S:select '11'+'22'+'33' value<br /> O:select CONCAT('11','22')||33 value from dual</p> <p>23.子串位置 --q回3<br /> S:select CHARINDEX('s','sdsq',2) value<br /> O:select INSTR('sdsq','s',2) value from dual</p> <p>23.模糊子串的位|?--q回2,参数L中间%则返?<br /> // 本文转自 C++Builder 研究 - <a >http://www.ccrun.com/article.asp?i=996&d=dwn1rn</a><br /> S:select patindex('%d%q%','sdsfasdqe') value<br /> O:oracle没发玎ͼ但是instr可以通过W四个参数控制出现次?br /> select INSTR('sdsfasdqe','sd',1,2) value from dual q回6</p> <p>24.求子?br /> S:select substring('abcd',2,2) value<br /> O:select substr('abcd',2,2) value from dual</p> <p>25.子串代替 q回aijklmnef<br /> S:SELECT STUFF('abcdef', 2, 3, 'ijklmn') value<br /> O:SELECT Replace('abcdef', 'bcd', 'ijklmn') value from dual</p> <p>26.子串全部替换<br /> S:Replace<br /> O:select Translate('fasdbfasegas','fa','? ) value from dual</p> <p>27.长度<br /> S:len,datalength<br /> O:length</p> <p>28.大小写{?lower,upper</p> <p>29.单词首字母大?br /> S:没发?br /> O:select INITCAP('abcd dsaf df') value from dual</p> <p>30.左补I格QLPAD的第一个参Cؓ(f)I格则同space函数Q?br /> S:select space(10)+'abcd' value<br /> O:select LPAD('abcd',14) value from dual</p> <p>31.双I格QRPAD的第一个参Cؓ(f)I格则同space函数Q?br /> S:select 'abcd'+space(10) value<br /> O:select RPAD('abcd',14) value from dual</p> <p>32.删除I格<br /> S:ltrim,rtrim<br /> O:ltrim,rtrim,trim</p> <p>33. 重复字符?br /> S:select REPLICATE('abcd',2) value<br /> O:没发?/p> <p>34.发音怼性比?q两个单词返回gP发音相同)<br /> S:SELECT SOUNDEX ('Smith'), SOUNDEX ('Smythe')<br /> O:SELECT SOUNDEX ('Smith'), SOUNDEX ('Smythe') from dual<br /> SQLServer中用SELECT DIFFERENCE('Smithers', 'Smythers') 比较soundex的差<br /> q回0-4Q?为同韻I1最?/p> <p>--------------日期函数</p> <p>35.pȝ旉<br /> S:select getdate() value<br /> O:select sysdate value from dual</p> <p>36.前后几日<br /> 直接与整数相加减</p> <p>37.求日?br /> S:select convert(char(10),getdate(),20) value<br /> O:select trunc(sysdate) value from dual<br /> select to_char(sysdate,'yyyy-mm-dd') value from dual</p> <p>38.求时?br /> S:select convert(char(8),getdate(),108) value<br /> O:select to_char(sysdate,'hh24:mm:ss') value from dual</p> <p>39.取日期时间的其他部分<br /> S:DATEPART ?DATENAME 函数 Q第一个参数决定)<br /> O:to_char函数 W二个参数决?/p> <p>参数---------------------------------下表需要补?br /> year yy, yyyy<br /> quarter qq, q (季度)<br /> month mm, m (m O无效)<br /> dayofyear dy, y (O表星?<br /> day dd, d (d O无效)<br /> week wk, ww (wk O无效)<br /> weekday dw (O不清?<br /> Hour hh,hh12,hh24 (hh12,hh24 S无效)<br /> minute mi, n (n O无效)<br /> second ss, s (s O无效)<br /> millisecond ms (O无效)<br /> ----------------------------------------------</p> <p>40.当月最后一?br /> S:不知?br /> O:select LAST_DAY(sysdate) value from dual</p> <p>41.本星期的某一天(比如星期日)<br /> S:不知?br /> O:SELECT Next_day(sysdate,7) vaule FROM DUAL;</p> <p>42.字符串{旉<br /> S:可以直接转或者select cast('2004-09-08'as datetime) value<br /> O:SELECT To_date('2004-01-05 22:09:38','yyyy-mm-dd hh24-mi-ss') vaule FROM DUAL;</p> <p>43.求两日期某一部分的差Q比如秒Q?br /> S:select datediff(ss,getdate(),getdate()+12.3) value<br /> O:直接用两个日期相减(比如d1-d2=12.3Q?br /> SELECT (d1-d2)*24*60*60 vaule FROM DUAL;</p> <p>44.Ҏ(gu)差值求新的日期Q比如分钟)<br /> S:select dateadd(mi,8,getdate()) value<br /> O:SELECT sysdate+8/60/24 vaule FROM DUAL;</p> <p>45.求不同时区时?br /> S:不知?br /> O:SELECT New_time(sysdate,'ydt','gmt' ) vaule FROM DUAL;</p> <p>-----时区参数,北京在东8区应该是Ydt-------<br /> AST ADT 大西z标准时?br /> BST BDT 白o(h)h准时?br /> CST CDT 中部标准旉<br /> EST EDT 东部标准旉<br /> GMT 格林治标准旉<br /> HST HDT 阿拉斯加—夏威夷标准旉<br /> MST MDT 山区标准旉<br /> NST U芬兰标准时?br /> PST PDT 太^z标准时?br /> YST YDT YUKON标准旉</p> <p>Oracle支持的字W函数和它们的Microsoft SQL Server{h(hun)函数:</p> <p>函数 Oracle Microsoft SQL Server<br /> 把字W{换ؓ(f)ASCII ASCII ASCII<br /> 字串q接 CONCAT (expression + expression)<br /> 把ASCII转换为字W?CHR CHAR<br /> q回字符串中的开始字W(左vQ?INSTR CHARINDEX<br /> 把字W{换ؓ(f)写 LOWER LOWER<br /> 把字W{换ؓ(f)大写 UPPER UPPER<br /> 填充字符串的左边 LPAD N/A<br /> 清除开始的I白 LTRIM LTRIM<br /> 清除N的空?RTRIM RTRIM<br /> 字符串中的v始模式(patternQ?INSTR PATINDEX<br /> 多次重复字符?RPAD REPLICATE<br /> 字符串的语音表示 SOUNDEX SOUNDEX<br /> 重复I格的字?RPAD SPACE<br /> 从数字数据{换ؓ(f)字符数据 TO_CHAR STR<br /> 子串 SUBSTR SUBSTRING<br /> 替换字符 REPLACE STUFF<br /> 字串中的每个词首字母大?INITCAP N/A<br /> 译字符?TRANSLATE N/A<br /> 字符串长?LENGTH DATELENGTH or LEN<br /> 列表中最大的字符?GREATEST N/A<br /> 列表中最的字符?LEAST N/A<br /> 如果为NULL则{换字?NVL ISNULL</p> <p>日期函数</p> <p>函数 Oracle Microsoft SQL Server<br /> 日期相加 (date column +/- value) or<br /> ADD_MONTHS DATEADD<br /> 两个日期的差 (date column +/- value) or<br /> MONTHS_BETWEEN DATEDIFF<br /> 当前日期和时?SYSDATE GETDATE()<br /> 一个月的最后一?LAST_DAY N/A<br /> 时区转换 NEW_TIME N/A<br /> 日期后的W一个周?NEXT_DAY N/A<br /> 代表日期的字W串 TO_CHAR DATENAME<br /> 代表日期的整?TO_NUMBER<br /> (TO_CHAR)) DATEPART<br /> 日期舍入 ROUND CONVERT<br /> 日期截断 TRUNC CONVERT<br /> 字符串{换ؓ(f)日期 TO_DATE CONVERT<br /> 如果为NULL则{换日?NVL ISNULL</p> <p>转换函数</p> <p>函数 Oracle Microsoft SQL Server<br /> 数字转换为字W?TO_CHAR CONVERT<br /> 字符转换为数?TO_NUMBER CONVERT<br /> 日期转换为字W?TO_CHAR CONVERT<br /> 字符转换为日?TO_DATE CONVERT<br /> 16q制转换?q制 HEX_TO_RAW CONVERT<br /> 2q制转换?6q制 RAW_TO_HEX CONVERT</p> <p>其它行别的函数</p> <p>函数 Oracle Microsoft SQL Server<br /> q回W一个非I辑ּ DECODE COALESCE<br /> 当前序列?CURRVAL N/A<br /> 下一个序列?NEXTVAL N/A<br /> 如果exp1 = exp2, q回null DECODE NULLIF<br /> 用户d账号ID数字 UID SUSER_ID<br /> 用户d?USER SUSER_NAME<br /> 用户数据库ID数字 UID USER_ID<br /> 用户数据库名 USER USER_NAME<br /> 当前用户 CURRENT_USER CURRENT_USER<br /> 用户环境(audit trail) USERENV N/A<br /> 在CONNECT BY子句中的U别 LEVEL N/A</p> <p>合计函数</p> <p>函数 Oracle Microsoft SQL Server<br /> Average AVG AVG<br /> Count COUNT COUNT<br /> Maximum MAX MAX<br /> Minimum MIN MIN<br /> Standard deviation STDDEV STDEV or STDEVP<br /> Summation SUM SUM<br /> Variance VARIANCE VAR or VARP</p> <p>Oracleq有一个有用的函数EXTRACT,提取q且q回日期旉或时间间隔表辑ּ中特定的旉?<br /> EXTRACT(YEAR FROM 日期)</p> <img src ="http://www.aygfsteel.com/mac521/aggbug/172094.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/mac521/" target="_blank">风中赯</a> 2008-01-02 10:26 <a href="http://www.aygfsteel.com/mac521/archive/2008/01/02/172094.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Spring配置文g中id的第二个字母不能大写问题http://www.aygfsteel.com/mac521/archive/2007/12/05/165506.html风中赯风中赯Wed, 05 Dec 2007 06:27:00 GMThttp://www.aygfsteel.com/mac521/archive/2007/12/05/165506.htmlhttp://www.aygfsteel.com/mac521/comments/165506.htmlhttp://www.aygfsteel.com/mac521/archive/2007/12/05/165506.html#Feedback0http://www.aygfsteel.com/mac521/comments/commentRss/165506.htmlhttp://www.aygfsteel.com/mac521/services/trackbacks/165506.html阅读全文

风中赯 2007-12-05 14:27 发表评论
]]>
[Original]解析xml的相对\径问?/title><link>http://www.aygfsteel.com/mac521/archive/2007/11/22/162390.html</link><dc:creator>风中赯</dc:creator><author>风中赯</author><pubDate>Thu, 22 Nov 2007 07:32:00 GMT</pubDate><guid>http://www.aygfsteel.com/mac521/archive/2007/11/22/162390.html</guid><wfw:comment>http://www.aygfsteel.com/mac521/comments/162390.html</wfw:comment><comments>http://www.aygfsteel.com/mac521/archive/2007/11/22/162390.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.aygfsteel.com/mac521/comments/commentRss/162390.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/mac521/services/trackbacks/162390.html</trackback:ping><description><![CDATA[<p style="font-size: 12pt; font-family: 微Y雅黑">今天在做xml解析的时候,遇到一个问?img alt="" src="/CuteSoft_Client/CuteEditor/images/emdgust.gif" align="absMiddle" border="0" />Q怎么用相对\径替换绝对\?׃我半天的旉(水^不行费太多旉<img alt="" src="/CuteSoft_Client/CuteEditor/images/emembarrassed.gif" align="absMiddle" border="0" />)Q写出来׃nl大Ӟ希望能够l大家帮助。在web工程中,有三U途径可以实现xml相对路径Q?br /> 1>xml攑֜WEB-INF目录下,通过getServletContext().getResourceAsStream("/WEB-INF/gather.xml");<br /> 2>xmlҎ(gu)在WEB-INF/classes目录下或classpath的jar包中Q则可以使用ClassLoader的静态方法getSystemResourceAsStream(String)d<br /> <span style="color: red">前两U方法是从网上找到的Q还没有试Q因为我采用的是得到xml的urlQ然后去解析?</span><br /> 3>通过获得xml的urlQ然后根据url去解析的<br /> 获得url代码:<br />     ClassLoader classLoader = Thread.currentThread.getContextClassLoader();<br />     java.net.URL xmlURL = classLoader.getResource("gather/config/gather.xml");<br />     SAXReader reader = new SAXReader();<br />     Document document = reader.read(xmlURL);<br /> 如果不是在web工程中,可以用InputStream去解析xmlQ代码如下:(x)<br />     <span style="color: #0000ff">//className是类?br /> </span>    ClassLoader classLoader = className.class.getClassLoader();<br />     InputStream inputStream = classLoader.getResourceAsStream("gather/config/gather.xml");<br />     SAXReader reader = new SAXReader();<br />     Document document = reader.read(inputStream);</p> <img src ="http://www.aygfsteel.com/mac521/aggbug/162390.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/mac521/" target="_blank">风中赯</a> 2007-11-22 15:32 <a href="http://www.aygfsteel.com/mac521/archive/2007/11/22/162390.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>jsp中的数据库编E?/title><link>http://www.aygfsteel.com/mac521/archive/2006/06/15/52942.html</link><dc:creator>风中赯</dc:creator><author>风中赯</author><pubDate>Thu, 15 Jun 2006 02:59:00 GMT</pubDate><guid>http://www.aygfsteel.com/mac521/archive/2006/06/15/52942.html</guid><wfw:comment>http://www.aygfsteel.com/mac521/comments/52942.html</wfw:comment><comments>http://www.aygfsteel.com/mac521/archive/2006/06/15/52942.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/mac521/comments/commentRss/52942.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/mac521/services/trackbacks/52942.html</trackback:ping><description><![CDATA[最q好久没上过BLOG了,前段旉实在是很忙啊。以前两q半的时间都没这么忙q呢~~~<br />今天上网看到一文章就转过来,大家一起分享下。前些时间我在研IJSP中的数据库连接,费了好大的劲Q做了好多天Q终于连接上了,辛苦啊,先喝杯酒庆祝一下,CHEERS.................现在p{帖了<br />[转]<br />二,JDBC 主要接口Q?br />java.sql.DriverManagercȝ于处理驱动程序的调入q且Ҏ(gu)的数据库q接提供支持?br />java.sql.ConnectionQ指应用E序与特定数据库的连接?br />java.sql.StatementQ用于一般sql语句的执行(可以是查询、更新甚臛_以创建数据库的执行过E)<br />java.sql.ResultSet,查询所q回的结果保存在此对象中Q用它可以浏览和存取数据库内的记录?br /><br />1Q通过jdbc-odbc桥用odbc数据库(q不需要jdbc DriversQ?br /><br />先在odbc DSN(Data Source Name)讄处设|pubs sysDSN,sa为username,密码为空<br />Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");//加蝲驱动E序<br />con=DriverManager.getConnection("jdbc:odbc:pubs","sa","");//jdbc:odbc:pubs<br />con.close();<br />//应当catch ClassNotFoundException和SQLException<br /><br />Connection的getWarningҎ(gu)q回一个SQLWarning对象Q在q接之前应当先检查?br />使用jdbc-odbc的最大好处是Q免费的。但是性能受odbc的限Ӟ而且一般odbc驱动比较昂贵?br />2Q用专门的jdbc驱动E序?/此处是mm jdbc Driver<br />先将jar文g攑֜ClassPath里面?br />Class.forName("org.gjt.mm.mysql.Driver");<br />con=DriverManager.getConnection("jdbc:mysql://localhost:3306/dbname","root","");<br />con.close();<br /><br />可见使用何种方式q接何种数据库与数据库的操作和连接数据库是无关的?br />三,查询数据?br />Statement stmt=con.createStatement();<br />stmt.setMaxRows()可以控制输出记录最大数?<br />ResultSet rs=stmt.executeQuery("select .....");<br /><br />ResultSet指向当前记录:<br />int userId=rs.getInt("userid");<br />String userName=rs.getString("username");<br />...或者用序号Q从1开始的Q?br />int userId=rs.getInt(1);<br />Stirng userName=rs.getString(2);<br /><br />ClassNotFoundException是由于Class.forName()无法载入jdbc驱动E序触发?br />SQLException是jdbc在执行过E中发生问题时生。有一个额外的Ҏ(gu)getNextException()<br />catch(SQLException e){<br />out.println(e.getMessage());<br />while(e=e.getNextException()){<br />out.println(e.getMessage());<br />}<br />}<br /><br />一般来说ƈ不徏议在jsp中编写数据库的访问程序,可以数据库的访问封装在一个javabean中?br />四,ResultSet深入<br />1QResultSetMetaData<br />ResultSet rs=stmt.executeQuery("select....");<br />ResultSetMetaData rsmd=rs.getMetaData(); //获取ResultSetMateData对象<br />int numberOfColumns=rsmd.getColumnCount();//q回列数<br />boolean b=rsmd.isSearchable(int i);//q回Wi列是否可以用于where子句<br />String c=rsmd.getColumnLabel(int i);//获取Wi列的列标<br />Objcet obj=rs.getObject();<br />if(obj!=null)out.println(obj.toString());<br />else println("");<br />2QSQLcd与ResultSet的getObjectq回cd?qing)对应的XXX getXXX()Ҏ(gu)<br />SQLcd JSPcd 对应的getXXX()Ҏ(gu)<br />———————————————————————————————————————————?br />CHAR String String getString()<br />VARCHAR String String getString()<br />LONGVARCHAR String InputStream getAsciiStream()/getUnicodeStream()<br />NUMERIC java.math.BigDecimal java.math.BigDecimal getBigDecimal()<br />DECIMAL 同上<br />BIT Boolean boolean getBoolean()<br />TINYINT Integer byte getByte()<br />SMALLINT Integer short getShort()<br />INTEGER Integer int getInt()<br />BIGINT Long long getLong()<br />REAL Float float getFloat()<br />FLOAT Double double getDouble()<br />DOUBLE Double double getDouble()<br />BINARY byte[] byte[] getBytes()<br />VARBINARY byte[] byte[] getBytes()<br />LONGVARBINARY byte[] InputStream getBinaryStream()<br />DATE java.sql.Date java.sql.Date getDate()<br />TIME java.sql.Time java.sql.Time getTime()<br />TIMESTAMP java.sql.Timestamp java.sql.Timestamp getTimestamp()<br /><br />3Qnull<br />int i=rs.getInt("age");<br />if(!rs.wasNull())....//RecordSet::wasNull()用来查null<br />4,存取大字W串和二q制文本<br />对于数据库中longvarchar和langvarbinaryq行操?br />ResultSet rs=stmt.executeQueryString("select ...");<br />BufferedReader br=new BufferedReader(new InputStream(rs.getAsciiStream("vol1")));//长文本串<br />BufferedReader br=new BufferedReader(new InputStream(rs.getUnicodeStream("vol1")));<br />BufferedReader br=new BufferedReader(new InputStream(rs.getBinaryStream("vol2")));//长二q制文本<br />//取数据必drs.getAsciiStream(), rs.getUnicodeStream(), rs.getBinaryStream(){之后马上进?br /><br /><br />五,览ResultSet<br />1QJDBC2.0提供了更多浏览ResultSet的方?br />首先Q确定你的jdbc驱动E序支持jdbc2.0<br />其次Q由Connection生成Statement时要指定参数<br />Statement stmt=con.getStatement("游标cd", "记录更新权限");<br />游标cdQ?br />ResultSet.TYPE_FORWORD_ONLY:只可以向前移?br />ResultSet.TYPE_SCROLL_INSENSITIVE:可卷动。但是不受其他用户对数据库更改的影响?br />ResultSet.TYPE_SCROLL_SENSITIVE:可卷动。当其他用户更改数据库时q个记录也会(x)改变?br />记录更新权限Q?br />ResultSet.CONCUR_READ_ONLY,只读<br />ResultSet.CONCUR_UPDATABLE,可更?br /><br />getStatement()~省参数QgetStatement(ResultSet.TYPE_FORWORD_ONLY, ResultSet.CONCUR_READ_ONLY)<br />2,如果ResultSet是可卷动的,以下函数可以使用Q?br />rs.absolute()//l对位置Q负数表CZ后面?br />rs.first()W一?br />rs.last()最后一?br />rs.previoust()前一?br />rs.next()后一?br />rs.beforeFirst()W一条之?br />rs.afterLast()最后之?br />rs.isFirst(),rs.isLast(),rs.isBeforeFirst(),rs.isAfterLast<br />注意Q刚打开的时候是处于W一条记录之前的<br /><br />六,更新数据?br />1Qstmt.executeUpdate("strSql"),strSql是一条sql更新语句。update,insert,deleteq回影响到的条数<br />2Qstmt.execute()Ҏ(gu)在不知道sql语句是查询还是更新的时候用。如果生一条以上的对象Ӟq回true,此时可用 stmt.getResultSet()和stmt.getUpdateCount()来获取executel果Q如果不q回ResultSet对象则返回false.<br />3,除了Statement的executeUpdate之外q可以用ResultSet:<br />rs.updateInt(1,10);<br />rs.updateString(2,"sfafd");<br />rs.updateRow();<br /><br />七,使用预编译PreparedStatement<br />PreparedStatement对象和Statement对象cMQ都可以用来执行SQL语句。不同在于,数据库会(x)对PreparedStatement的SQL语句q行预编译,而且仍旧能输入参数ƈ重复执行~译好的查询速度比未~译的要快?br />PreparedStatement stmt=con.preparedStatement("Insert Into users(userid, username) values(?,?)");<br />stmt.clearParameters();<br />stmt.setInt(1,2);<br />stmt.setString(2,"Big");<br />stmt.executeUpdate();<br /><br />八,执行存储q程<br />1QJDBC调用存储q程Qƈ使用存储q程的返回倹{这样可以将处理工作分ؓ(f)服务端和客户端两部分Qƈ大大加快pȝ的设计和开发的旉。比如可以重复用服务器上的lg。用存储过E之后大量诸计算工作可以交给数据库服务器来处理,q将降低Web服务器的负蝲Q从而提高整个系l的性能?br />2Q有两个表UserMain{UserID,UserName,UserType},UserRef{BrefID, UserID, UserBrief}<br />下面的存储过E可以接受jdbc传来的参敎ͼ新增内容到UserMain和UserRefQƈ输出一个OutUserID.<br />CREATE PROCEDURE ap_adduser<br />(<br />@OutUserID int output, //此ؓ(f)输出参数,output标记<br />@UserName varchar(25), //参数表示Ҏ(gu)Q?@XXX"为变量名Q?变量名 类型 [output]"<br />@UserType tinyint,<br />@UserBrief varchar(255),<br />)<br />AS<br />Declare @UserID int //定义局部变?br />insert into UserMain(UserName, UserType)<br />values(@UserName,@UserType)<br />select @UserID=@@IDENTITY //赋值用select,此处自动获得ID<br />insert into UserRef(UserID, UserBrief)<br />select @OutUserID=@UserID<br />GO/*l束Q基本结构:(x)<br />CREATE PROCEDURE procedureName(<br />parameters<br />)<br />AS<br />actions<br />GO<br />*/<br /><br /><br />JSP面中这样用:(x)<br />CallableStatement stmt=con.prepareCall("{call ap_adduser(?,?,?,?)}");<br />stmt.registerOutParameter(1,Types.INTEGER,1);//注册输出变量<br />stmt.setString(2,"edmund");<br />stmt.setInt(3,1);<br />stmt.setString(4,"description");<br />stmt.execute();<br />int userid=stmt.getInt(1);<br />stmt.close()<br /><br />八,使用事务<br />1Q事务中的操作是一个整体,要么都执行成功要么都不成功:(x)事务开始后Q如果所有的改变都正,则用commitҎ(gu)这些动作全部存入数据库Q否则就使用rollback取消所有的改变动作Q而这时数据库中的数据和执行事务前的是相同的?br />2Q用事务时应当先用 con.setAutoCommit(false)Q最后用commit或者rollback<br />3Qrollback一般在catchD|?br />?ji),数据库连接?br />1Q如果有一个数据库q接hq且q接中没有连接,则生成一个新的连接。这个连接用完之后q不关闭它,而是它攑օq接池。在q个q程中,q要判断q接池中的连接是否超期。如果超期则它关闭?br />2Q有很多已有的Connection Pool包可以用?br />3Q一般将Connection Pool作ؓ(f)一个application作用域的变量使用<br /><jsp:useBean id="pool" scope="application" class="javastart.tools.ConnectionPool" /><br /><%@page import="java.sql.*"%><br /><%@page import="javastart.tools.*"%><br /><!--javastart.tools是你的Connection Pool所在的地方--><br />DBConnection con=null;<br />try{<br />con=pool.getConnection("sun.jdbc.odbc.JdbcOdbcDriver","jdbc:odbc:access","","");<br />Statement stmt=con.createStatement();<br />stmt.setMaxRows(10);<br />String query=request.getParameter("quey");<br />ResultSet rs=stml.executeQuery(query);<br />ResultSetMetaData rsmd=rs.getMetaData();<br />}<br />.....<br />finally{<br />pool.releaseConnection(con);<br />}<br /><br />也可以用一个Servlet初始化连接池<img src ="http://www.aygfsteel.com/mac521/aggbug/52942.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/mac521/" target="_blank">风中赯</a> 2006-06-15 10:59 <a href="http://www.aygfsteel.com/mac521/archive/2006/06/15/52942.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>转蝲QJBuild下解决中文问?/title><link>http://www.aygfsteel.com/mac521/archive/2006/04/08/39985.html</link><dc:creator>风中赯</dc:creator><author>风中赯</author><pubDate>Sat, 08 Apr 2006 04:41:00 GMT</pubDate><guid>http://www.aygfsteel.com/mac521/archive/2006/04/08/39985.html</guid><wfw:comment>http://www.aygfsteel.com/mac521/comments/39985.html</wfw:comment><comments>http://www.aygfsteel.com/mac521/archive/2006/04/08/39985.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/mac521/comments/commentRss/39985.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/mac521/services/trackbacks/39985.html</trackback:ping><description><![CDATA[ <p>Ҏ(gu)一Q?br />   下蝲最新版的JDK把jre/lib下的font.properties.zh盖掉JBX所用的JDK相同目录JBX/jdk1.4/jre/lib下的相同文gp了?/p> <p>Ҏ(gu)二:(x)<br />   Project => Project Properties => General => Encoding =>改ؓ(f)GBK?/p> <p>Ҏ(gu)三:(x)步骤如下Q?br />1: 安装JBXQ不用说了;</p> <p>2: 改变一下,Tools => Preferences... => Editor => Display 里面的字体,主要是让JBuilderX搜烦一下系l的字体Q?/p> <p>3: 关闭JBXQ?/p> <p>4: 在用户主目录下(X:\Documents and Settings\Administrator\Q?br />  打开.primetimeX\user_zh.properties<br />  所有的editor.display;known_fonts.***=***拯出来Q?br />  新徏一个文Ӟ_脓(chung)q去然后把这里的known_fonts全部替换成fixed_fontsQ然后拷贝所有,回到user_zh.properties文g来;<br />  替换掉这里的所有的editor.display;fixed_fonts.***=***行,保存Q?/p> <p>5: 重vJBXQTools => Preferences... => Editor => Display ==> Font Family里面的字体是全部Windows的字体了</p> <img src ="http://www.aygfsteel.com/mac521/aggbug/39985.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/mac521/" target="_blank">风中赯</a> 2006-04-08 12:41 <a href="http://www.aygfsteel.com/mac521/archive/2006/04/08/39985.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>今天l于完成了洗牌程?不过可能有点?http://www.aygfsteel.com/mac521/archive/2006/04/01/38620.html风中赯风中赯Sat, 01 Apr 2006 08:50:00 GMThttp://www.aygfsteel.com/mac521/archive/2006/04/01/38620.htmlhttp://www.aygfsteel.com/mac521/comments/38620.htmlhttp://www.aygfsteel.com/mac521/archive/2006/04/01/38620.html#Feedback1http://www.aygfsteel.com/mac521/comments/commentRss/38620.htmlhttp://www.aygfsteel.com/mac521/services/trackbacks/38620.htmlimport java.awt.*;
import java.awt.event.*;
import java.util.*;
import javax.swing.*;
public class puke extends JApplet
{
 JFrame f=new JFrame();
 Container y=getContentPane();
 JButton wash=new JButton("z牌");
  JButton post=new JButton("发牌");
 JLabel first=new JLabel("The first is:");
 JLabel second=new JLabel("The second is:");
 JLabel third=new JLabel("The third is:");
 JLabel fourth=new JLabel("The fourth is:");
 public void init()
 {  
  y.setLayout(new GridLayout(3,2));
  y.add(wash);
  y.add(post);
  y.add(first);
  y.add(second);
  y.add(third);
  y.add(fourth);
  wash.addActionListener(new WashActionAdapter());
  post.addActionListener(new PostActionAdapter());      
 }
//---------------------------------------------------------------
   class MyThread extends Thread
   {
    public void run()
    {
     Stack save=new Stack();
     Vector MyVector=new Vector(1,1);
    String[] wpkp={"U桃","黑桃","方片","草花"};
      Random i=new Random();
        int a,j;
        a=4;
    try
    {
         while(a!=0)
   {
     j=i.nextInt(4);
     if(wpkp[j]!="NULL")
      {
       save.push(wpkp[j]);
         wpkp[j]="NULL";
        a-=1;
     }
     else continue;
    }
     while(!save.empty())      
          MyVector.addElement(save.pop());
          for(int ii=0;ii<MyVector.capacity();ii++)
          {
           switch(ii%5)
     {
      case 0:first.setText("The first is:"+MyVector.get(ii).toString());break;
      case 1:second.setText("The second is:"+MyVector.get(ii).toString());break;
      case 2:third.setText("The third is:"+MyVector.get(ii).toString());break;
      case 3:fourth.setText("The fourth is:"+MyVector.get(ii).toString());break;
     }
     }
    }
    catch(Exception ee)
    {
    }
     }
    }
//----------------------------------------------------------------
  class WashActionAdapter implements ActionListener
  {
//   Stack save=new Stack();
      
     
  
   public  void actionPerformed(ActionEvent e)
   {
            first.setText("The first is:");
      second.setText("The second is:");
      third.setText("The third is:");
      fourth.setText("The fourth is:");    
    }
   }
//-------------------------------------------------------------------------------------
   class PostActionAdapter implements ActionListener
   {
    public  void actionPerformed(ActionEvent e)
    {
     String cmd=e.getActionCommand();
     String title="Message Dialog";
     String message="";
     int type;
     if(first.getText().equals("The first is:"))
     {
      Thread t=new MyThread();
        t.start();
      }
     else
     {
      type=JOptionPane.PLAIN_MESSAGE;
      message="请先z牌";
     JOptionPane.showMessageDialog(f,message,title,type);
      }
    
     }
   }
//---------------------------------------------------------------------------------------   
}





自己感觉有点乱,大家有好的方法可以告诉我Q精诚合作,金石为开

风中赯 2006-04-01 16:50 发表评论
]]>
索求学习(fn)资源......http://www.aygfsteel.com/mac521/archive/2006/03/25/37335.html风中赯风中赯Sat, 25 Mar 2006 05:21:00 GMThttp://www.aygfsteel.com/mac521/archive/2006/03/25/37335.htmlhttp://www.aygfsteel.com/mac521/comments/37335.htmlhttp://www.aygfsteel.com/mac521/archive/2006/03/25/37335.html#Feedback1http://www.aygfsteel.com/mac521/comments/commentRss/37335.htmlhttp://www.aygfsteel.com/mac521/services/trackbacks/37335.html        在这个先谢谢?img height="19" src="http://www.aygfsteel.com/Emoticons/shades_smile.gif" width="19" border="0" />

风中赯 2006-03-25 13:21 发表评论
]]>
求助JAVAE序http://www.aygfsteel.com/mac521/archive/2006/03/25/37332.html风中赯风中赯Sat, 25 Mar 2006 05:08:00 GMThttp://www.aygfsteel.com/mac521/archive/2006/03/25/37332.htmlhttp://www.aygfsteel.com/mac521/comments/37332.htmlhttp://www.aygfsteel.com/mac521/archive/2006/03/25/37332.html#Feedback0http://www.aygfsteel.com/mac521/comments/commentRss/37332.htmlhttp://www.aygfsteel.com/mac521/services/trackbacks/37332.html      后来我们惛_l上面的函数乘以牌数Q然后强制{换成整数Q可是后面的问题q是没有解决。我惛_定义一个长度和牌的数目一L(fng)数组Q然后每ơ丛数组取出一个数Q就令这个对应的数组中的Cؓ(f)NULLQ过后把取到的数对应的放入栈中?br />       同学说我的算法没有效率,其实我也觉得有点......如果谁有比较好点的算法可以写出来Q最好是E序都写出来
      我的邮箱?a href="mailto:zyl198511@hotmail.com">zyl198511@hotmail.com

风中赯 2006-03-25 13:08 发表评论
]]>
վ֩ģ壺 Դ| | | ̶| | ³| ½| ʯ| ɽ| ŷ| ƺ| μ| | | | ʡ| ̫| | ȫ| | | | Ͷ| | Ϫ| ̩| ˮ| »| ɽ| ¡| ϰ| Ӽ| Ƿ| | ;| | ƽ½| | | | |