无法使用jdbc在java上执行sql查询
我正在学习JDBC,并尝试使用IDEEclipse在Java上执行sql查询。jdbc驱动程序正在加载,连接正在建立,但是查询没有运行无法使用jdbc在java上执行sql查询,java,sql,jdbc,oracle11g,Java,Sql,Jdbc,Oracle11g,我正在学习JDBC,并尝试使用IDEEclipse在Java上执行sql查询。jdbc驱动程序正在加载,连接正在建立,但是查询没有运行 import java.sql.*; public class JDBCDemo { public static void main(String[] args) { String url="jdbc:oracle:thin:@//localhost:1521/xe"; String un="system"; String pwd="sy
import java.sql.*;
public class JDBCDemo {
public static void main(String[] args) {
String url="jdbc:oracle:thin:@//localhost:1521/xe";
String un="system";
String pwd="system";
Connection con=null;
Statement stmt=null;
ResultSet res=null;
try{
DriverManager.registerDriver(new oracle.jdbc.OracleDriver());
System.out.println("Driver Loaded successfully");
}
catch(Exception e)
{
System.out.println("Driver not loaded");
}
try{
DriverManager.getConnection(url,un,pwd);
System.out.println("Connection established");
}
catch(Exception f)
{
System.out.println("Connection not established");
}
try{
String s="Select * from student";
stmt=con.createStatement();
res=stmt.executeQuery(s);
System.out.println("Query executed succesfully");
}
catch(Exception e)
{
System.out.println("Query not executed");
}
输出为:
驱动程序加载成功
建立连接
查询未执行由于尚未初始化已声明的连接引用,因此出现异常 修改您的
DriverManager.getConnection(…)
,如下所示:
con=DriverManager.getConnection(…)
如果有帮助,请告诉我。查看O.p.如何处理此问题的另一种方法。不必要地初始化变量会让您忘记正确设置它们。它会破坏编译器在使用前设置所有局部变量的检查
Connection con=null;
try {
con = ...;
...;
} finally {
if(con != null) con.close();
}
这将有更多的编译器检查,如:
Connection con = ...;
try {
Statement stmt = con...;
try {
ResultSet rst = stmt...;
try {
...;
} finally {
rst.close();
}
} finally {
stmt.close();
}
} finally {
con.close();
}
或者,在Java 1.7+中:
try (
Connection con = ...;
Statement stmt = con...;
ResultSet res = stmt...;
) {
...;
}
请参阅以获取进一步阅读。出于人类之爱,请打印堆栈跟踪或记录您的异常:
e.printStackTrace(System.err)代码>