请看代码!!!!!!!!!!!! 主要问题是出在Hashtable[]中! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 楼上数组可能越界了。private void getTableColumnName(ResultSetMetaData rsmd){ Hashtable[] columnHt=null; try { int columnCount=rsmd.getColumnCount(); columnHt=new Hashtable[columnCount]; for(int i=0;i<columnCount;i++){ String columnName=rsmd.getColumnName(i+1); //String columnName=rsmd.getColumnName(i); String columnTypeName=rsmd.getColumnTypeName(i+1); //String columnTypeName=rsmd.getColumnTypeName(i); columnHt[i].put(columnName,columnTypeName); } } catch (Exception ex){ System.out.println(ex.toString()); } }试试 已经解决不是数组越界了,而是要重新申明它的对象!如:private void getTableColumnName(ResultSetMetaData rsmd){Hashtable[] columnHt=null;try {int columnCount=rsmd.getColumnCount();columnHt=new Hashtable[columnCount];for(int i=0;i<columnCount;i++){String columnName=rsmd.getColumnName(i+1);String columnTypeName=rsmd.getColumnTypeName(i+1);columnHt[i]=new Hashtable();//重要点在这里!columnHt[i].put(columnName,columnTypeName);}}catch (Exception ex){System.out.println(ex.toString());}} columnHt[i]必须初始化 如:columnHt[0] = new HashTable(); Java建立对象数组的时候都是这样,仅仅是建立一个数组引用,数组里面的对象全部都没有初始化。需要手工初始化。否则就会出现楼主遇到的异常。 GUI的相关问题 MiniLZO压缩方法问题 有关继承编译问题,请高人指点! java 小问题 怎么样从打开文件对话框中,选择文件打开? 关于线程运行与暂停的控制,请大家看看我的代码,总是不能控制线程的运行和暂停 package到底是不是用来生成目录的?怎么使用它? 网络编程需要哪些语言?学JAVA是首选吗? 初学 swt of Eclipse的问题 请问这个小问题怎么解决? 请问我有下面的语句删除节点怎么报异常呢??谢谢 求java中验证email格式的正则表达式,多谢!
private void getTableColumnName(ResultSetMetaData rsmd){
Hashtable[] columnHt=null;
try {
int columnCount=rsmd.getColumnCount();
columnHt=new Hashtable[columnCount];
for(int i=0;i<columnCount;i++){
String columnName=rsmd.getColumnName(i+1); //String columnName=rsmd.getColumnName(i); String columnTypeName=rsmd.getColumnTypeName(i+1);
//String columnTypeName=rsmd.getColumnTypeName(i);
columnHt[i].put(columnName,columnTypeName);
}
}
catch (Exception ex){
System.out.println(ex.toString());
}
}
试试
如:
private void getTableColumnName(ResultSetMetaData rsmd){
Hashtable[] columnHt=null;
try {
int columnCount=rsmd.getColumnCount();
columnHt=new Hashtable[columnCount];
for(int i=0;i<columnCount;i++){
String columnName=rsmd.getColumnName(i+1);
String columnTypeName=rsmd.getColumnTypeName(i+1);
columnHt[i]=new Hashtable();//重要点在这里!
columnHt[i].put(columnName,columnTypeName);
}
}
catch (Exception ex){
System.out.println(ex.toString());
}
}
如:columnHt[0] = new HashTable();