Java连接Oracle10g
我用Java成功的连接了Oracle10g,但是不能对STUDENT表中的数据进行删除操作,太郁闷了,心里难受啊!
刚学Java不久,属于菜鸟级别,自己实力有限解决不了,真诚地寻求诸位高手帮助!万分感谢!
这是我连接Oracle10g的代码(能顺利连接上,但是不能够删除表中的数据)
================
import java.sql.*;
public class OralConnect
{
public static Connection getConnection()
{
Connection con = null;
try
{
Class.forName("oracle.jdbc.driver.OracleDriver"); // 加载驱动类
String sourceURL = "jdbc:oracle:thin:@localhost:1521:student";
String user = "STUDENT_USER";//我新建的用户
String password = "chenwei";//密码
con = DriverManager.getConnection( sourceURL, user, password); // 建立连接
con.close();
}
catch (Exception e)
{
e.printStackTrace();
}
return con;
}
public static void main(String[] args)
{
System.out.println(getConnection());//测试是否连接上
}
}
运行的结果是:
oracle.jdbc.driver.T4CConnection@13f3045
======================
这是我删除sys.student表里的数据的代码
附加student表(在SYS用户下)的结构:
SNO (学号)约束:SNO between "071301" and "071343" 非空
SNAME(姓名) 非空
SSEX(性别)约束:SSEX in ('男','女') 非空
SBIRTH(生日)DATE类型 非空
SADDR(住址) 非空
STEL(电话号码) 非空
SMAJOR(专业) 非空
import java.sql.PreparedStatement;
import connect.OralConnect;
public class Delete
{
public boolean delete(String sno)
{
Connection con=null;
PreparedStatement ps=null;
String sql="delete from sys.student where sno=?";
boolean flag=false;
try
{
con=OralConnect.getConnection();
ps=con.prepareStatement(sql);
ps.setString(1, sno);
int count=ps.executeUpdate();
if(count>0)
flag=true;
}
catch (Exception e)
{
e.printStackTrace();
}
finally
{
ps.close();
con.close();
}
return flag;
}
public static void main(String[] args)
{
System.out.println((new Delete()).delete("071305")?"删除记录成功!": "删除记录失败!");
}
}
=============
运行的结果是:
java.sql.SQLException: 关闭的连接
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:124)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:161)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:226)
at oracle.jdbc.driver.PhysicalConnection.prepareStatement(PhysicalConnection.java:697)
at oracle.jdbc.driver.PhysicalConnection.prepareStatement(PhysicalConnection.java:614)
at Delete.Delete.delete(Delete.java:17)
at Delete.Delete.main(Delete.java:45)
删除记录失败!