mysql - 使用jsp向MySQL表插入一行

标签 mysql sql jsp jdbc insert

我想使用 jsp 代码将行插入 mysql 数据库,但我不能。 这是我的 jsp 代码,没有 html 表单:

<%
String login = request.getParameter("login");
String password = request.getParameter("password");
String full_name = request.getParameter("full_name");
String ulevel = request.getParameter("ulevel");
String team_id = request.getParameter("team_id");

Connection connection = null;
PreparedStatement pstatement = null;
Class.forName("com.mysql.jdbc.Driver").newInstance();
int updateQuery = 0;
if(login!=null && password!=null && full_name!=null && ulevel!=null && team_id!=null){
if(login!="" && password!="" && full_name!="" && ulevel!="" && team_id!="") {
    try {
connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/android","root","root");
String queryString = "INSERT INTO users(user_id,login,password,full_name,ulevel,team_id) VALUES (null, ?, ?, ?, ?, ?)";
pstatement = connection.prepareStatement(queryString);
pstatement.setString(2, login);
pstatement.setString(3, password);
pstatement.setString(4, full_name);
pstatement.setString(5, ulevel);
pstatement.setString(6, team_id);
updateQuery = pstatement.executeUpdate();
if (updateQuery != 0) { %> 

当我按“提交”时,网页会显示以下内容:

type Status report message descriptionThe requested resource () is not available.

p.s.:user_id在mysql表中设置为autoincrement,所以我使用null

但我不知道,这是正确的方法......

我从 netbeans 7.0.1 运行代码

最佳答案

由于 ID自动递增,因此将其从列表中删除,preparedstatement 正在其参数上查找索引 1

String queryString = "INSERT INTO users(login,password,full_name,ulevel,team_id) VALUES (?, ?, ?, ?, ?)";
pstatement = connection.prepareStatement(queryString);
pstatement.setString(1, login);
pstatement.setString(2, password);
pstatement.setString(3, full_name);
pstatement.setString(4, ulevel);
pstatement.setString(5, team_id);

下面这个未经测试

只需以 1 开始参数,因为只需要定义 5 个参数。

String queryString = "INSERT INTO users(user_id,login,password,full_name,ulevel,team_id) VALUES (null, ?, ?, ?, ?, ?)";
pstatement = connection.prepareStatement(queryString);
pstatement.setString(1, login);
pstatement.setString(2, password);
pstatement.setString(3, full_name);
pstatement.setString(4, ulevel);
pstatement.setString(5, team_id);

关于mysql - 使用jsp向MySQL表插入一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13330014/

相关文章:

sql - 在字符串列上使用 GROUP BY 时未获得分组结果

java - Tomcat生成的jsps的源码或编译文件在哪里找?

php - 如何不复制 SQL 表

php - 为什么它插入额外的两个空行

mysql - SQLbuilder LIKE 参数带 %

java - 如何显示选中的复选框? Spring-Jsp

Spring + Gulp 用户引用

c# - 连接关闭后,MySql 临时表仍然存在(来自.NET)

java - 更新列值并在同一查询 MySQL、Java 中返回更新后的值

MYSQL error 1062.如何使整行数据唯一。并包含一个 AUTO_INCREMENT?