问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

我是java新手 第一次用jdbc连接oracle 数据库时出险了这个问题 java.lang.String

发布网友 发布时间:2022-04-22 13:56

我来回答

5个回答

热心网友 时间:2023-11-07 16:41

Vector 这种方式添加表格数据,我没用过,我给你改了一下。你看一下,这个在你那里运行能不能成功?

有问题再联系。
/**
* 从oracle数据库中取出学生信息
*/
package com.test3;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Vector;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;
public class Test2 extends JFrame {
// rowDate用来存放行数据,columnNames存放行数据
DefaultTableModel model = null;
JTable jt;
JScrollPane jsp = null;
// 定义操作数据库需要的东西
PreparedStatement ps = null;
Connection ct = null;
ResultSet rs = null;
public static void main(String[] args) {
// TODO Auto-generated method stub
Test2 test2 = new Test2();
}
public Test2() {
// 设置列明
String[] columnNames = { "学号", "名字", "性别", "籍贯", "系别" };
// 初始化JTable
// ------------------从这里就开始出险问题了
model = new DefaultTableModel(columnNames, 0);
jt = new JTable(model);
// 初始化jsp JScrollPane
jsp = new JScrollPane(jt);
addRow();
// 把jsp放到jframe
this.add(jsp);
this.setSize(400, 300);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
}
private void addRow() {
try {
// 1.加载驱动
Class.forName("oracle.jdbc.driver.OracleDriver");
ct = DriverManager
.getConnection("jdbc:ORACLE:thin:@localhost:1521:oracle",
"scott", "tiger");
ps = ct.prepareStatement("select * from stu");
rs = ps.executeQuery();
while (rs.next()) {
// rowDate可以存放多行
Vector hang = new Vector();
String[] row = { rs.getString("stuId"),
rs.getString("stuName"), rs.getString("stuSex"),
rs.getString("stuJg"), rs.getString("stuDEPT") };
// 加入到rowdate
model.addRow(row);
}
} catch (Exception e) {
// TODO: handle exception
System.out.println("数据库连接失败" + e.getMessage());
} finally {
try {
if (rs != null)
rs.close();
if (ps != null)
ps.close();
if (ct != null)
ct.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
System.out.println("数据库连接失败" + e.getMessage());
}
}
}
}

热心网友 时间:2023-11-07 16:42

类转换错误,对jswing不是特别熟悉,以下意见仅供参考:
你的结构是不是有问题?
JTable的构造函数是JTable(Object[][] rowData, Object[] columnNames)
首先你确认vector是否好用,没怎么用过这个类,一直用list
另外
//加入到rowdate
rowDate=new Vector(hang);

这儿不应该是加入到rowDate中吗,
rowDate的初始化放在while循环外,循环里面rowDate.add(new Vector(hang))

热心网友 时间:2023-11-07 16:42

没有楼上的几个说的那么复杂,其实就是你字符串字段出现错误了。追问可以指出来吗?我应该怎修改那。谢谢您的回答

追答你点下错误的行数,看看是跳到具体的哪一行,发给我看看。

热心网友 时间:2023-11-07 16:43

典型的写代码不用心。
//加入到rowdate
rowDate=new Vector(hang);
改为:
rowDate.add(hang);

热心网友 时间:2023-11-07 16:43

你的一些控件应该new在test2的构造方法里吧,你现在test2构造方法里什么都没有,new出来的对象不是什么都有没有吗
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
什么车险可以分期花呗 请问“有几个虫子怕什么"改为陈述句是"有几个虫子不可怕"。为什么要加... 一只狼身边有一只羊为什么狼不吃羊? 路边有一只羊,过来一只狼,却没有吃羊,为什么? ...有没有一个厂叫【福高】厂的,是做电子产品的。。3Q 明道冒险王百度云如何下载 冒险王2cps联系谁? 350分到400分的二本大学 廊坊高考400分能上什么学校 河北2023年高考400分左右能上什么大学 会计专业的论文答辩技巧(一) 会计专业的论文答辩都会问些什么问题?急急急! 第一次用jdbc的事务回滚,但是rollback为什么没反应 404 Not Found jdbc是什么? 涓轰粈涔堟坠链鸿繛涓妛ifi浜嗙敤镌€鐢ㄧ潃灏辨柇缃戜简锻360闂瓟 java jdbc查询返回结果集只有数据库的第一条记录 什么是JDBC? 如何报名考会计证?在昆山,该去哪里? 中级会计师哪个培训机构通过率高信任恒企教育好 考会计证有年龄和学历限制吗信任恒企教育好 营养不良会导致什么样的身体状况? 严重营养不良会得什么病 长时间的饮食不规律会导致哪些疾病? 营养的东西吃的少 会得什么病大神们帮帮忙 营养不良的情况,会导致免疫缺陷吗? 长期营养不良会得白血病吗 营养不均衡会引起哪些疾病? 营养不良过度疲劳会得什么绝症吗? 营养不良的危害及预防 会计专业的论文答辩技巧(二) 为什么jdbc查询Oracle数据表只能查询到第一条数据 会计答辩都会问些什么问题 java JDBC获得数据库结果集的行数但少了第一行的数据 关于会计专业的论文答辩技巧的分享(二) JDBC链接数据库的方法有几种?各自的优缺点 会计论文答辩一般会问什么问题 jdbc ResultSet 结果集 怎么处理 会计专业答辩问题及答案有哪些 java jdbc 连接数据库断开 有时候能连接上有时候连接不上 什么原因 会计专业论文答辩三分钟自述 jdbc可以支持批量查询么 关于会计专业的论文答辩技巧的分享(一) JDBC-ODBC 是一个软件还是什么东西,,需要安装吗 会计学的毕业论文答辩要注意什么??? 会计专业论文答辩会问什么问题 JDBC中的Statement和PreparedStatement的区别 论文会计职能答辩三分钟自述 如何设置JDBC参数? 会计毕业答辩