黑马程序员技术交流社区
标题:
jdbc的一个问题
[打印本页]
作者:
CrazyProgram
时间:
2013-4-11 15:22
标题:
jdbc的一个问题
public static void main(String[] args) throws SQLException {
String sql = "insert into user(username,password,birthday,salary) values(?,?,?,?)";
Object[] params = {"xixi","00","1999-11-23",9000};
update(sql,params);
}
public static void update(String sql,Object[] params) throws SQLException{
Connection conn = JdbcUtil.getMySqlConnection();
PreparedStatement pstmt = conn.prepareStatement(sql);
//取得参数元数据
ParameterMetaData pmd = pstmt.getParameterMetaData();
//取得参数个数
int size = pmd.getParameterCount();
System.out.println(size);
//为什么打印的是4,id那列它不读的吗?这又是为什么呢?
for(int i=0;i<size;i++){
pstmt.setObject(i+1, params[i]);
System.out.println(params[i]);
}
pstmt.executeUpdate();
}
复制代码
为什么id那列读取不到,Id那列设的是自动增长的··?
作者:
Asan
时间:
2013-4-11 15:31
String sql = "insert into user(username,password,birthday,salary) values(?,?,?,?)";
你的sql语句只是插入了username,password,birthday,salary; 没有id 那怎么读取呢?
作者:
谭威
时间:
2013-4-11 20:14
PreparedStatement pstmt = conn.prepareStatement(sql);
预编译你的sql语句。你只传递了四个参数。id是数据库本身给你加上去的。和你写的程序无关
作者:
黄玉昆
时间:
2013-4-14 14:27
如果问题未解决,请继续追问,如果没有问题了,请将帖子分类 改为“已解决”,谢谢
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2