2011-01-11 7 views
1

私は3つのボタン(追加、保存、キャンセル)を持っています。追加ボタンを押すと、自動増分値が自動的に生成され、テキストフィールドに表示されます。保存ボタンを押すと、レコードが更新されます。私の問題は、私がキャンセルボタンを押すと、私は追加された現在のデータを削除し、削除されたデータの主キーに自動インクリメントキーを設定できるようにすることです。これは可能ですか?以前の値に自動インクリメントを設定するJAVA PreparedStatement MYSQL

dc.connect(); 
      try { 
      PreparedStatement st=dc.getConnection().prepareStatement("Delete from Employeemaster where empno = '" + empno.getText() + "'"); 
      i=st.executeUpdate(); 
      if (i>0) { 
      dc.getConnection().commit(); 


     } 
    } catch (Exception e) { 
     JOptionPane msg=new JOptionPane(); 
     msg.showMessageDialog(this,"Database Error: "+e.getMessage()); 
    } 

    dc.disconnect(); 
    dc.connect(); 
      try { 
      PreparedStatement st=dc.getConnection().prepareStatement("ALTER TABLE employeemaster AUTO_INCREMENT ='" + empno.getText() + "'"); 
      i=st.executeUpdate(); 
      if (i>0) { 
      dc.getConnection().commit(); 


     } 
    } catch (Exception e) { 
     JOptionPane msg=new JOptionPane(); 
     msg.showMessageDialog(this,"Database Error: "+e.getMessage()); 
    } 

私は

ALTER TABLE employeemaster AUTO_INCREMENT = 10003; 

ALTER TABLE employeemaster AUTO_INCREMENT ='" + empno.getText() + "'" 

を交換しようと、それが働きました。テキストフィールドに含まれている/入力されている値に自動インクリメントされた値を設定することはできますか?

追加情報: 私が手にエラーがある

「あなたはあなたのSQL構文でエラーが発生している。使用する権利構文についてはMySQLサーバのバージョンに対応するマニュアルをチェック近く 『10003』で、ライン1。"望ましいことではない単一引用符の使用は、mysqlは文字列にAUTO_INCREMENT値(整数)をキャスト原因となります

答えて

1

ストリップ

"ALTER TABLE employeemaster AUTO_INCREMENT=" + empno.getText() 

それとも

のような単一引用符、

キャストempno.getText()を整数

+0

に変換しました。ありがとう。 – cassrynne

関連する問題