如何在Struts 数据库应用程序中实现记录的删除、更新及链接(续)

原创 2004年06月15日 10:55:00

如何在Struts 数据库应用程序中实现记录的删除、更新及链接(续)<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

《如何在Struts 数据库应用程序中实现记录的删除、更新及链接》http://dev.csdn.net/develop/article/29/29219.shtm

 

 

dbListDAO.java文件:

  这里定义一个DAO类,用于实现数据加的查找、删除、更新、添加及生成分页字符串等功能。getPagestr(int ipage)函数用于生成分页字符串,int ipage参数用于转递当前页码。findSQL(String sql,int ipage)函数用于查找数据库数据,String sql参数用于转递SQL查询语句字符串,int ipage参数用于转递当前页码。

。。。。。。。。。。(省略)

public class dbListDAO {

 

     记录更新、删除和添加无关的代码省略。

     public void create(dbList m_dbList) throws SQLException {

    PreparedStatement ps = null;

    //<createSQL>

    String sql = "INSERT INTO dbo.Test VALUES (?,?,?)";

    //</createSQL>

    try {

      if (con.isClosed()) {

        throw new IllegalStateException("error.unexpected");

      }

       //SQL Server请加入下行:

      con.setAutoCommit(true);

      //SQL Server

      ps = con.prepareStatement(sql);

      //<create>

      ps.setInt(1,m_dbList.get序号());

      ps.setString(2,m_dbList.get姓名());

      ps.setString(3,m_dbList.get备注());

      //</create>

 

      if (ps.executeUpdate() != 1) {

        throw new SQLException ("error.create.dbList");

      }

    } catch (SQLException e) {

    

        e.printStackTrace();

        throw new RuntimeException("error.unexpected");

     

    } finally {

      try {

        if (ps != null)

          ps.close();

      } catch (SQLException e) {

        e.printStackTrace();

        throw new RuntimeException("error.unexpected");

      }

    }

  }

 

  public void update(dbList m_dbList,String keyID) {

    PreparedStatement ps = null;

    //<updateSQL>

   String sql = "UPDATE dbo.Test SET 序号 = ?,姓名 = ?,备注 = ? WHERE 序号 = ?";

      //</updateSQL>

    try {

      if (con.isClosed()) {

        throw new IllegalStateException("error.unexpected");

      }

       //SQL Server请加入下行:

      con.setAutoCommit(true);

      //SQL Server

      ps = con.prepareStatement(sql);

      //<update>

      ps.setInt(1,m_dbList.get序号());

      ps.setString(2,m_dbList.get姓名());

      ps.setString(3,m_dbList.get备注());

      //</update>

 

      ///////////////

      //<updatekeyID>

      ps.setInt(4,java.lang.Integer.parseInt(keyID,10));

          //</updatekeyID>

 

 

      if (ps.executeUpdate() != 1) {

        throw new SQLException (

          "error.removed.dbList");

      }

 

    } catch (SQLException e) {

      e.printStackTrace();

      throw new RuntimeException("error.unexpected");

    } finally {

      try {

        if (ps != null)

          ps.close();

      } catch (SQLException e) {

        e.printStackTrace();

        throw new RuntimeException("error.unexpected");

      }

    }

  }

  

 

 public void removeID(String keyID) {

  

    //<removeIDSQL>

    String sql="DELETE FROM dbo.Test WHERE ";

    sql+="序号";

    sql+=" = ?";

    //</removeIDSQL>

 

    PreparedStatement ps = null;

    try {

 

      if (con.isClosed()) {

        throw new IllegalStateException("error.unexpected");

      }

       //SQL Server请加入下行:

      con.setAutoCommit(true);

      //SQL Server

      ps = con.prepareStatement(sql);

     

      //<setremovekeyIDdata>

      ps.setInt(1,java.lang.Integer.parseInt(keyID,10));

          //</setremovekeyIDdata>

 

 

  

      if (ps.executeUpdate() != 1) {

        throw new SQLException (

          "error.removed.dbList");

      }

 

    } catch (SQLException e) {

      e.printStackTrace();

      throw new RuntimeException("error.unexpected");

    } finally {

      try {

        if (ps != null)

          ps.close();

      } catch (SQLException e) {

        e.printStackTrace();

        throw new RuntimeException("error.unexpected");

      }

    }

  }

 

  与记录更新、删除和添加无关的代码省略。

 

}

 

dbListAction.java文件:

。。。。。。。。。。(省略)

public final class dbListAction extends Action

{

    // 变量定义:

    private Log log = LogFactory.getLog("org.apache.struts.webapp.Example");

 

    private ConnectionPool pool;

 

    public dbListAction() {

        pool = ConnectionPool.getInstance();

    }

 

 

    //函数定义:

    public ActionForward execute(ActionMapping mapping,

                             ActionForm form,

                             HttpServletRequest request,

                             HttpServletResponse response)

       throws Exception

