0
  • との 2 つのテーブルがchat_usersありchat_linesます。
  • 挿入と選択はうまく機能しますchat_user
  • 更新chat_userが機能していません
  • 挿入も機能しchat_lines ませ

chat_user_model.javaのソース リスト

package model;

import Beans.ChatLineBeans;
import Beans.ChatUserBeans;
import java.security.Timestamp;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;

/**
 *
 * @author user
 */
public class chat_user_model extends DBConnection  {

public static void add_User(ChatUserBeans user ) throws ClassNotFoundException  {

        try {

            Connection conn = createConnection();
            PreparedStatement s;
            s = conn.prepareStatement (
               "INSERT INTO chat_users (name, gravatar) VALUES(?,?)");
             s.setString (1,user.getuserName());
             s.setString (2, user.getgravatar());
             int count = s.executeUpdate ();
             s.close ();
              conn.close();
             //System.out.println (count + " rows were inserted");

            } catch (SQLException ex) {
            Logger.getLogger(chat_user_model.class.getName()).log(Level.SEVERE, null, ex);
            }

    }
public static  ChatUserBeans find_user(String name ) {
    ChatUserBeans user=new ChatUserBeans();
        try {
            Connection con = createConnection();
            PreparedStatement stmt = con.prepareStatement("select  * from chat_users where name=? ");
            stmt.setString(1, name);
            ResultSet result= stmt.executeQuery();
            while(result.next())
            {
              user.setuserName(result.getString("name"));
              user.setgravatar(result.getString("gravatar"));
            }
            stmt.close();
            stmt.close();
            con.close();
        } catch (SQLException ex) {
            Logger.getLogger(chat_user_model.class.getName()).log(Level.SEVERE, null, ex);
        }
    return user ;

}
public static void add_line(ChatLineBeans line ) throws ClassNotFoundException  {

        try {

            Connection conn = createConnection();
            PreparedStatement s;
            s = conn.prepareStatement (
               "INSERT INTO chat_lins (aurther, gravatar,text) VALUES(?,?,?)");
             s.setString (1,line.getauther());
             s.setString (2, line.getgravatar());
             s.setString (3, line.gettext());
             int count = s.executeUpdate ();
             s.close ();
             conn.close();

             //System.out.println (count + " rows were inserted");

            } catch (SQLException ex) {
            Logger.getLogger(chat_user_model.class.getName()).log(Level.SEVERE, null, ex);
            }


    }

public static void delete_User(String name ) throws ClassNotFoundException  {

        try {
            Connection conn = createConnection();
            PreparedStatement s;
            s = conn.prepareStatement (
               "DLETE FROM chat_users WHERE name=?");
             s.setString (1,name);
             int count = s.executeUpdate ();
             s.close ();
              conn.close();
        } catch (SQLException ex) {
            Logger.getLogger(chat_user_model.class.getName()).log(Level.SEVERE, null, ex);
        }



    }
}

そして接続ファイルは

    package model;


    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.SQLException;
    import java.util.logging.Level;
    import java.util.logging.Logger;

public class DBConnection {
        private static String hostName = "localhost";
        private static String port = "3306";
        private static String dbName ="120623085702";
        private static String userName = "root";
        private static String password="";
        public static Connection createConnection(){
            try {
                Class.forName("com.mysql.jdbc.Driver");
                String url = "jdbc:mysql://" + hostName + ":" + port + "/" + dbName;
                System.out.println(url);
                Connection con = DriverManager.getConnection(url,userName,password);
                return con;

            } catch (SQLException ex) {
                Logger.getLogger(DBConnection.class.getName()).log(Level.SEVERE, null, ex);
            } catch (ClassNotFoundException ex) {
                Logger.getLogger(DBConnection.class.getName()).log(Level.SEVERE, null, ex);
            }

            return null;
        }

    }

この問題を解決する方法についての提案。

前もって感謝します。

4

1 に答える 1

0

クエリの DELETE のスペルが間違っています。これが、delete ステートメントが機能しない原因です。エラーが表示されない理由は、ログが正しく設定されていない可能性があります。その場合、insert ステートメントで何か問題が発生している可能性があり、それが何であったかわかりません (たとえば、列/テーブルが見つからない、null 非許容列に誤って null を挿入する)。これらの SQLExceptions をキャッチしないようにして、エラーが表示されるかどうかを確認してください。

于 2012-07-07T14:26:50.010 に答える