读书人

查询mysql库中所有表名的有关问题。

发布时间: 2012-12-23 11:28:15 作者: rapoo

查询mysql库中所有表名的问题。。。

 sql="show tables";
rs=statement.executeQuery(sql);
while(rs.next())
{
System.out.println(rs.getString(2));
}

库中明明有三个表,但是只有System.out.println(rs.getString(1));时,才会输出第一个表名,其它两个无效。。。
[最优解释]
引用:
引用:

show tables;

执行结果只有一列吧,怎么会有rs.getString(2)?

千真万确有三个表存在。。。

不会啊,你用的是mysql吧,我刚搭了环境试了试,没问题。
还有rs.getString(2)会报错的。


import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;

public class TestMySql {

public static void main(String[] args) {

Connection con = null;
java.sql.PreparedStatement statment = null;
ResultSet rs = null;

try {
Class.forName("com.mysql.jdbc.Driver");
con = DriverManager
.getConnection("jdbc:mysql://localhost/mysql?user=root&password=");
con.setAutoCommit(false);
String sql = "show tables;";

statment = con.prepareStatement(sql);
rs = statment.executeQuery();
while (rs.next()) {
System.out.println(rs.getString(1));
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
rs.close();
statment.close();
con.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}

打印结果:

columns_priv
db
func
help_category
help_keyword
help_relation
help_topic
host
proc
procs_priv
tables_priv
time_zone
time_zone_leap_second
time_zone_name
time_zone_transition
time_zone_transition_type
user

[其他解释]
con = DriverManager.getConnection("jdbc:mysql://localhost/mysql?user=root&password=");

此处的mysql要换成你所有查询的db名.

[其他解释]
帅哥,你在MYSQL里执行show tables,出来的结果是不是只有一列,你为什么要给他写rs.getString(1),故意和自己过不去?
引用:
Java code
sql="show tables";
rs=statement.executeQuery(sql);
while(rs.next())
{
System.out.println(rs.getString(2));
}

库中明……

[其他解释]
show tables;

执行结果只有一列吧,怎么会有rs.getString(2)?
[其他解释]

引用:

show tables;

执行结果只有一列吧,怎么会有rs.getString(2)?

千真万确有三个表存在。。。
[其他解释]
引用:
引用:
引用:

show tables;

执行结果只有一列吧,怎么会有rs.getString(2)?

千真万确有三个表存在。。。

不会啊,你用的是mysql吧,我刚搭了环境试了试,没问题。
还有rs.getString(2)会报错的。

Java code

import java.sql.C……


rs = statment.executeQuery();这句会报错的、、、
[其他解释]
引用:
引用:

引用:
引用:

show tables;

执行结果只有一列吧,怎么会有rs.getString(2)?

千真万确有三个表存在。。。

不会啊,你用的是mysql吧,我刚搭了环境试了试,没问题。
还有rs.getString(2)会报错的。

Java ……

弄错了。对象不同,不过,你输出的这些表我在电脑上试了,输出的表并没有我的
[其他解释]
+-------------------+

读书人网 >Java相关

热点推荐