当前位置:  技术问答>java相关

怎么使用ResultSet.insertRow()向mysql插入数据???

    来源: 互联网  发布时间:2015-07-29

    本文导语:  java的api文档下java.sql.ResultSet,有一段 rs.moveToInsertRow(); // moves cursor to the insert row rs.updateString(1, "AINSWORTH"); // updates the            // first column of the insert row to be AINSWORTH rs.updateInt(2,35); // updates the...

java的api文档下java.sql.ResultSet,有一段

rs.moveToInsertRow(); // moves cursor to the insert row
rs.updateString(1, "AINSWORTH"); // updates the 
          // first column of the insert row to be AINSWORTH
rs.updateInt(2,35); // updates the second column to be 35
rs.updateBoolean(3, true); // updates the third row to true
rs.insertRow();
rs.moveToCurrentRow();


从上边看可以向数据库插入一行新的数据


使用
private  String dbdriver = "org.gjt.mm.mysql.Driver";
private  String dbcc = "jdbc:mysql://localhost/test";

private String dbdriver = "sun.jdbc.odbc.JdbcOdbcDriver";
private String dbcc = "jdbc:odbc:mysql";

都尝试过,可是,不能编译成功

可能
Connection  conn = DriverManager.getConnection(this.dbcc,this.dbuser,this.dbpasswd);

 Statement s = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);

 ResultSet rs = s.getResultSet();
的问题???

使用s的什么方法???? 

谁能给个具体的实现代码???
谢谢了


