求助:调用getParameterClassName()报:不支持的特性
「已注销」 2014-01-27 08:47:19 主要是想获得插入数据库的字段及数据。网上找了好久,说是驱动的问题,换了好多驱动包都不行;
代码如下,求大神帮忙
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ParameterMetaData;
import java.sql.PreparedStatement;
public class test001 {
public static void main(String[] args)throws Exception{
// TODO Auto-generated method stub
Connection conn = null;
PreparedStatement stat = null;
ParameterMetaData pmd = null;
int colums = 0;
String[] name = null;
try {
Class.forName("oracle.jdbc.driver.OracleDriver");//加载驱动
conn = DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:orcl", "test1", "test1");//连接数据库
//1.呼叫 Connection.prepareStatement 方法,以建立 PreparedStatement 物件。
stat = conn.prepareStatement("insert into test(id,name)values(?,?)");
stat.setInt(1, 1);
stat.setString(2, "test");
conn.commit();
//2.呼叫 PreparedStatement.getParameterMetaData 方法,以擷取 ParameterMetaData 物件。
pmd = stat.getParameterMetaData();
//3.呼叫 ParameterMetaData.getParameterCount,以判斷 PreparedStatement 中的參數數目。
colums = pmd.getParameterCount();//列数
System.out.println(colums);
for(int j=0;j<colums;j++){
System.out.println(pmd.getParameterClassName(j));
}
} catch (ClassNotFoundException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}finally{
if(stat!=null){stat.close();}
if(conn!=null){conn.close();}
}
}
}