jdbc - error : "java.sql.SQLException: No value specified for parameter 1 " -


public class verestoque extends jframe { connection conexao; preparedstatement pst; resultset rs;  public void adicionar() {        string sql = "insert produtos (nome, marca, loja, estoque ,valordevenda) values (?,?,?,?,?)";       try     {         pst = conexao.preparestatement(sql);         pst.setstring(1,textnome.gettext());         pst.setstring(2,textmarca.gettext());         pst.setstring(3,textloja.gettext());         pst.setstring(4,textestoque.gettext());         pst.setstring(5,textvalordevenda.gettext());           pst.execute();          joptionpane.showmessagedialog(null,"produto adicionado com sucesso!", "cadastrado com sucesso", joptionpane.information_message);        listarprodutos();     }     catch(sqlexception error)     {         joptionpane.showmessagedialog(null,"erro ao adicionar o produto!");     } }  public void listarprodutos(){     string sql = "select *from produtos";     try{         pst = conexao.preparestatement(sql);         rs = pst.executequery();         tblprodutos.setmodel(dbutils.resultsettotablemodel(rs));     }      catch(sqlexception error){          joptionpane.showmessagedialog(null, error);       } }  public void buscarprodutos(){     string sql = "select *from produtos nome ?";     try{         pst = conexao.preparestatement(sql);         rs = pst.executequery();         pst.setstring(1,textbusca.gettext()+"%");         tblprodutos.setmodel(dbutils.resultsettotablemodel(rs));       }     catch(sqlexception error){         joptionpane.showmessagedialog(null, error);      } }   private jpanel contentpane; private jtextfield textnome; private jtextfield textmarca; private jtextfield textloja; private jtextfield textestoque; private jtextfield textvalordevenda; protected abstractbutton rdbtnremover; private jtable tblprodutos; private jtextfield textbusca;  /**  * launch application.  */ public static void main(string[] args) {     eventqueue.invokelater(new runnable() {         public void run() {             try {                 verestoque frame = new verestoque();                 frame.setvisible(true);             } catch (exception e) {                 e.printstacktrace();             }         }     }); }  /**  * create frame.  */ public verestoque() throws classnotfoundexception {       conexao = bancodedados.bancodedados();     setbackground(new color(238, 238, 238));     setdefaultcloseoperation(jframe.dispose_on_close);     setbounds(100, 100, 697, 514);     contentpane = new jpanel();     contentpane.setborder(new emptyborder(5, 5, 5, 5));     setcontentpane(contentpane);     contentpane.setlayout(null);      textnome = new jtextfield();     textnome.sethorizontalalignment(swingconstants.center);     textnome.setbounds(289, 68, 134, 28);     contentpane.add(textnome);     textnome.setcolumns(10);      textmarca = new jtextfield();     textmarca.sethorizontalalignment(swingconstants.center);     textmarca.setbounds(289, 96, 134, 28);     contentpane.add(textmarca);     textmarca.setcolumns(10);      textloja = new jtextfield();     textloja.sethorizontalalignment(swingconstants.center);     textloja.setbounds(289, 125, 134, 28);     contentpane.add(textloja);     textloja.setcolumns(10);      textestoque = new jtextfield();     textestoque.sethorizontalalignment(swingconstants.center);     textestoque.setbounds(289, 152, 134, 28);     contentpane.add(textestoque);     textestoque.setcolumns(10);      textvalordevenda = new jtextfield();     textvalordevenda.sethorizontalalignment(swingconstants.center);     textvalordevenda.setbounds(289, 181, 134, 28);     contentpane.add(textvalordevenda);     textvalordevenda.setcolumns(10);      jbutton btnadicionar = new jbutton("adicionar!");     btnadicionar.addactionlistener(new actionlistener() {         public void actionperformed(actionevent e) {             adicionar();          }     });     btnadicionar.setbounds(507, 69, 117, 29);     contentpane.add(btnadicionar);      jbutton btntabela = new jbutton("ver tabela completa de estoque!");     btntabela.settooltiptext("");     btntabela.addactionlistener(new actionlistener() {         public void actionperformed(actionevent e) {             listarprodutos();          }     });     btntabela.setbounds(140, 421, 441, 45);     contentpane.add(btntabela);      jbutton btnbuscar = new jbutton("buscar!");     btnbuscar.addactionlistener(new actionlistener() {         public void actionperformed(actionevent e) {             buscarprodutos();         }     });      btnbuscar.setbounds(16, 126, 117, 29);     contentpane.add(btnbuscar);      jtextpane txtpnselecioneaopo = new jtextpane();     txtpnselecioneaopo.setfont(new font("comic sans ms", font.bold | font.italic, 15));     txtpnselecioneaopo.setbackground(systemcolor.window);     txtpnselecioneaopo.settext("selecione opção que deseja fazer :");     txtpnselecioneaopo.setbounds(186, 6, 284, 23);     contentpane.add(txtpnselecioneaopo);      jlabel lblnome = new jlabel("nome :");     lblnome.setbounds(177, 74, 61, 16);     contentpane.add(lblnome);      jlabel lblmarca = new jlabel("marca :");     lblmarca.setbounds(177, 102, 61, 16);     contentpane.add(lblmarca);      jlabel lblloja = new jlabel("loja :");     lblloja.setbounds(178, 131, 43, 16);     contentpane.add(lblloja);      jlabel lblestoque = new jlabel("estoque :");     lblestoque.setbounds(177, 158, 61, 16);     contentpane.add(lblestoque);      jlabel lblvalordevenda = new jlabel("valor de venda :");     lblvalordevenda.setbounds(177, 187, 108, 16);     contentpane.add(lblvalordevenda);      jbutton btnremover = new jbutton("remover!");     btnremover.setbounds(507, 182, 117, 29);     contentpane.add(btnremover);      jradiobutton rdbtnbuscar = new jradiobutton("buscar");     rdbtnbuscar.addactionlistener(new actionlistener() {         public void actionperformed(actionevent e) {              textestoque.seteditable(false);             textvalordevenda.seteditable(false);             textloja.seteditable(false);             textmarca.seteditable(false);           }     });      rdbtnbuscar.setbounds(140, 34, 98, 23);     contentpane.add(rdbtnbuscar);      jradiobutton rdbtnadicionar = new jradiobutton("adicionar");     rdbtnadicionar.addkeylistener(new keyadapter() {         @override         public void keypressed(keyevent e) {               textnome.seteditable(true);             textestoque.seteditable(true);             textvalordevenda.seteditable(true);             textloja.seteditable(true);             textmarca.seteditable(true);         }     });     rdbtnadicionar.addactionlistener(new actionlistener() {          public void actionperformed(actionevent e) {              textnome.seteditable(true);             textestoque.seteditable(true);             textvalordevenda.seteditable(true);             textloja.seteditable(true);             textmarca.seteditable(true);          }     });     rdbtnadicionar.setbounds(279, 34, 98, 23);     contentpane.add(rdbtnadicionar);      jradiobutton rdbtnremover = new jradiobutton("remover");     rdbtnadicionar.addactionlistener(new actionlistener() {         public void actionperformed(actionevent e) {             textnome.seteditable(true);             textestoque.seteditable(true);             textvalordevenda.seteditable(false);             textloja.seteditable(false);             textmarca.seteditable(false);         }     });      rdbtnremover.setbounds(440, 34, 141, 23);     contentpane.add(rdbtnremover);      jbutton btncancelar = new jbutton("cancelar!");     btncancelar.setbounds(417, 126, 98, 28);     contentpane.add(btncancelar);      jscrollpane scrollpane = new jscrollpane();     scrollpane.setbounds(29, 251, 643, 170);     contentpane.add(scrollpane);      tblprodutos = new jtable();     scrollpane.setviewportview(tblprodutos);     tblprodutos.settooltiptext("");      jlabel pesquisaproduto = new jlabel("nome produto para busca : ");     pesquisaproduto.setbounds(29, 228, 226, 16);     contentpane.add(pesquisaproduto);      textbusca = new jtextfield();     textbusca.addkeylistener(new keyadapter() {         @override         public void keyreleased(keyevent e) {             buscarprodutos();         }     });     textbusca.setbounds(244, 222, 214, 28);     contentpane.add(textbusca);     textbusca.setcolumns(10);   } } 

when write text on textbusca , select buscarprodutos button search, receive error:

java.sql.sqlexception: no value specified parameter 1.

you execute query before setting first parameter :

    pst = conexao.preparestatement(sql);     rs = pst.executequery();     pst.setstring(1,textbusca.gettext()+"%"); 

change to

    pst = conexao.preparestatement(sql);     pst.setstring(1,textbusca.gettext()+"%");     rs = pst.executequery(); 

Comments

Popular posts from this blog

powershell Start-Process exit code -1073741502 when used with Credential from a windows service environment -

twig - Using Twigbridge in a Laravel 5.1 Package -

c# - LINQ join Entities from HashSet's, Join vs Dictionary vs HashSet performance -