Ongelman nimi on tietokantaan tallennus javassa? mitäköhän seuraavassa koodissa on väärin?
Olisikohan vika tuossa mistä paketista tuon statementin otan? Jos otan sen tuolta com.mysql.jdbc paketista niin tulee tuossa komento=conn.createstatement(); rivillä virhe.("cannot convert statement to statement").
public void Tallenna(String id,String tuote,String hinta) { Connection conn = otaYhteys(); java.sql.Statement komento; int rows; try { String sql = "INSERT INTO tuotteet " + "(id, tuotteennimi, hinta) " + "VALUES " + "('" + id + "'," + "('" + tuote + "'," + "('" + hinta + "')"; komento= conn.createStatement(); komento.executeUpdate(sql); conn.commit(); komento.close(); } catch (Exception e) {} }
Onko kyseessä siis kääntäjän antama virhe vai luokan heittämä poikkeus? (Poikkeus tuskin, koska nielet kaikki heitetyt poikkeukset logittamatta niitä - hyvin huonoa ohjelmointitapaa.) Copypastea tänne koko virheilmoitus kontekstissaan.
SQL-lauseen rakentamisessa näyttä olevan liikaa (-merkkejä. Lisäksi siinä on http://en.wikipedia.org/wiki/SQL_injection
java.sql.Connection-rajapinnan createStatement-metodi palauttaa dokumentaation mukaan java.sql.Statement-olion, eli jos com.mysql.jdbc.Statement ei periytä tuota java.sql.Statement-luokkaa, niin sitten nuo kaksi luokkaa eivät ole yhteensopivia.
Kannattaa varmistaa, ettei tuolta com.mysql.jdbc-paketista sattuisi löytymään jotain java.sql.Connection-rajapintaa vastaavaa rajapintaa. En ole nimittäin käyttänyt kyseistä pakettia, enkä myöskään sattunut äkkiseltään löytämään sen dokumentaatiota.
kiitokset vaan avusta. Ite vaan olin taas tosi huolimaton. Noita sulkuja olin tonne jotenkin onnistunut tosiaan käsittämättömän määrän tunkemaan.(Kiitos vaan huomiosta.)
Tuota en oikeen ymmärtänyt, että miten tuota com.mysql.jdbc rajapintaa pitäisi käyttää. Sitä tuo eclipse tarjoaa ensimmäisenä, mutta ehkä on parempi etten sitä ymmärräkään.
Niin ja tuohon Jackalin kommenttiin poikkeuksien nielemisestä. Olet aivan oikeassa sen suhteen. Tää java on ollut vaan melko hukassa vielä itellä, että menee täs opettelussa aikaa. Pitänee myös paneutua kuitenkin myös tuohon osa-alueeseen.
Tämä kannattaa lukea poikkeuksien käsittelystä: http://dev2dev.bea.com/pub/a/2006/11/effective-exceptions.html
Aihe on jo aika vanha, joten et voi enää vastata siihen.