java链接数据库问题

william_yao 2012-08-22 11:40:22
package com.yzw;

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

public class test_1 {

public static void main(String[] args) throws Exception {
Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test","root","root");
Statement stmt = conn.createStatement();
/*stmt.executeUpdate("insert into t_user values(null,'wenqi','888888')");*/
ResultSet rs = stmt.executeQuery("select * from t_user");

System.out.println(rs.getString(1)+" "+rs.getString(2)+" "+rs.getString(3));
rs.next();
rs.close();
stmt.close();
conn.close();
}

}


运行报异常,不知道为什么。求解。JDBC感觉就是学不好,只有去硬记。
...全文
119 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
4566131321321313 2012-08-23
  • 打赏
  • 举报
回复
System.out.println(rs.getString(1)+" "+rs.getString(2)+" "+rs.getString(3));
rs.next();
这个地方改下

while(rs.next)//先判断
{
System.out.println(rs.getString(1));

}
a597926661 2012-08-23
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 的回复:]
rs.next();放在取值的上面。。。
当然得游标先往下移才能取值。。。
[/Quote]
+1 楼主要理解这个程序
菖蒲老先生 2012-08-23
  • 打赏
  • 举报
回复
rs.next();放在取值的上面。。。
当然得游标先往下移才能取值。。。
  • 打赏
  • 举报
回复

package com.yzw;

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

public class test_1 {

public static void main(String[] args) throws Exception {
Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test","root","root");
Statement stmt = conn.createStatement();
/*stmt.executeUpdate("insert into t_user values(null,'wenqi','888888')");*/
ResultSet rs = stmt.executeQuery("select * from t_user");
try {
while (rs.next()) {
System.out.println(rs.getString(1)+" "+rs.getString(2)+" "+rs.getString(3));

}
} catch (SQLException e) {
e.printStackTrace();
}

rs.close();
stmt.close();
conn.close();
}


a597926661 2012-08-23
  • 打赏
  • 举报
回复
[Quote=引用楼主 的回复:]
package com.yzw;

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

public class test_1 {

public static void main(String[] arg……
[/Quote]
楼主这样不行 好多容易抛出异常的地方 要多加几个try catch
加载驱动 建立连接 获取结果集 包括后边 while(rs.next())这些最好都分别放在一个try catch里 即使有异常 可以即使找到准确的位置
楼主可以加上try catch之后定位错误的位置 然后debugger解决
无所谓什么难不难的 先理解这个程序然后一天写一遍 不几天就会写了
a597926661 2012-08-23
  • 打赏
  • 举报
回复
[Quote=引用楼主 的回复:]
package com.yzw;

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

public class test_1 {

public static void main(String[] arg……
[/Quote]
楼主这样不行 好多容易抛出异常的地方 要多加几个try catch
加载驱动 建立连接 获取结果集 包括后边 while(rs.next())这些最好都分别放在一个try catch里 即使有异常 可以即使找到准确的位置
楼主可以加上try catch之后定位错误的位置 然后debugger解决
无所谓什么难不难的 先理解这个程序然后一天写一遍 不几天就会写了
scbb 2012-08-23
  • 打赏
  • 举报
回复

if (rs.next()) {
System.out.println(rs.getString(1)+" "+rs.getString(2)+" "+rs.getString(3));
}
longren1hao 2012-08-23
  • 打赏
  • 举报
回复
其实你还有很多代码没有写出来。。如果可以发个错误提示就知道了。。不然我们也很难知道是哪里错了。。。
wwwcomcn123 2012-08-23
  • 打赏
  • 举报
回复
楼主rs.next()与rs.close()放在一起很明显不行
rs.next();游标向下一行 返回到结果集里
楼主想要从结果集取出数据就得先rs.next();

62,634

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