为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

菜菜求取主键值安插外键中的方法

2017-11-13 4页 doc 16KB 16阅读

用户头像

is_014457

暂无简介

举报
菜菜求取主键值安插外键中的方法菜菜求取主键值安插外键中的方法 菜菜求取主键值插入外键中的方法 import java.sql.*; import sun.security.action.GetIntegerAction; public class preparedStatementTest { public static void main(String[] args){ Connection conn=null; ResultSet rs=null; PreparedStatement pstmt=null; try{ Class.f...
菜菜求取主键值安插外键中的方法
菜菜求取主键值安插外键中的方法 菜菜求取主键值插入外键中的方法 import java.sql.*; import sun.security.action.GetIntegerAction; public class preparedStatementTest { public static void main(String[] args){ Connection conn=null; ResultSet rs=null; PreparedStatement pstmt=null; try{ Class.forName( com.mysql.jdbc.Driver ); conn=DriverManager.getConnection( jdbc:mysql://localhost/bbs?user=root password=mysqlcom ); //t2表中主键,nid,自增 String sql= insert into t2(nid,tname)values(null,?) ; pstmt=conn.prepareStatement(sql); pstmt.setString(1, aa ); pstmt.executeUpdate(); //查找t2表中主键nid的值 sql= select last_insert_id() ; pstmt=conn.prepareStatement(sql); rs=pstmt.executeQuery(); while(rs.next()){ System.out.println(rs.getInt(1)); } //t1表中nameId为外键 sql= insert into t1(id,nameid,nam)values(null,?,?) ; pstmt=conn.prepareStatement(sql); //rs.getInt(1)出错.求取上面主键值的方法 pstmt.setInt(1,rs.getInt(1)); pstmt.setString(2, bb ); pstmt.executeUpdate(); }catch( ClassNotFoundException e){ e.printStackTrace(); }catch( SQLException e){ e.printStackTrace(); }finally{ try{ if(rs!=null){ pstmt.close(); rs=null; } if(pstmt!=null){ pstmt.close(); pstmt=null; } if(conn!=null){ conn.close(); conn=null; } }catch(SQLException e){ e.printStackTrace(); } } } } 控制台输出: 20 java.sql.SQLException: After end of result set at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1073) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:987) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:982) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:927) at com.mysql.jdbc.ResultSetImpl.checkRowPos(ResultSetImpl.java:841) at com.mysql.jdbc.ResultSetImpl.getInt(ResultSetImpl.java:2674) at preparedStatementTest.main(preparedStatementTest.java:32) ------最佳解决-------------------------------------------------------- while(rs.next()){ //t1表中nameId为外键 sql= insert into t1(id,nameid,nam)values(null,?,?) ; pstmt=conn.prepareStatement(sql); //rs.getInt(1)出错.求取上面主键值的方法 pstmt.setInt(1,rs.getInt(1)); pstmt.setString(2, bb ); pstmt.executeUpdate(); } 扩大范围 LAST_INSERT_ID() 返回的是一个、 所以用if(rs.next()){} 就可以了、
/
本文档为【菜菜求取主键值安插外键中的方法】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索