public void UpPpUpdate(String table,String date,int id)
{
    String sql = "update "+ table +" set " + date + "where Id=?";
    try
    {
        Mysql mysql = new Mysql(sql);
        mysql.setInt(1,id);
        mysql.executeUpdate();
        mysql.close();
    }
    catch(Exception e)
    {
        System.out.println(e);
    }
}

解决方案 »

  1.   

    写是不难,关键看你想怎么传参数。
    import java.uitl.Vector;
    public void insertRows(string table,Vector ids ; Vector values)
    {
        if(ids.size() != values.size()){
            System.out.println("输入的id和value数目不等");
            return;
        }
        if(ids.size() == 0 || values.size() ==0 ){
         System.out.println("为发现要插入的字段或值");
         return;
        }
        
        String sql = "insert into "+ table +" (";
        for( int i =0 ; i< ids.size() ; i ++ ){
           if(i ==0 )
              sql = sql +  ids.elementAt(i);
           else
              sql = sql + "," + ids.elementAt(i) ;
        }
        sql = sql + ") values(";
        for( int j =0 ; j< values.size() ; j++){
            if( j ==0)
            sql = sql + "'" + values.elementAt(j) + "'";
            else
            sql = sql + ",'" + values.elementAt(j) + "'";
        }
        sql = sql + ")";
        try
        {
            Mysql mysql = new Mysql(sql);
            mysql.executeUpdate();
            mysql.close();
        }
        catch(Exception e)
        {
            System.out.println(e);
        }
    }
      

  2.   

    老兄这样做不嫌麻烦吗?sql语句直接在jsp页面做好了
    public void insertRows(string sql)
    {
        try
        {
            Mysql mysql = new Mysql(sql);
            mysql.setInt(1,id);
            mysql.executeUpdate();
            mysql.close();
        }
        catch(Exception e)
        {
            System.out.println(e);
        }
    }
      

  3.   

    谢谢大家的建议,正如 sun1979song(十步杀一人) 所说的那样。传参数确实不好传,请问大家有什么更好的办法?当你们开发一个系统的时候,运用java
    都采取些什么模式?不然的话对每一张表都写一个添加、删除、修改、得到详细信息的bean是多么复杂啊!
      

  4.   

    如baitianhai(hong) ( )
    对Query和Update分别写一个方法,用完整的sql语句作为参数
      

  5.   

    但在现实工程中,一般项目管理员最忌讳的就是在jsp中写SQL语句。那是以前asp的做法。
      

  6.   

    我还是赞成在JSP里写SQL语句的做法,但如果用servlet来控制,谁有这方面的代码呢??
      

  7.   

    也可以用定制标记库的方法来实现,如:
    <%@ taglib uri="/WEB-INF/tlds/database.tld" perfix="database" %>
    <database:query id="select" scope="page">
        select * from table1(主体内容)
    </database:query>
    这样你想怎么操作数据库的时候只要更改主体内容和一些scope和id的参数,具体看你怎么设计了。
      

  8.   

    这样一来你的页面上不是有很多的java代码吗?我人为如此的话,页面维护起来很是不方便,而且达不到页面和逻辑完全分离的目的。就我个人而言,我觉得通过servlet来控制比较好
      

  9.   

    要做到完完全全的jsp与java代码分离是不可能的,而使他们之间的关联达到最小的最好的方法就是定制标记库了。
      

  10.   

    //1&iexcl;&cent;&frac12;¨&Aacute;&cent;&Ograve;&raquo;&cedil;&ouml;Bean package test; 
    import java.sql.*; 
    /** 
    * Title:&Oacute;&Atilde;Javabean&Aacute;&not;&frac12;&Oacute;&Ecirc;&yacute;&frac34;&Yacute;&iquest;&acirc; 
    * Description:&Oacute;&Atilde;Bean°&Ntilde;&sup3;&pound;&Oacute;&Atilde;&micro;&Auml;&Ecirc;&yacute;&frac34;&Yacute;&iquest;&acirc;&sup1;&brvbar;&Auml;&Uuml;·&acirc;×°&pound;&not;&Ocirc;&Uacute;JSP&Ouml;&ETH;&Eacute;ù&Atilde;÷&cedil;&Atilde;Bean&iexcl;&pound; 
    * Copyright: Copyright (c) 2001 
    * Company:&frac14;&laquo;&Euml;&Ugrave;&Iacute;&oslash;&Acirc;&ccedil;&ETH;&iexcl;×é 
    * ±à&Otilde;&szlig;&pound;&ordm;&frac14;&laquo;&Euml;&Ugrave;&Iacute;&oslash;&Acirc;&ccedil;&ETH;&iexcl;×é 
    * version 1.0 
    */ 
    public class sql_data 
    {
    String sDBDriver = "sun.jdbc.odbc.JdbcOdbcDriver";
    String sConnStr = "jdbc:odbc:guestbook";
    Connection conn = null;
    ResultSet rs = null; public sql_data()
    {
    try
    {
    class.forName(sDBDriver);
    }
    catch(java.lang.ClassNotFoundException e)
    {
    System.out.println("sql_data:"+e.getMessage());
    }
    }
    public void executeInsert(String sql)
    {
    try
    {
    conn = DriverManager.getConnection(sConnStr);
    Statement stmt = conn.createStatement();
    stmt.executeUpdate(sql);
    }
    catch(SQLException e)
    {
    System.out.println("sql_data.executeUpdate:"+e.getMessage());
    }
    }
    public ResultSet executeQuery(String sql)
    {
    rs = null;
    try
    {
    conn = DriverManager.getConnection(sConnStr);
    Statement stmt = conn.createStatement();
    rs = stmt.executeQuery(sql);
    }
    catch(SQLException e)
    {
    System.out.println("executeQuery :"+e.getMessage());
    }
    }
    public void executeDelete(String sql) 

    try 

    conn=DriverManager.getConnection(sConnStr); 
    Statement stmt=conn.createStatement(); 
    stmt.executeUpdate(sql); 

    catch(SQLException ex) 

    System.err.println("sql_data.executeDelete:"+ex.getMessage()); 



    //2&iexcl;&cent;&Ocirc;&Uacute;JSP&Ouml;&ETH;&Eacute;ù&Atilde;÷Bean&pound;&ordm; <jsp:useBean id="sqlbean" scope="session" class="test.sql_data"/> 
    <%!String sql,name;%> 
    <% 
    sql="select * from table"; 
    ResultSet rs=sqlbean.executeQuery(sql); 
    while(rs.nex()){ 
    name=rs.getString("name") 

    %> 
    &iexcl;&shy;&iexcl;&shy; 
    name:<%=name%> 
    &iexcl;&shy;&iexcl;&shy; 
    <% 
    rs.close(); 
    %> 
    &iexcl;&shy;&iexcl;&shy;&iexcl;&iexcl; 
      

  11.   

    package test; 
    import java.sql.*; public class sql_data 
    {
    String sDBDriver = "sun.jdbc.odbc.JdbcOdbcDriver";
    String sConnStr = "jdbc:odbc:guestbook";
    Connection conn = null;
    ResultSet rs = null; public sql_data()
    {
    try
    {
    class.forName(sDBDriver);
    }
    catch(java.lang.ClassNotFoundException e)
    {
    System.out.println("sql_data:"+e.getMessage());
    }
    }
    public void executeInsert(String sql)
    {
    try
    {
    conn = DriverManager.getConnection(sConnStr);
    Statement stmt = conn.createStatement();
    stmt.executeUpdate(sql);
    }
    catch(SQLException e)
    {
    System.out.println("sql_data.executeUpdate:"+e.getMessage());
    }
    }
    public ResultSet executeQuery(String sql)
    {
    rs = null;
    try
    {
    conn = DriverManager.getConnection(sConnStr);
    Statement stmt = conn.createStatement();
    rs = stmt.executeQuery(sql);
    }
    catch(SQLException e)
    {
    System.out.println("executeQuery :"+e.getMessage());
    }
    }
    public void executeDelete(String sql) 

    try 

    conn=DriverManager.getConnection(sConnStr); 
    Statement stmt=conn.createStatement(); 
    stmt.executeUpdate(sql); 

    catch(SQLException ex) 

    System.err.println("sql_data.executeDelete:"+ex.getMessage()); 


    } <jsp:useBean id="sqlbean" scope="session" class="test.sql_data"/> 
    <%!String sql,name;%> 
    <% 
    sql="select * from table"; 
    ResultSet rs=sqlbean.executeQuery(sql); 
    while(rs.nex()){ 
    name=rs.getString("name") 

    %> 
    &iexcl;&shy;&iexcl;&shy; 
    name:<%=name%> 
    &iexcl;&shy;&iexcl;&shy; 
    <% 
    rs.close(); 
    %> 
    &iexcl;&shy;&iexcl;&shy;&iexcl;&iexcl; 
      

  12.   

    : weimenren(愚人碼頭) 很可爱啊
      

  13.   

    作EJB把要用的SQL方法都封装到一个类里面,然后用EJB发布。这样大家都可以用了
      

  14.   

    说实话,我对EJB理解的不是很深,所以很多方法还不能掌握,大家还又什么好的办法呀,尽情的说噻