|
给你几个方法:


 /**
   * insert a Row into Orders table using Updateable ResultSet.
   */
  public void insertNewRowIntoOrdersTableUsingColumnNames(ResultSet rs) 
          throws SQLException {

    // this method works only if the table is Orders Table in the Demo
    // database.
    // if the table is different you should change most of this code
    // for that purpose.
    rs.moveToInsertRow();
    rs.updateInt("CUSTOMER_ID_FK", 101);
    rs.updateInt("ORDER_ID", 1001);
    rs.updateDate("ORDER_DATE",  new Date(System.currentTimeMillis()) );
    rs.updateString("SHIP_INSTRUCT", 
                    " deliver at Apt. office" + " if no one at home");
    rs.updateString("BACKLOG", "N");
    rs.updateString("PO_NUM", "BSD100");
    rs.updateDate("SHIP_DATE", new Date(System.currentTimeMillis()));
    rs.updateFloat("SHIP_WEIGHT", 22.0f);
    rs.updateFloat("SHIP_CHARGE", 44.56f);
    rs.updateDate("PAID_DATE", new Date(System.currentTimeMillis()));
    rs.insertRow();
  } 

  /**
   * insert a Row into Orders table using Updateable ResultSet
   */
  public void insertNewRowIntoOrdersTableUsingColumnIndexes(ResultSet rs) 
          throws SQLException {
    rs.moveToInsertRow();
    rs.updateInt(1, 101);
    rs.updateInt(2, 1001);
    rs.updateDate(3, new Date(System.currentTimeMillis()));
    rs.updateString(4, " deliver at Apt. office if no one at home");
    rs.updateString(5, "N");
    rs.updateString(5, "BSD100");
    rs.updateDate(6, new Date(System.currentTimeMillis()));
    rs.updateFloat(7, 22.0f);
    rs.updateFloat(8, 44.56f);
    rs.updateDate(9, new Date(System.currentTimeMillis()) );
    rs.insertRow();
  } 

  /**
   * This method deletes nth Row from the result Set
   */
  public void deleteNthRow(ResultSet rs, 
                           int rowNum) throws SQLException {
    rs.absolute(rowNum);
    rs.deleteRow();
  } 

  /**
   * this methods updates a value for the nthRow , ith Column .
   */
  public void updateNthRowIthColumnValue(ResultSet rs, int nThRow, 
                                         int iThColumn,
                                         Object value) throws SQLException {
    ResultSetMetaData rMetaData = rs.getMetaData();
    int type = rMetaData.getColumnType(iThColumn);
    String colName = rMetaData.getColumnName(iThColumn);

    rs.absolute(nThRow);

    switch (type) {

      case Types.CHAR:

      case Types.VARCHAR:

      case Types.LONGVARCHAR:
        rs.updateString(colName, value.toString());

        break;

      case Types.BIT:
        rs.updateByte(colName, 
                      Byte.valueOf(value.toString()).byteValue());

        break;

      case Types.TINYINT:

      case Types.SMALLINT:

      case Types.INTEGER:
        rs.updateInt(colName, 
                     Integer.valueOf(value.toString()).intValue());

        break;

      case Types.BIGINT:
        rs.updateLong(colName, 
                      Long.valueOf(value.toString()).longValue());

        break;

      case Types.FLOAT:
        rs.updateFloat(colName, 
                       Float.valueOf(value.toString()).floatValue());

        break;

      case Types.DOUBLE:
        rs.updateDouble(colName, 
                        Double.valueOf(value.toString()).doubleValue());

        break;

      case Types.DATE:
        rs.updateDate(colName, Date.valueOf(value.toString()));

        break;

      case Types.TIME:
        rs.updateTime(colName, Time.valueOf(value.toString()));

        break;

      case Types.TIMESTAMP:
        rs.updateTimestamp(colName, Timestamp.valueOf(value.toString()));

        break;

      default:
        rs.updateObject(colName, value);

        break;
    }

    rs.updateRow();
  } 

  /**
   * cancel updates in a ResultSet
   */
  public void cancelUpdatesInResultSet(ResultSet rs) 
          throws SQLException {
    rs.cancelRowUpdates();
  } 

  /**
   * print ResultSet in the Forward Direction from current position;
   */
  public void printResultSetRowsInForwardDirection(ResultSet rs) 
          throws SQLException {
    ResultSetMetaData rMetaData = rs.getMetaData();
    int nColumns = rMetaData.getColumnCount();
    // print metadata
    for (int i = 1; i 

    
 
 

您可能感兴趣的文章:

  • 求ibm6000的中文使用手册 !从来没用过服务器,现在急需使用它,不知如何使用! 急!!!!! iis7站长之家
  • 使用存储过程实现循环插入100条记录
  • 使用PreparedStatement向表插入数据的时候,如果一个字段是自动增长的,应该怎么办呀???
  • fedora 中插入u盘,使用后,如何切断u盘的电源,这样u盘不带电操作,就像windows中的那样
  • 请问大家使用VIM的时候如何输入括号和标签?插入模式如何移动?
  • 问题:在linux系统中,怎么使用shell脚本,在文件的第三行和第四行之间新增一行(插入一段字符,或者一个变量的值)?
  • 使用C#实现在word中插入页眉页脚的方法
  • 使用SQL Server 获取插入记录后的ID(自动编号)
  • php使用反射插入对象示例分享
  • mysql中insert与select的嵌套使用解决组合字段插入问题
  • codeigniter使用技巧批量插入数据实例方法分享
  • asp.net 使用SqlBulkCopy极速插入数据到 SQL Server
  • python文件读写并使用mysql批量插入示例分享(python操作mysql)
  • python使用win32com在百度空间插入html元素示例
  • 使用sql语句在指定字段前面插入新的字段的方法
  • python数据库操作常用功能使用详解(创建表/插入数据/获取数据)
  • 請教Jtable的使用,如何編程插入一行,如何設置和取得任意單元格的數据?最好可以給個例程序.
  • 请比较"直接使用ResultSet"和"将ResultSet结果保存到ArrayList"的好坏.
  • 怎样使用Resultset中的previous()方法??
  • 请大家帮忙,怎样使用ResultSet对象的absolute()方法来提取指定行的数据?
  • 用JDBC-ODBC访问ACCESS,能不能用ResultSet的deleteRow()方法?我怎么用的不行?另外,我在使用CachedRowSet类时,当调用acceptChange()方法时
  • 如何使用ResultSet对象的last()以及first()方法?何为“只转发结果集”?
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • C++ I/O 成员 tellg():使用输入流读取流指针
  • 在测试memset函数的执行效率时,分为使用Cash和不使用Cash辆种方式,该如何控制是否使用缓存?
  • C++ I/O 成员 tellp():使用输出流读取流指针
  • 求ibm6000的中文使用手册 !从来没用过服务器,现在急需使用它,不知如何使用! 急!!!!!
  • Python不使用print而直接输出二进制字符串
  • 请问:在使用oracle数据库作开发时,是使用pro*c作开发好些,还是使用库函数如oci等好一些啊?或者它们有什么区别或者优缺点啊?
  • Office 2010 Module模式下使用VBA Addressof
  • 急求结果!!假设一个有两个元素的信号量集S,表示了一个磁带驱动器系统,其中进程1使用磁带机A,进程2同时使用磁带机A和B,进程3使用磁带机B。
  • windows下tinyxml.dll下载安装使用(c++解析XML库)
  • c#中SAPI使用总结——SpVoice的使用方法
  • tcmalloc内存泄露优化c++开源库下载,安装及使用介绍
  • 使用了QWidget的程序,如何使用后台程序启动它?
  • sharepoint 2010 使用STSNavigate函数实现文件下载举例
  • 共享内存一般是怎么使用的,是同消息队列配合使用么
  • 使用libpcap读取tcpdump抓取的文件并解析c代码实例
  • Jsp可否使用带有GUI的JavaBean,如何使用?
  • c/c++预处理命令预#,##使用介绍
  • asp程序使用的access在Linux下如何使用!
  • 在div中使用css让文字底部对齐的方法
  • 新装的Linux使用root用户不能使用FTP?
  • Python namedtuple(命名元组)使用实例
  • LINUX下使用Eclipse,如何使用交叉编译器?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3