繁体   English   中英

从jsp表格中插入整数到数据库表中?

[英]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();

以下链接可能帮助您了解基础知识和工作示例:

  1. http://www.tutorialspoint.com/jdbc/jdbc-statements.htm
  2. http://www.tutorialspoint.com/jdbc/statement-object-example.htm

尽管我不建议这样做,并且在JSP中包括JDBC连接代码也不是一种普遍做法,但是为什么呢? 这是适合您的Servlet和Jsp最佳实践

希望这可以帮助。

使用PreparedStatement而不是常规Statement 另外,使用executeQuery()而不是executeUpdate()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM