当我使用stmt.executeUpdate(),如果我用的executeQuery它不会返回记录我刚刚插入到数据库我没有设置coccurency和类型在创建语句对象我应该用什么来代替stmt.executeUpdate()?
我的表是
create Table Customer(
Customer_ID int,
Age int,
Contact_No varchar(20),
First_Name varchar(20),
Last_Name varchar(20),
PRIMARY KEY(Customer_ID)
);
和
create Table Customer_Address(
Customer_ID int,
Address_Line1 varchar(50),
Address_Line2 varchar(50),
City varchar(20),
Pincode int,
State varchar(25),
PRIMARY KEY(Customer_ID,Address_Line1)
);
我的Java代码:
try {
st = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
st.executeUpdate("insert into Customer values(Default,"+age+",'"+contact_no+"','"+first+"','"+last+"')");
ResultSet set = st.executeQuery("select Customer_ID from Customer where First_Name = '"+first+"' and Last_Name ='"+last+"' and contact_no ='"+contact_no+")");
int id = set.getInt(1);
st.executeUpdate("insert into Customer_Address Values("+id+",'"+add1+"','"+add2+"','"+city+"',"+pincode+",'"+state+"')");
}
catch (SQLException ex) {
Logger.getLogger(Screen1.class.getName()).log(Level.SEVERE, null, ex);
}
你至少应该指定要插入的列。即插入到t_table(col1,col2)值(val1,val2)中 – Adam
您的插入值失常,并且与表定义不匹配。您将年龄插入First_Name ..... – Adam
对此问题的编辑是否真正反映了您的表格架构?我要离开 – Adam