天天看點

java.sql.ResultSetMetaData.getColumnLabel和getColumnName的差別

如果将ResultSet的結果映射到HashMap中,要使用getColumnLabel,而不要用getColumnName,這樣可提高程式的健壯性

理由:

getColumnName傳回的是sql語句中field的原始名字。

getColumnLabel是field的SQL AS的值(Alias--别名)。

比如:select

          a.name as name,

          a.description as description,

          b.description as relatedDescription

         from a,b where ...

此時,getColumnName(3) == "description";而getColumnLabel(3) == "relatedDescription"。

API:

<dl></dl>

<dd>Gets the designated column's suggested title for use in printouts and displays. The suggested title is usually specified by the SQL <code>AS</code> clause. If a SQL <code>AS</code> is not specified, the value returned from <code>getColumnLabel</code> will be the same as the value returned by the <code>getColumnName</code> method.</dd>

<dd></dd>

<dd><dl></dl></dd>

<dt>Parameters:</dt>

<code>column</code> - the first column is 1, the second is 2, ...

<dt>Returns:</dt>

<dd>the suggested column title</dd>

<dt>Throws:</dt>

<dd>Get the designated column's name.</dd>

 Parameters:

<dd>column name</dd>