小弟在java applets中想写和数据库进行连接的程序~
不知道是在init中写还是在那里写
import java.awt.*;
import java.applet.*;
import java.sql.*;
import java.net.URL;
import java.text.*;
public class Uferp extends Applet {
// List lisBox = new List();Button but1 = new Button();
      public void Conn(){
// Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
//Class.forName("com.ms.jdbc.odbc.JdbcOdbcDriver");
   
/*    Connection Con;
Statement Cmd;
ResultSet Rs;
try{
Con = DriverManager.getConnection("jdbc:odbc:ierp","sa","sa");
Cmd = Con.createStatement();
Rs = Cmd.executeQuery("select cuser_id,cuser_name from ufsystem.dbo.ua_user");
while(Rs.next()){
     this.lisBox.add(Rs.getString("cuser_name"));
     }
    }
catch(SQLException error)
{


*/
   }

public void init() {


/*   String url = "jdbc:odbc:ierp"; 
//取得连接的url名,注意sqlserver是dsn名 
Connection con; 
//实例化一个Connection对象 
Statement stmt; 
// String query = "select * from col_link"; 
//选择所有的Col_link表中的数据输出 

try { 
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 
//加载jdbc-odbc桥驱动 

} catch(java.lang.ClassNotFoundException e) { 
System.err.print("ClassNotFoundException: "); 
//加载jdbc-odbc桥错误 
System.err.println(e.getMessage()); 
//其他错误 



con = DriverManager.getConnection(url,"sa","sa"); 
//数据库连接 


stmt = con.createStatement(); 
//Create 一个声明 
// stmt.executeQuery("select cuser_id,cuser_name from ufsystem.dbo.ua_user"); 
ResultSet rs = stmt.executeQuery("select cuser_id,cuser_name from ufsystem.dbo.ua_user"); 
while(rs.next()){
this.lisBox.add(rs.getString("cuser_name"));
}
  */  
        this.setBackground(Color.cyan);
// add(this.lisBox);
    
add(but1.setName("按钮1"));
add(new Button("按钮2"));
add(new Button("按钮3"));
} public void paint(Graphics g) {
// g.drawString("Welcome to Java!!", 50, 60 );
}
public boolean HandlerEvent(Event evt)
{
  switch(evt.id)
  {
   case Event.ACTION_EVENT:
   {
   if (but1..equals(evt.arg))
   {
   this.showStatus("您按下1钮!");    return true;
   }
  }
   default: return false;
  }
  

}
}

解决方案 »

  1.   

    jdbc的联接都一样的,加载驱动,联接,得到Statement引用...............
    网上这方面的原代码很多的,搜一下jdbc等相关的吧!
      

  2.   

    一般不需要事件触发的话直接在init里写好了,或者像你写的Conn方法,在init里调用它
    ps:Conn方法首字母建议小写
      

  3.   

    单独写一个连接的class,在init中调用。
      

  4.   

    不是呀,我上面写的Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 每次编译都报错~为什么呀,可以写一个标准的例子吗?
      

  5.   

    编译的问题是其他地方的问题,并不是forName那里的问题,楼主自己写代码的时候仔细点
    copy下面的试试看
    //-----------------------
    import java.awt.*;
    import java.applet.*;
    import java.sql.*;
    import java.net.URL;
    import java.text.*;public class Uferp extends Applet {
    List lisBox = new List(); Button but1 = new Button("按钮1"); public void Conn() {
    // Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
    // Class.forName("com.ms.jdbc.odbc.JdbcOdbcDriver"); Connection Con;
    Statement Cmd;
    ResultSet Rs;
    try {
    Con = DriverManager.getConnection("jdbc:odbc:ierp", "sa", "sa");
    Cmd = Con.createStatement();
    Rs = Cmd
    .executeQuery("select cuser_id,cuser_name from ufsystem.dbo.ua_user");
    while (Rs.next()) {
    this.lisBox.add(Rs.getString("cuser_name"));
    }
    } catch (SQLException error) { } } public void init() { /*
     * String url = "jdbc:odbc:ierp"; //取得连接的url名,注意sqlserver是dsn名
     * Connection con; //实例化一个Connection对象 Statement stmt; // String query =
     * "select * from col_link"; //选择所有的Col_link表中的数据输出
     * 
     * try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); //加载jdbc-odbc桥驱动
     *  } catch(java.lang.ClassNotFoundException e) {
     * System.err.print("ClassNotFoundException: "); //加载jdbc-odbc桥错误
     * System.err.println(e.getMessage()); //其他错误 }
     * 
     * 
     * con = DriverManager.getConnection(url,"sa","sa"); //数据库连接
     * 
     * 
     * stmt = con.createStatement(); //Create 一个声明 //
     * stmt.executeQuery("select cuser_id,cuser_name from
     * ufsystem.dbo.ua_user"); ResultSet rs = stmt.executeQuery("select
     * cuser_id,cuser_name from ufsystem.dbo.ua_user"); while(rs.next()){
     * this.lisBox.add(rs.getString("cuser_name")); }
     */
    this.setBackground(Color.cyan); // add(this.lisBox); add(but1);
    add(new Button("按钮2"));
    add(new Button("按钮3"));
    } public void paint(Graphics g) {
    // g.drawString("Welcome to Java!!", 50, 60 );
    } public boolean HandlerEvent(Event evt) {
    switch (evt.id) {
    case Event.ACTION_EVENT: {
    if (but1.equals(evt.arg)) {
    this.showStatus("您按下1钮!"); return true;
    }
    }
    default:
    return false;
    } }
    }