当前页面: 开发资料首页 → JSP 专题 → 用 servlet 添加到数据库的程序 怎么没反应,为什么????
用 servlet 添加到数据库的程序 怎么没反应,为什么????
摘要: 用 servlet 添加到数据库的程序 怎么没反应,为什么????
编译都成功了 运行以后就 没反应 数据库还是空! 为什么呢? 请高手指点一下!
public class CreateImageServlet extends HttpServlet {
Connection conn = null;
ResultSet rs = null;
Statement stmt = null;
String host = "localhost";
String db = "test";
String use = "name";
String pass = "password";
String url = "jdbc:mysql://"+host+":3306/"+db+"?user="+use+"&password="+pass;
public CreateImageServlet()
{
try
{
Class.forName("org.gjt.mm.mysql.Driver").newInstance();
}
catch(Exception e)
{
System.out.println("jdbc_conn():"+e.getMessage());
}
try {
String name="dongxuan";
String path="d:/";
String insert="insert into testtable (path,name) values ('path','name')";
conn=DriverManager.getConnection(url);
Statement stmt=conn.createStatement();
stmt.executeQuery(insert);
conn.close();
stmt.close();
}
catch (Exception ex)
{
System.out.println("sql.executeQuery:"+ex.getMessage());
}
}
}
好象看不出什么问题
是不是事物没成功呢
要不加个COMMIT看看
你的SQL语句是String insert="insert into testtable (path,name) values ('path','name')";
下面执行又是stmt.executeQuery(insert);
肯定不行的.stmt.executeQuery(insert);是执行select语句的
换成executeUpdate就可以了!
stmt.executeQuery()出错了~~又不是select,不能用这个
stmt.execute()
String insert="insert into testtable (path,name) values ('path','name')";
conn=DriverManager.getConnection(url);
Statement stmt=conn.createStatement();
stmt.executeUpdate(insert);
conn.close();
stmt.close();
真是太感谢了各位~ 这次又学到了东西 ok了!
COMMIT 是php里用的把 我以前在php5里用过!jsp里也用这个马????