永发信息网

请教:JDBC如何得到数据库列的类型

答案:1  悬赏:0  手机版
解决时间 2021-03-30 23:56
请教:JDBC如何得到数据库列的类型
最佳答案
经过access测试,ok

String url = "jdbc:odbc:test";//最后一个为数据库名
Statement sm = null;
String command = null;
ResultSet rs = null;
String tableName = null;
String cName = null;
String result = null;
String []pram = new String[1];
List tables = new ArrayList();
pram[0] = "table";
BufferedReader input = new BufferedReader(new InputStreamReader(
System.in));
try {
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); // 加载驱动
} catch (ClassNotFoundException e) {
System.out.println("Can not load Jdbc-Odbc Bridge Driver");
System.err.print("ClassNotFoundException:");
System.err.println(e.getMessage());
}
Connection con = DriverManager.getConnection(url, "admin", "admin"); // 连接到数据库
DatabaseMetaData dm = con.getMetaData();
rs = dm.getTables(null, null, null, pram);//查找所有的表
while(rs.next()){
tables.add(rs.getString(3));
}
rs.close();
for(String tb : tables){
rs = dm.getColumns(null, null, tb, null);//查找当前表的字段
System.out.println("\nthe table is: " + tb);
ResultSetMetaData rsmd = rs.getMetaData();
int len, type;
len = rsmd.getColumnCount();
// System.out.println(len);
for(int i = 1; i <= len; i ++){
type = rsmd.getColumnType(i);
//这里是获取了一个字段类型的int型,需要转化成string的话要做一个swtich,就不转了,你自己看java.sql.Types这个类去
System.out.print("\t" + rsmd.getColumnName(i) + ": " + rsmd.getColumnType(i));
}
}
rs.close();
con.close();
// }
} catch (SQLException ex) {
System.out.println("SQLException:");
while (ex != null) {
System.out.println("Message:" + ex.getMessage());
ex = ex.getNextException();
}
} catch (Exception e) {
System.out.println("IOException");
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
移动的卡换成电信的卡号码能不变吗
怎么区分某个app发出来的报文
opr9m能用电信卡吗?求解答
我是做工地的工地做完了拿不钱为什么呀
oppor9手机怎么发短信?
对待女朋友宠和惯着的区别是什么
电子管前置放大器
注会成绩有59.5的吗
今夜孤独这个网名怎么样
1992年深铜色5角硬币值多少钱
潜艇有几种躲避攻击的方式? 3种 /7种 &#
日语:行く〔いく和ゆく〕求解释?
火箭发射后由于上升速度很快坐在火箭里的人会
想培养孩子开放式思维,请问有什么好的培养方
地产挂牌啥意思
推荐资讯
悦诗风吟这次的寒兰代言人还是允儿吗?为什么
谁有关于cs的小说啊
石家庄到行唐多少钱
工程量计算搞里的单位平方是什么打出来的
悖形不背是什么意思
这尊佛象叫什么?在哪里?
史正学国画多少钱一平尺
香港买华为手机便宜吗
什么是双元红外探测器?什么是四元红外探测器
您好 ,,就是您htc手机无线上网设置的问题是
需要广州高山文化培训中心的学习作息时间表
内衣70B的对于一个穿36小38大 的人来说合适吗
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?