2

jsp コードを使用して mysql データベースに行を挿入したいのですが、できません。これは、html フォームのない jsp コードです。

<%
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) { %> 

[送信] を押すと、Web ページに次のように表示されます。

タイプ ステータス レポート メッセージの説明 要求されたリソース () は利用できません。

ps:列はmysql テーブルにuser_id設定されているので、使用します。autoincrementnull

しかし、私は知りません、それが正しい方法です...

netbeans 7.0.1 からコードを実行します

4

3 に答える 3

2

auto-incrementedIDであるため、リストから削除し、準備済みステートメントはそのパラメーターのインデックスを探しています。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);
于 2012-11-11T09:45:10.740 に答える
0

問題が見つかりました。エラーは、action以前はなかったソース ファイルがある属性の html 形式でした。:/

于 2012-11-13T21:08:09.590 に答える
0
String queryString = "INSERT INTO users(user_id,login,password,full_name,ulevel,team_id) VALUES (?, ?, ?, ?, ?)";

nullクエリ以外には何も使用しないでください。

于 2018-10-05T10:11:18.553 に答える