关于Java连接MySQL的问题 求大神帮忙找找问题出在哪里

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class DB {
private void login(){
try{
Class.forName("com.mysql.jdbc.Driver");
Connection conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/xxgl","root","root");
Statement stmt=conn.createStatement();
String sql="select * from stu";
ResultSet rs=stmt.executeQuery(sql);
rs.next();
String i=rs.getString(toString());

System.out.println("数据库查询到的内容是"+i);

rs.close();
conn.close();

}
catch
(Exception e)
{
e.printStackTrace();
}
}
public static void main(String args[]){
DB db2=new DB();
db2.login();

}
}

String i=rs.getString(toString());有问题吧,getString()的括号里要填字段的数字,你这样他不知道取哪一个字段出来。应该像这样:String i=rs.getString(1);

ResultSetMetaData rsMeta = rs.getMetaData();

//循环打印出每一条记录
while (rs.next()) {
for (int i = 1; i <= rsMeta.getColumnCount(); i++) {
System.out.print(rs.getObject(i)+" ");//打印出每一个字段
}
System.out.println();//换行
}

//rsMeta.getColumnCount()自动获取字段的数量追问

恩恩 是的 已经解决 很感谢

追答

其实像这种问题你应该先去查API,看看ResultSet的属性和方法,对方法的使用讲得都很详细的

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-11-11
String i=rs.getString(toString());?
你这边有toString()这个地方错了吧追问

这行代码我的本意是:将结果集rs中的内容取出 给String型的 i

然后打印输出

追答

rs.getString().toString();
这样啊

追问

我试试 谢谢你啊

追答

啊 不对 , rs.getString(int ).toString(); rs.getString()中间要放 你要查找的第几个属性。
比如说 表结构 是 id ,name
rs.getString(1),表示取出name 的值

追问

恩恩 我刚才请教了一个同学 和你说的是一个意思。

第2个回答  2014-11-11
贴出,错误信息啊。。。。。。追问

已经解决了 非常感谢

相似回答