将jsp表单中的整数插入数据库表中?

时间:2012-06-24 12:52:04

标签: java jsp jdbc insert-statement

请参阅下面的代码......

//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

我正在尝试获取yearint,并将其插入数据库表中。但是我收到错误,INSERT方法似乎只与Strings一起使用。有人可以帮我解决这个问题。

3 个答案:

答案 0 :(得分:4)

您必须使用PreapredStatement。从您的帖子中我可以看到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();

答案 1 :(得分:0)

以下链接可以帮助您了解基础知识,并提供一个工作示例:

  1. http://www.tutorialspoint.com/jdbc/jdbc-statements.htm
  2. http://www.tutorialspoint.com/jdbc/statement-object-example.htm
  3. 虽然我不建议在JSP中包含JDBC连接代码也不是一般做法,为什么?以下是您的Servlets and Jsp Best Practices

    希望这有帮助。

答案 2 :(得分:0)

使用PreparedStatement代替常规Statement。另外,请使用executeQuery()代替executeUpdate()