java - SQLIntegrityConstraintViolationException, -


im trying create basic program can add , delete data within java derby database. problem throws exception 'the statement aborted because have caused duplicate key value in unique or primary key constraint or unique index identified 'sql160724181654400' defined on 'contacts_list'. ' main objective add strings of text within 2 jtextfields , import database has 2 colums. not understand problem though.

                try {                     string writestring = "insert contacts_list(name, number) values(?,?)";                     preparedstatement pst = connection.preparestatement(writestring);                      pst.setstring(1, namef.gettext());                     pst.setstring(2, numberl.gettext());                      pst.execute();                      showmessagedialog(this, " contact's added! ");                     namef.settext(" ");                     numberf.settext(" ");                      pst.close();                 } catch (exception ex) {                      ex.printstacktrace();                 } 

and full code below;

package address_book;    import java.awt.gridbagconstraints;  import java.awt.gridbaglayout;  import java.awt.insets;   import java.awt.event.actionevent;  import java.awt.event.actionlistener;   import java.io.file;  import java.sql.connection;  import java.sql.drivermanager;  import java.sql.preparedstatement; import java.sql.sqlexception;  import java.sql.statement; import javax.swing.borderfactory;  import javax.swing.jbutton;   import javax.swing.jframe;     import javax.swing.jlabel;    import javax.swing.joptionpane;   import static javax.swing.joptionpane.showmessagedialog;  import javax.swing.jpanel;  import javax.swing.jtextfield;  import javax.swing.swingutilities;  import javax.swing.uimanager;  import org.apache.derby.drda.networkservercontrol;   public class add_data extends jframe implements actionlistener {  jbutton add = new jbutton("add database");  jtextfield namef = new jtextfield(12); jtextfield numberf = new jtextfield(12);  jlabel namel = new jlabel("enter name : "); jlabel numberl = new jlabel("enter number : ");  private static connection connection; private static statement stmt;  public static void main(string[] args) {     try {         uimanager.setlookandfeel(uimanager.getsystemlookandfeelclassname());     } catch (exception ex) {         ex.printstacktrace();     }      swingutilities.invokelater(new runnable() {          public void run() {             new add_data().setvisible(true);          }     }); }  public add_data() {     super("add contact");     setsize(300, 250);     setvisible(true);     setlocationrelativeto(null);     setresizable(false);     setdefaultcloseoperation(dispose_on_close);      // add jpanel , layout     jpanel panel = new jpanel();     panel.setlayout(new gridbaglayout());     gridbagconstraints constraints = new gridbagconstraints();     constraints.anchor = gridbagconstraints.west;     constraints.insets = new insets(10, 10, 10, 10);      // add componenets      constraints.gridx = 0;     constraints.gridy = 0;     panel.add(namel, constraints);      constraints.gridx = 1;     panel.add(namef, constraints);      constraints.gridx = 0;     constraints.gridy = 1;     panel.add(numberl, constraints);      constraints.gridx = 1;     panel.add(numberf, constraints);      constraints.gridx = 0;     constraints.gridy = 2;     constraints.gridwidth = 2;     constraints.anchor = gridbagconstraints.center;     panel.add(add, constraints);     add.addactionlistener(this);      //create border      panel.setborder(borderfactory.createtitledborder(borderfactory.createetchedborder(), "enter contact's details"));      add(panel);      try {         networkservercontrol server = new networkservercontrol();         server.start(null);         // load jdbc driver         class.forname("org.apache.derby.jdbc.embeddeddriver");         //establish connection         string sourceurl = "jdbc:derby://localhost:1527/"                 + new file("contacts_list").getabsolutepath() + ";";         connection = drivermanager.getconnection(sourceurl, "use", "use");         stmt = connection.createstatement();     } // following exceptions must caught     catch (classnotfoundexception cnfe) {         system.out.println(cnfe);     } catch (sqlexception sqle) {         system.out.println(sqle);     } catch (exception e) {         system.out.println(e);     } }  @override public void actionperformed(actionevent e) {     string key = namef.gettext();     string name = database.getname(key);      string nameadd = namef.gettext();     if (namef.gettext().isempty() || numberf.gettext().isempty() && e.getsource() == add) {          joptionpane.showmessagedialog(this, "fill empty fields");     } else if (e.getsource() == add) {         if (name == null) {             int confirm = joptionpane.showconfirmdialog(null, "you add " + nameadd + ", want continue?");              if (confirm == joptionpane.yes_option) {                  try {                     string writestring = "insert contacts_list(name, number) values(?,?)";                     preparedstatement pst = connection.preparestatement(writestring);                      pst.setstring(1, namef.gettext());                     pst.setstring(2, numberl.gettext());                      pst.execute();                      showmessagedialog(this, " contact's added! ");                     namef.settext(" ");                     numberf.settext(" ");                      pst.close();                 } catch (exception ex) {                      ex.printstacktrace();                 }                 if (confirm == joptionpane.no_option) {                     showmessagedialog(this, "please try again !");                 }             }         }     }  } 

}


Comments

Popular posts from this blog

jOOQ update returning clause with Oracle -

java - Warning equals/hashCode on @Data annotation lombok with inheritance -

java - BasicPathUsageException: Cannot join to attribute of basic type -