    {

       // Extract attributes and parameters we will need

       Locale locale = getLocale(request);

       MessageResources messages = getResources(request);

       HttpSession session = request.getSession();

       dbListForm m_dbListForm = (dbListForm) form;

      

           Connection con = null;

 

     try

        {

                 con = pool.getConnection();

                 dbListDAO m_dbListDAO = new dbListDAO(con);  //定义DAO对象,用于实现数据库的各种操作

 

                 String action=request.getParameter("action");  //动作类型                 

                 String search=request.getParameter("search");  //数据库查找方式

                 String expression=request.getParameter("expression");    //参数,这里用于保存记录(行)的ID数据

                

                 if(action==null)action="find";

              if(search==null)search="UNsearch";

              if(expression==null)expression="";

              expression=toChinese(expression);  //处理中文问题,实现编码转换

              

              if("delete".equals(action))    //删除记录操作

            {

                m_dbListDAO.removeID(expression);

            }

            ////////////

            if("update".equals(action)||"insert".equals(action))    //更新、添加记录操作

            {

                 dbList m_dbList= new dbList();

                  //<update>

                  m_dbList.set序号(m_dbListForm.get序号());

                  m_dbList.set姓名(m_dbListForm.get姓名());

                  m_dbList.set备注(m_dbListForm.get备注());

                  //</update>

                   if("update".equals(action))    //调用DAO对象更新记录

                         m_dbListDAO.update(m_dbList,expression);

                   if("insert".equals(action))    //调用DAO对象添加记录

                         m_dbListDAO.create(m_dbList);

            }

                 ///////////////查找数据库

                 //<sqlstr>

                 String sql="SELECT * FROM dbo.Test";

                 //</sqlstr>

 

              ////SQL字符处理

                 if("search".equals(search))

                 {

                     //<search>

                        sql+=" where ";

                     sql+="序号";

                     sql+="=";

                     if("NULL".equals(expression)||"".equals(expression))

                    {

                            sql+=m_dbListForm .get序号();

                        }

                        else

                        {

                            sql+=expression;

                        }

                        

                        sql+="";

                     //</search>

                 }

 

             //<分页>

     (略)  

      //</分页>

 

 

                 return mapping.findForward("success");

     }

       catch (SQLException e)

        {

             (略)

 

    }

 

}

如何在Struts 数据库应用程序中实现记录的删除、更新及链接

如何在Struts 数据库应用程序中实现记录的删除、更新及链接 [相关链接]《JavaWebStudio系列开发工具Visaul Struts版本简介》http://dev.csdn.net/deve...
  • kui
  • kui
  • 2004年06月15日 10:40
  • 2415

如何在Struts 数据库应用程序中实现记录的添加

如何在Struts 数据库应用程序中实现记录的添加 [相关链接]《JavaWebStudio系列开发工具Visaul Struts版本简介》http://dev.csdn.net/develop/ar...
  • kui
  • kui
  • 2004年06月15日 15:34
  • 1765

删除DataGridView选中行并更新数据库

前面写过一篇文章是DataGridView控件显示数据的,DataGridView在与数据库打交道时会经常出现,也很实用。通过DataGridView对数据库进行更改和查询都比较方便。   这里我们需...
  • u010926964
  • u010926964
  • 2014年07月21日 20:22
  • 2206

如何在Struts 数据库应用程序中实现记录的添加(续)

《如何在Struts 数据库应用程序中实现记录的添加》http://dev.csdn.net/develop/article/29/29224.shtm [程序源代码]对于程序源代码,本例唯一与《如何...
  • kui
  • kui
  • 2004年06月15日 15:36
  • 1456

struts2通过checkbox 删除多条记录

部分代码删了,黄色背景的为主题关键测试,经过测试,通过找资料忙了一下午,终于将其弄成功 struts2通过checkbox 删除多条记录(解释就不说了),看不懂的私聊 jsp页面 ...
  • m13666368773
  • m13666368773
  • 2012年03月16日 09:17
  • 3371

C#中数据库的更新和删除记录的两种实现方式

框图在上一篇文章中给出了,删除、更新和插入一样,也都有两种方式,一种是在数据源的编辑器中设定相应的方法来实现,另一种是自己写代码完成。 下面先给出更新的代码:          test_dbDa...
  • happy_rita
  • happy_rita
  • 2012年08月27日 10:05
  • 5571

用C语言操作MySQL数据库,进行连接、插入、修改、删除等操作

  很多人用到MySQL来开发一些项目,有时为了性能,我们会直接用C语言来开发相关的模块,尤其在我们的web应用中,虽然PHP、JSP等脚本均提供了MySQL的接口,但是显然直接使用C语言具有更好的安...
  • alexdream
  • alexdream
  • 2008年03月24日 14:35
  • 5988

如何在Struts 数据库应用程序中实现分页显示(1)

如何在Struts 数据库应用程序中实现分页显示 [相关链接]《JavaWebStudio系列开发工具Visaul Struts版本简介》http://dev.csdn.net/develop/art...
  • kui
  • kui
  • 2004年06月14日 10:27
  • 2057

如何在Struts 数据库应用程序中实现分页显示(2)

如何在Struts 数据库应用程序中实现分页显示 [相关链接]《JavaWebStudio系列开发工具Visaul Struts版本简介》http://dev.csdn.net/develop/art...
  • kui
  • kui
  • 2004年06月14日 10:35
  • 1708

如何在Struts 数据库应用程序中实现分页显示

dbListDAO.java文件:   这里定义一个DAO类,用于实现数据加的查找、删除、更新、添加及生成分页字符串等功能。getPagestr(int ipage)函数用于生成分页字符串,int i...
  • zlsunnan
  • zlsunnan
  • 2004年07月31日 02:26
  • 1424
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:如何在Struts 数据库应用程序中实现记录的删除、更新及链接(续)
举报原因:
原因补充:

(最多只允许输入30个字)