关于数据库连接的问题(10分)

  • 主题发起人 主题发起人 tonvy
  • 开始时间 开始时间
T

tonvy

Unregistered / Unconfirmed
GUEST, unregistred user!
public static Connection getConnection() throws SQLException
{
try
{
Class.forName("oracle.jdbc.driver.OracleDriver");

String url="jdbc:oracle:thin:@192.168.1.150:1521:byzh";

String user="ysxt";

String psw="ysxt";

Connection conn= DriverManager.getConnection(url,user,psw);

}
catch(Exception e)
{
return(conn);
}
return(conn);
}
我想返回conn,但我编译的时候说我return(conn)有错误
提示如下:cannot resolve symbol
symbol : variable conn
请问各位前辈我应该如何更改才能正确返回conn,谢谢您了
 
把 conn 定义为成员变量 不是局部变量
private Connection conn=null;
public static Connection getConnection() throws SQLException
{
try
{
Class.forName("oracle.jdbc.driver.OracleDriver");

String url="jdbc:oracle:thin:@192.168.1.150:1521:byzh";

String user="ysxt";

String psw="ysxt";

conn= DriverManager.getConnection(url,user,psw);

}
catch(Exception e)
{
return(conn);
}
return(conn);
}
 
没必要定义为成员变量,变量的有效域有错误:
public static Connection getConnection() throws SQLException
{
try
{
Class.forName("oracle.jdbc.driver.OracleDriver");

String url="jdbc:oracle:thin:@192.168.1.150:1521:byzh";

String user="ysxt";

String psw="ysxt";

Connection conn= DriverManager.getConnection(url,user,psw);

//conn 的有效范围在try{}之间,离开了try{}conn变量就消失了,
//所以return conn是错误的
}
catch(Exception e)
{
return(conn);
}
return(conn);
}
应该:
public static Connection getConnection() throws SQLException
{
Connection conn=null;
try{
....
conn= DriverManager.getConnection(url,user,psw);

...
}
catch(Exception e){
return conn;
}
return conn;

}
 
厉害,果然是try{}作用域的缘故
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
928
SUNSTONE的Delphi笔记
S
后退
顶部