部落客廣告聯播

2008年2月18日 星期一

JDBC insert CLOB欄位

1. 若為String可轉為StringReader物件...

String s="String content字串";
StringReader sr=new StringReader(s);


3. prepare statement

Connection con = ds.getConnection();
String sql="insert testTable(colClob) values (?) ";
PreparedStatement pstmt=con.prepareStatement(sql);

2. 將該Reader寫入暫存檔

tmp=File.createTempFile("tmpInsertClob_", null);
BufferedWriter writer=new BufferedWriter(new FileWriter(tmp));
BufferedReader reader=new BufferedReader((Reader)insertVals.get(i));

//StringWriter用來計算字數用
StringWriter strW=new StringWriter();
int contentLength=0;
int data=0;
while((data=reader.read())!=-1)
{
writer.write(data);
strW.write(data);
}
strW.close();
contentLength=strW.toString().length();
strW=null;
writer.close();
reader.close();
BufferedReader reader2=new BufferedReader(new FileReader(tmp));

pstmt.setCharacterStream(i+1,reader2,contentLength);



3. 執行

pstmt.executeUpdate();


4.關閉來源串流

reader2.close();

2008年2月3日 星期日

Apache AXIS 簡介

Web Service可以像Java Object般來封裝與發佈,就靠AXIS了,以下是小弟參考官方安裝文件所製作的入門簡介簡報:

2008年1月29日 星期二

javascript實用技巧:動態建立<select><option>下拉選單

//取得<select>物件
var sel=document.getElementById('selProductNum') ;

//clear all
var len=sel.options.length;
for(var j=0;j<len;j++)
{ sel.options[0] = null; }

//add option
var prodNumArr=prodNums.split(",");
for(var i=0;i<prodNumArr.length;i++)
{ sel.options[i+1]=new Option(prodNumArr[i],prodNumArr[i]); }

// set which one option is selected
sel.options.selectedIndex=1;

2008年1月16日 星期三

併! 併! 併!

呵呵 今天ITHome最吸引我的兩則新聞
昇陽10億美金買下開放源碼資料庫MySQL
甲骨文85億美元現金買下BEA

科技界大吃小時有所聞,併入也不會是壞事!
但想想JAVA DB、和OC4J的處境應該會越來越尷尬吧!

2007年12月24日 星期一

2007年11月6日 星期二

[Javascript實用技巧]判斷輸入是否為合法數字

1. 使用內建isNaN( ) -->若非合法數字傳回true,合法數字傳回false
isNaN(1.23) --> false
isNaN(-1.23) --> false
isNaN(4-1) --> false
isNaN("String") --> true

2. 自己寫

function fnIsValidInt(num)
{
var i,j,strTemp;
strTemp="0123456789";

for (i=0;i<num.length;i++)
{
j=strTemp.indexOf(num.charAt(i));
if (j==-1)
{
return false;
}
}
return true;
}

function fnIsValidFlot(NUM)
{
if ( NUM.length== 0)
return false;
if ( NUM=='.' )
return false;

var flag=false;


var i,j,strTemp;
strTemp="0123456789.";

for (i=0;i<NUM.length;i++)
{
j=strTemp.indexOf(NUM.charAt(i));
if (j==-1)
{
return false;
}
}
return true;
}

2007年10月21日 星期日

[javascript小技巧] 拉卷軸,物件跟著跑

拉卷軸,物件跟著跑

function setSellerInfoButtonLocation()
{
var btn=document.getElementById('seller-info-link');
btn.style.left=document.body.scrollLeft + document.body.clientWidth -btn.offsetWidth;
btn.style.top = document.documentElement.scrollTop+"px";
}

....
....
<body onload="setSellerInfoButtonLocation()" onscroll="setSellerInfoButtonLocation()" >

<body />

2007年9月30日 星期日

JSP custom tag library在OC4J中的使用注意事項(Notifications on using JSP Tag Library in OC4J)

在Tomcat上跑JSP常寫些custom tag lib如下:<myLib:myTag attribute1=" <%=request.getParameter("param") %> " />但在OC4J竟然會解析錯誤,無法解譯成java檔。
這真是令我想不透。


經過一番追查,改成如下:<myLib:myTag attribute1=' <%=request.getParameter("param") %> ' />
竟然就可以了。

都是雙引號在作怪。