2008/07/07

MS SQL SERVER Express 的ResultSet 問題

  今天寫了支 jsp 程式要讀取 MS SQL Server 2005 Express 版的某一 table,竟然發現以下的鳥事.
這table 只有 PN及 ID兩個欄位.在 executeQuery 將資料查詢出來後開始使用 ResultSet 變數 rs.很簡單的做法這是是個以下的 while loop :

while (rs.next())
{
out.println(rs.getString("ID") + " , ");
out.println(rs.getString("PN") + "
");
}

竟然出現 SQLException : [Microsoft][SQL Native Client]Invalid Descriptor Index
解決方法:只要將存取欄位換成查詢結果中的順序即可.

這問題在 Oracle 不曾出現過,在 SQL Server 上竟然遇上了,微軟你要加油啊!