2016-03-20 16 views
0

SQLITE ve Java ile ilgili bir sorunla karşılaştım. Programcıların istisnaları kullanmasını öneren bazı cevapları inceledim. Ben kullandı ama benim kod hala bana bu bir hataINSERT işlemi, Java kullanarak SQLITE'ta çalışmıyor

java.sql.SQLException: no such table: australia 

veriyor ve kayıtlar oluşturulan veritabanı üzerinde güncellenmektedir edilmeyen: playlistNameInsert.getText() değeri Australia değerini sahiptir

Class.forName("org.sqlite.JDBC"); 
       Connection connect = DriverManager.getConnection("jdbc:sqlite:playlist.sqlite"); 
       System.out.println("Playlist db opened"); 
       Statement saveStatement = connect.createStatement(); 
       saveStatement.executeUpdate(makeTable); 

       try { 
        ResultSet getAllSameGenre = artStmt.executeQuery("SELECT * FROM tracklist WHERE genre = '" + storeGenre + "' ORDER BY RANDOM() LIMIT 10"); 

        while(getAllSameGenre.next()){ 
         int id = 1; 
         String title = getAllSameGenre.getString("title"); 
         String artist = getAllSameGenre.getString("artist"); 
         String genre = getAllSameGenre.getString("genre"); 
         String album = getAllSameGenre.getString("album"); 

         Statement finalRecord = connect.createStatement(); 
         String storeTableName = playlistNameInsert.getText(); 
         String record = "INSERT INTO " + storeTableName + " (id , title, artist , genre , album)" + "VALUES ('" +id+title+artist+genre+album+ " '); " ; 
         finalRecord.executeUpdate(record); 

         id ++; 
        } 
        saveStatement.close(); 
        connect.close(); 
       } 
       catch(Exception e){ 
        System.out.println(e); 
       } 
+1

Beş sütuna bir değer ekliyorsunuz. Tipik olarak, eğer değişken ikameden sonra SQL'i basarsanız, problem açık olacaktır. –

+0

Bence ekleme sorgunuzla ilgili bir problem var.Lütfen bunun gibi "INSERT INTO TABLE_NAME" (ID, TITLE, ARTIST, GENRE, ALBUM) VALUES (4, 'TITLE', 'ARTIST', 'GENRE', 'ALBUM_NAME'); " – Sreejin

cevap

0

, Oysa böyle bir ada sahip bir table yok. Şu anda üzerinde çalıştığınız database'da bulunan sadece select from, insert into, delete from veya updatetable adreslerinden emin olmanız gerekir. Ayrıca, virgülle değerleri ayırmak gerekir, bu nedenle bu bölüm de balık görünüyor:

+id+title+artist+genre+album+ 

bir değer metinsel ise, o zaman etrafında kesme sarmak gerektiğini saymıyorum. SQL sözdizimi ile akıcı değil gibi görünüyor, bu yüzden birkaç öğretici izlemeniz ve sonra bu soruna geri dönmeniz gerektiğini düşünüyorum.