#12002/3/5 12:23:19
下面是一个程序中的一个方法,该方法是将 SQL 数据库的结果集 ResultSet Pass 给本方法,将结果集转换为 哈希表 (Hashtable).但\不知道为什么结果总是
NULL,请大家帮助抓虫子
public Hashtable[] makeHashTable(ResultSet ars_data)
{
int li_columns = 0;
int li_rowcount = 0;
Hashtable[] lht_results = new Hashtable[20];
try
{
ResultSetMetaData lmeta_data = ars_data.getMetaData();
li_columns = lmeta_data.getColumnCount();
if (li_columns > 0)
{
lht_results[li_rowcount] = columnOrder(lmeta_data,li_columns);
li_rowcount++;
}
while (ars_data.next())
{
if (li_rowcount == lht_results.length)
{
Hashtable[] lht_temp = new Hashtable[lht_results.length + 20];
for (int li_loop = 0; li_loop < lht_results.length ; li_loop++)
{
lht_temp[li_loop] = lht_results[li_loop];
}
lht_results = lht_temp;
}
Hashtable lht_row = new Hashtable(1);
for ( int i = 0; i < li_columns; i++)
{
Object luo_value = null;
try
{
luo_value = ars_data.getObject(i);//get one column of obj.
}
catch(Exception e)
{
}
if (luo_value ==null)
luo_value = new String("");
lht_row.put(lmeta_data.getColumnLabel(i),luo_value);
}
lht_results[li_rowcount] = lht_row;
li_rowcount++;
}
}
catch(SQLException e)
{
}
if (lht_results[0] == null)
{
return null;
}
return cleanHashTable(lht_results);
}