java的connection.prepareStatement(sql, columnNames)怎么获取返回的列
connection.prepareStatement(sql,columnNames);这个方法的使用有人告诉我说可以获取到insert对象相应的列,但是我还是不太懂,...
connection.prepareStatement(sql, columnNames);这个方法的使用有人告诉我说可以获取到insert对象相应的列,但是我还是不太懂,因为我没有在PreparedStatement类里面找到我觉得像的方法,所以我写了一点代码,帮我看看怎么接下去获取到刚插入的行的id吧
假设我有一个Book类,属性是id和name ,有一个book表,字段是id和name, id字段自增长 name可重复
代码大概是这样,可能语法有点错这个就无视掉好了
PreparedStatement pstmt=null;
String sql="insert into book(name) values(?)";
String columnNames[]=new String[1];
columnNames[0]="id";
connection.prepareStatement(sql, columnNames);
pstmt=connection.prepareStatement(sql);
pstmt.setString(1, book.getName());
suc=pstmt.execute();
接下来,就是我怎么获得prepareStatement返回的id列了,请帮我看看什么地方要改的或者要添加的
ps:如果我再用select 去select name相同的行,因为name是可重复的啦,会select以前的行的吧,所以 这个应该是行不通的吧?
补充一下上面的
connection.prepareStatement(sql, columnNames);
pstmt=connection.prepareStatement(sql);写错了
应该是pstmt=connection.prepareStatement(sql, columnNames);
复制的问题 展开
假设我有一个Book类,属性是id和name ,有一个book表,字段是id和name, id字段自增长 name可重复
代码大概是这样,可能语法有点错这个就无视掉好了
PreparedStatement pstmt=null;
String sql="insert into book(name) values(?)";
String columnNames[]=new String[1];
columnNames[0]="id";
connection.prepareStatement(sql, columnNames);
pstmt=connection.prepareStatement(sql);
pstmt.setString(1, book.getName());
suc=pstmt.execute();
接下来,就是我怎么获得prepareStatement返回的id列了,请帮我看看什么地方要改的或者要添加的
ps:如果我再用select 去select name相同的行,因为name是可重复的啦,会select以前的行的吧,所以 这个应该是行不通的吧?
补充一下上面的
connection.prepareStatement(sql, columnNames);
pstmt=connection.prepareStatement(sql);写错了
应该是pstmt=connection.prepareStatement(sql, columnNames);
复制的问题 展开
展开全部
请仔细阅读API“PreparedStatement prepareStatement(String sql,
int[] columnIndexes)
throws SQLException
创建一个能够返回由给定数组指定的自动生成键的默认 PreparedStatement 对象。此数组包含目标表中的列的索引,而该目标表包含应该使其可用的自动生成的键。如果该 SQL 语句不是一条 INSERT 语句,则忽略此数组。 ”
int[] columnIndexes)
throws SQLException
创建一个能够返回由给定数组指定的自动生成键的默认 PreparedStatement 对象。此数组包含目标表中的列的索引,而该目标表包含应该使其可用的自动生成的键。如果该 SQL 语句不是一条 INSERT 语句,则忽略此数组。 ”
追问
谢谢,不过这句话我不理解啊,我之前的提问也是问这句话什么意思,最后有人告诉我说可以返回某些字段,不过当时没问清楚怎么返回
所以现在想知道怎么得到这些字段 http://zhidao.baidu.com/question/589759150.html?quesup2&oldq=1
追答
执行Select 就可以得到这些字段啊……
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询