【发布时间】:2013-09-19 09:44:26
【问题描述】:
我的源代码结构如下:
源文件夹
AddProduct.jsp
源包
-控制器(Servlet)
SaveProduct.java
-模型(数据库运营)
ProductDbOperations.java
我正在向产品表中插入一个新产品,同时我正在向 product_collection 表 (product_id | collection_id) 中插入一个条目。
要将条目插入到 product_collection 表中,我需要从 product 表中获取生成的 id。之后,一个新条目被插入到 product_collection 表中。
另外,我没有使用任何框架,而是使用 Netbeans 7.3。
问题:
使用这段代码将一个新条目插入到产品表中
输入:ProductDbOperations.java
try
{
this.initConnection(); // Db connection
pst = cn.prepareStatement("INSERT INTO product values('"+name+"', "+quantity+", "+price+")");
rs = pst.executeUpdate();
}
catch(SQLException ex)
{
}
我还在以下链接中使用了对我不起作用的解决方案。 我没有遇到任何 SQL 异常
How to get the insert ID in JDBC?
所以请帮我找出为什么这段代码不适合我。 谢谢一百万。
【问题讨论】:
-
你怎么知道你没有得到 SQLException,你的 catch 块是空的?你也尝试过 getGeneratedKeys() 方法吗?
-
“不适合我”是什么意思?怎么了?至少在你的 catch 块中打印堆栈跟踪:
catch (SQLException ex) { ex.printStackTrace(); } -
@Kayaman 实际上代码非常大,所以让我解释一下.. 我使用 String 类型的状态变量来获取异常作为字符串和函数返回一个字符串,如 status = ex.toString(); try catch 块后返回状态;
-
还有 System.out.println();没有显示任何内容。