Java连接Mysql数据库,如何获取所有的数据库名
publicArrayList<String>ShowDB(){Conn(Login.address,Login.DBname,Login.DBpass);Strings...
public ArrayList<String> ShowDB(){
Conn(Login.address,Login.DBname,Login.DBpass);
String sql="show databases";
ArrayList<String> arr = null;
try {
pstm=conn.prepareStatement(sql);
ResultSet rs=pstm.executeQuery();
arr=new ArrayList<String>();
for (int j = 1; rs.next(); j++) {
arr.add(rs.getString(j));
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return arr;
}
报错信息
Column Index out of range, 2 > 1. information_schema, 展开
Conn(Login.address,Login.DBname,Login.DBpass);
String sql="show databases";
ArrayList<String> arr = null;
try {
pstm=conn.prepareStatement(sql);
ResultSet rs=pstm.executeQuery();
arr=new ArrayList<String>();
for (int j = 1; rs.next(); j++) {
arr.add(rs.getString(j));
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return arr;
}
报错信息
Column Index out of range, 2 > 1. information_schema, 展开
3个回答
2016-01-14 · 做真实的自己 用良心做教育
千锋教育
千锋教育专注HTML5大前端、JavaEE、Python、人工智能、UI&UE、云计算、全栈软件测试、大数据、物联网+嵌入式、Unity游戏开发、网络安全、互联网营销、Go语言等培训教育。
向TA提问
关注
展开全部
查询mysql中所有数据库名称
一,这种方法像执行普通的SQL语句一下,sql如下:
SELECT `SCHEMA_NAME`
FROM `information_schema`.`SCHEMATA`
二,
List<String> list=new ArrayList<String>();
//String sql="SELECT SCHEMA_NAME FROM information_schema.SCHEMATA";
try{
//Statement st=(Statement) conn.createStatement();
DatabaseMetaData dmd=(DatabaseMetaData) conn.getMetaData();
ResultSet rs=dmd.getCatalogs();
while(rs.next()){
list.add(rs.getString("TABLE_CAT"));
}
}catch(SQLException e){
e.printStackTrace();
}
一,这种方法像执行普通的SQL语句一下,sql如下:
SELECT `SCHEMA_NAME`
FROM `information_schema`.`SCHEMATA`
二,
List<String> list=new ArrayList<String>();
//String sql="SELECT SCHEMA_NAME FROM information_schema.SCHEMATA";
try{
//Statement st=(Statement) conn.createStatement();
DatabaseMetaData dmd=(DatabaseMetaData) conn.getMetaData();
ResultSet rs=dmd.getCatalogs();
while(rs.next()){
list.add(rs.getString("TABLE_CAT"));
}
}catch(SQLException e){
e.printStackTrace();
}
展开全部
select SCHEMA_NAME from information_schema.schemata
这样就能取到所有的数据库名
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
pstm = conn.prepareStatement(sql);
ResultSet rs = pstm.executeQuery();
arr = new ArrayList<String>();
while(rs.next()){
arr.add(rs.getString(0));
}
rs.close();
pstm.close();
另外需要有足够的权限
追问
Column Index out of range, 0 < 1又报这个错的说。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询