[英]Insert integer from a jsp form into a database table?
请参阅下面的代码...
//connect
//reading params from the form
String name = request.getParameter("name");
String year_prime = request.getParameter("year");
int year = Integer.parseInt(year_prime);
//inserting the params into table Students
stmt.executeUpdate("insert into students(name,year) values('"+name+"', year)");
//close connection
我试图获取year
值,它是一个int
,并将其插入数据库表中。 但是我遇到一个错误,并且INSERT方法似乎只适用于Strings
。 有人可以帮我解决这个问题。
您必须使用PreapredStatement
。 从您的帖子中,我可以看到您为VALUES()
设置的VALUES()
不正确。
stmt.executeUpdate("insert into students(name,year) values ('" + name + "'," + year ")");
使用PreparedStatement执行数据库操作将是简单而安全的:
String sql="insert into students(name,year) values (?,?)";
PreparedStatement statement=cn.prepareStatement(sql);
statement.setString(1,name);
statement.setInt(2,year);
statement.executeUpdate();
以下链接可能帮助您了解基础知识和工作示例:
尽管我不建议这样做,并且在JSP中包括JDBC连接代码也不是一种普遍做法,但是为什么呢? 这是适合您的Servlet和Jsp最佳实践 。
希望这可以帮助。
使用PreparedStatement
而不是常规Statement
。 另外,使用executeQuery()
而不是executeUpdate()
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.