在Derby中取得刚刚插入的“递增”类型的字段值
现在才发现采用不同的数据库,对写程序影响很大。
以前常用SQL Server2000或Access,可能是因为都是Microsoft公司的产品,所以在从不同的平台转换的时候问题不是很大。
现在采用Derby数据库的时候,发现在程序中写之前的写法有明显的不同。
下面是在Derby中取得刚刚插入的“递增”类型的字段值的一个例子:
st.execute("insert into zd(name,pass,description,isforbid)values('" + theUserName.replaceAll("'", "'") + "','" + MD5.encrypt(thePass) + "','" + theDescription.replaceAll("'", "''") + "'," + theForbid + ")"); rs=st.executeQuery("VALUES IDENTITY_VAL_LOCAL()"); //取得刚刚插入的user'ID int userID=0; if(rs.next()) { userID=rs.getInt(1); st.execute("insert into abc(a,b)values(" + userID + ",2)");