2012-12-05 64 views
3

問題是代碼工作時rs.getString (1)是整數,但在我的情況下,它是一個varchar主鍵,如何解決此問題。jsp甲骨文與JavaScript函數

function getId(id){ 
    var f=document.form; 
    f.method="post"; 
    f.action='SelectBank1.jsp?id='+id; 
    f.submit(); 
} 

<% 
Statement stmt = conn.createStatement(); 
    ResultSet rs = stmt.executeQuery("select IdwhichIsVarchar, description from SomeDataBase where IS_VISIBLE = 1 order by description "); 
%> 

<% 
while(rs.next()){ 
%> 
<tr><td><%=rs.getString(2)%></td> 

<td><input type="button" name="edit" value="Edit" style="background-color:green;font-weight:bold;color:white;" onclick="getId(<%=rs.getString(1)%>);" ></td> 
</tr> 
<% 
} 
%> 

回答

1

你需要用引號值:

onclick="getId('<%=rs.getString(1)%>')" 

否則,你將獲得例如這樣的輸出:

onclick="getId(foo)" 

和JavaScript將試圖解析「富」爲變量從而失敗。修復它將是:

onclick="getId('foo')" 

而「foo」將作爲字符串傳遞給函數。

+0

但是,當rs.getString(1)...是1或100,或任何整數它的工作,但是當是abv_​​bg qwery或任何varchar從數據庫它不工作什麼引號改變 – KeySi

+0

okey謝謝我會嘗試,這看起來像一個合乎邏輯的解釋 – KeySi

+0

數字按原樣傳遞(因爲數值)因此不需要引號。大多數編程語言(如果不是全部的話)都是相同的,JSP確實也是其中之一。 –