2011-12-07 12 views
3

私はテーブルlyrics1で日付ベースの歌詞があり、下のコードではlyrics1に行を挿入したいと思います。MySQLデータベースに行を挿入できません

しかし、私がmysqlクライアントに戻ってdescribe lyrics1を実行すると、更新されませんでした。

エラーは発生せず、データベースに正常に接続します。少なくとも私はそれができないと言っているエラーを得ることはありません。

connectToDB(); 

ok.addActionListener(new ActionListener() { 
    public void actionPerformed(ActionEvent e) { 
     try { 

      String query = "INSERT INTO lyrics1(name, artist) values(?, ?)"; 
      PreparedStatement statement = connection.prepareStatement(query); 
      statement.setString(1, nameOfSong.getText()); // set input parameter 2 
      statement.setString(2, artist.getText()); 
      ResultSet rs = statement.executeQuery("SELECT * FROM lyrics1"); 
      while (rs.next()){ 
       System.out.println(rs.getString(1)); 
      } 
      rs.close(); 
      statement.close(); 
      connection.close(); 

     } catch (SQLException insertException) { 
      displaySQLError(insertException); 
     } 
     internalFrame.dispose(); 
    } 
}); 

答えて

4

あなたはそれを作成し、決してそれを実行し、実際、INSERT文を実行し、実際のことはありません。 SELECTを実行していますが、実際にはINSERTステートメントをサーバーに送信するものはありません。

最初にstatement.executeUpdate()を呼び出す必要があります。影響を受ける行の数を返します。ほとんどの場合、INSERTの場合は1、UPDATEとDELETEの場合はZERO以上であることを確認します。

+0

私はコードの残りの部分を表示しませんでした。本質的に私はこのコードが下にあるメソッドを呼び出しました。 –

+0

あなたが投稿したコードは根本的に欠陥があります、あなたは全体または少なくとも何かを投稿する必要があります正しいですが、これは論理的な意味で正しいものではありません。 –

+0

うわー、あなたは正しいよ、ありがとう –

関連する問題