【发布时间】:2012-08-14 09:28:42
【问题描述】:
如何从 jsp 中刚刚插入的行中获取 ID?
PreparedStatement ps = con.prepareStatement("INSERT INTO Recipients(CustomerID,Name, Street, City, ZipCode, PhoneNumber, EmailAddress,"
+ " ContactPersonName, ContactPersonSurname, ContactPersonPhoneNumber,ContactPersonEmailAddress) "
+ "values(?,?,?,?,?,?,?,?,?,?,?)");
我需要使用 Recipients 的 id 将其插入 Parcels
PreparedStatement ps2 = con.prepareStatement("INSERT INTO Parcels(TransportTypeID,CustomerID,RecipientID,ParcelAmount, DimLength, DimHeight, DimWidth, ParcelWeigth, Content,"
+ " AdditionalDescription, IsCustomParcel, ReceiptFee, InsuranceAmount, OwnPick, DispatchDate) "
+ "values((?,?,?,?,?,?,?,?,?,?,?,?,?,?,?");
ps2.setString(1,transportTypeID);
ps2.setString(2,customerID);
ps2.setInt(3,recipientID); ...
我正在尝试使用 ResultSet:
int recipientID=0;
ResultSet rs2=st.executeQuery("SELECT * FROM Recipients");
if(rs2.last())
{
recipientID = rs2.getInt("RecipientID");
}
但是没有用。
【问题讨论】:
-
您使用的是哪个 rdbms?例如,如果您使用 Oracle,则可以使用 CallableStatement 而不是 PreparedStatement,然后使用“RETURNING id INTO?”获取返回值。
-
我正在使用 Oracle 的 Mysql Workbench。