当前位置: 代码迷 >> J2SE >> 还是数据库连接后,怎么类间传递Statement对象的有关问题,跪求代码实现,多谢
  详细解决方案

还是数据库连接后,怎么类间传递Statement对象的有关问题,跪求代码实现,多谢

热度:151   发布时间:2016-04-24 12:41:43.0
还是数据库连接后,如何类间传递Statement对象的问题,跪求代码实现,谢谢。
Java code
import java.sql.*; import javax.swing.JOptionPane;public class ConnectDB{     public void connectData()     {         Connection con = null;        Statement st = null;        try        {             Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");             String url="jdbc:odbc:Driver={MicroSoft Access Driver             (*.mdb)};DBQ=E:\\EclipseWS\\AddressList\\source\\DB.mdb";             con = DriverManager.getConnection(url,"amin","admin");             st = con.createStatement();  //如何把这个获得的st传给同一工程下的另外一个                                                            //类login,ResultSet rs = st.excuteQuery("");                                                    //来获取数据库的用户名。        }catch(Exception ex)            {               JOptionPane.showMessageDialog(null , "数据库连接错误"+"SQL exception:" + ex.getMessage() , "Error" , JOptionPane.ERROR_MESSAGE);            }         } }

如何实现这个功能,不知道哪位大哥能提供这个代码。

------解决方案--------------------
不明白想用这statement来做什么,但是这样应该能够实现
public class ConnectDB{ 
public static Statement st = null;

static{ 
Connection con = null;
try

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 
String url="jdbc:odbc:Driver={MicroSoft Access Driver (*.mdb)};DBQ=E:\\EclipseWS\\AddressList\\source\\DB.mdb"; 
con = DriverManager.getConnection(url,"amin","admin"); 
st = con.createStatement();
}catch(Exception ex)

JOptionPane.showMessageDialog(null , "数据库连接错误"+"SQL exception:" + ex.getMessage() , "Error" , JOptionPane.ERROR_MESSAGE);


}
不知道这么实现是否能满足要求。。。。。。。。。。
------解决方案--------------------
为什么不用类的封装来实现呢?
Java code
import java.sql.*; import javax.swing.JOptionPane;public class ConnectDB{     private Connection con=null;    private Statement st=null;    public void connectData()     {               try        {             Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");             String url="jdbc:odbc:Driver={MicroSoft Access Driver             (*.mdb)};DBQ=E:\\EclipseWS\\AddressList\\source\\DB.mdb";             con = DriverManager.getConnection(url,"amin","admin");             st = con.createStatement();  //如何把这个获得的st传给同一工程下的另外一个                                                            //类login,ResultSet rs = st.excuteQuery("");                                                    //来获取数据库的用户名。        }catch(Exception ex)            {               JOptionPane.showMessageDialog(null , "数据库连接错误"+"SQL exception:" + ex.getMessage() , "Error" , JOptionPane.ERROR_MESSAGE);            }         }    public statement getSt(){     return st;          }}[code=Java]
------解决方案--------------------
可以用个简单的工厂模式
Java code
public class ConnectDB{     private Connection con=null;    private Statement st=null;    private String url;    static {        Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");         url="jdbc:odbc:Driver={MicroSoft Access Driver             (*.mdb)};DBQ=E:\\EclipseWS\\AddressList\\source\\DB.mdb";         }    public static Connection createConnection()     {               try        {             con = DriverManager.getConnection(url,"amin","admin");             return con        }catch(Exception ex)            {               JOptionPane.showMessageDialog(null , "数据库连接错误"+"SQL exception:" + ex.getMessage() , "Error" , JOptionPane.ERROR_MESSAGE);            }         } }
  相关解决方案