日期:2014-05-20  浏览次数:20946 次

jdbc连接oracle数据库什么都没输出,也没报错,请教高手!
数据库Oracle10G开启的服务: OracleOraDb10g_home2TNSListener和OracleServiceORCL 用用户名scott密码tiger进入数据库,在命令行下能成功查询其数据库的表,在命令行下建立表:CREATE TABLE T_USER (ID NUMBER PRIMARY KEY NOT NULL,USERNAME CHAR(20),PASSWORD CHAR(20)); 向其插入一行数据:INSERT INTO T_USER (ID,USERNAME,PASSWORD) VALUES(1,'TOM','123'); 执行成功后能成功查询!

在myeclipse下连接oracle10g数据库:
public class OracleDBTest
{
public static void main(String[] args) throws SQLException
{
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
String oracleDriver = "oracle.jdbc.driver.OracleDriver";
try
{
Class.forName(oracleDriver);
conn = DriverManager.getConnection ("jdbc:oracle:thin:@localhost:1521:orcl","scott","tiger");
stmt = conn.createStatement();
rs = stmt.executeQuery("SELECT USERNAME FROM T_USER");
while (rs.next())
{
System.out.println(rs.getString("USERNAME"));
}
} catch (ClassNotFoundException e)
{
e.printStackTrace();
} catch (SQLException eq)
{
eq.printStackTrace();
} finally
{
if(rs != null)
{
rs.close();
rs = null;
}
if(stmt != null)
{
stmt.close();
stmt = null;
}
if(conn != null)
{
conn.close();
conn = null;
}
}
}
}

把其驱动都加进去了,但在执行时候,什么都没输出,在rs = stmt.executeQuery("SELECT USERNAME FROM T_USER");
处加一个断点,以debug as 方式运行,这里竟然是空的,真想不明白,表我明明建立了啊!特向学友们请教,多谢!

------解决方案--------------------
初步判断是sql语句有问题吧。。。修改一下sql查询语句试试。或者在数据库中试试,若是数据库中也没有输出,那就是sql语句的问题。。。
------解决方案--------------------
在 oracle 操作中
增删改操作 是要提交事务的

建表完成执行INSERT INTO T_USER (ID,USERNAME,PASSWORD) VALUES(1,'TOM','123')之后commit一下,然后才有真正的数据。