2011-01-15 16 views
-1

Ich habe Probleme mit meiner Android App beim Hinzufügen von Informationen in SQLite. Ich bin relativ neu in Java/SQLite und obwohl ich viele Tutorials auf SQLite gefolgt bin und in der Lage war, den Beispielcode zur Ausführung zu bekommen, kann ich keine Tabellen erstellen und Daten importieren, wenn ich meine eigene App verwende. Ich habe meinen Code in zwei Java-Dateien enthalten. Fragen (Hauptprogramm) und QuestionData (Hilfsklasse repräsentiert die Datenbank).Hinzufügen von Informationen in SQLite

Questions.java:

public class Questions extends Activity { 
private QuestionData questions; 
@Override 
public void onCreate(Bundle savedInstanceState) { 
super.onCreate(savedInstanceState); 
setContentView(R.layout.quiztest); 
questions = new QuestionData(this); 
try { 
Cursor cursor = getQuestions(); 
showQuestions(cursor); 
} finally { 
questions.close(); 
} 
} 

private Cursor getQuestions() { 
//Select Query 
String loadQuestions = "SELECT * FROM questionlist"; 
SQLiteDatabase db = questions.getReadableDatabase(); 
Cursor cursor = db.rawQuery(loadQuestions, null); 
startManagingCursor(cursor); 
return cursor; 
} 

private void showQuestions(Cursor cursor) { 
// Collect String Values from Query and Display them this part of the code is wokring fine when there is data present. 

QuestionData.java

public class QuestionData extends SQLiteOpenHelper { 
private static final String DATABASE_NAME = "TriviaQuiz.db" ; 
private static final int DATABASE_VERSION = 2; 

public QuestionData(Context ctx) { 
super(ctx, DATABASE_NAME, null, DATABASE_VERSION); 

} 
@Override 
public void onCreate(SQLiteDatabase db) { 
db.execSQL("CREATE TABLE questionlist (_id INTEGER PRIMARY KEY AUTOINCREMENT, QID TEXT, QQuestion TEXT, QAnswer TEXT, QOption1 TEXT, QOption2 TEXT, QOption3 TEXT, QCategoryTagLvl1 TEXT, QCategoryTagLvl2 TEXT, QOptionalTag1 TEXT, QOptionalTag2 TEXT, QOptionalTag3 TEXT, QOptionalTag4 TEXT, QOptionalTag5 TEXT, QTimePeriod TEXT, QDifficultyRating TEXT, QGenderBias TEXT, QAgeBias TEXT, QRegion TEXT, QWikiLink TEXT, QValidationLink1 TEXT, QValidationLink2 TEXT, QHint TEXT, QLastValidation TEXT, QNotes TEXT, QMultimediaType TEXT, QMultimediaLink TEXT, QLastAsked TEXT);"); 

db.execSQL("INSERT INTO questionlist (_id, QID, QQuestion, QAnswer, QOption1, QOption2, QOption3, QCategoryTagLvl1, QCategoryTagLvl2, QOptionalTag1, QOptionalTag2, QOptionalTag3, QOptionalTag4, QOptionalTag5, QTimePeriod, QDifficultyRating, QGenderBias, QAgeBias, QRegion, QWikiLink, QValidationLink1, QValidationLink2, QHint, QLastValidation, QNotes, QMultimediaType, QMultimediaLink, QLastAsked)"+ 
"VALUES (null,'Q00001','Example','Ans1','Q1','Q2','Q3','Q4','','','','','','','','','','','','','','','','','','','','')"); 
} 

@Override 
public void onUpgrade(SQLiteDatabase db, int oldVersion, 
int newVersion) { 
db.execSQL("DROP TABLE IF EXISTS " + TABLE_NAME); 
onCreate(db); 
} 
} 

Irgendwelche Vorschläge überhaupt wäre toll. Ich habe versucht zu debuggen, was darauf hindeutet, dass die Datenbank nicht existiert. Vielen Dank im Voraus für Ihre Unterstützung.

+0

Verwenden Sie bitte die Schaltfläche {}, um Ihre Frage ein wenig zu formatieren. Weiter mehr: Was macht fwrong? woher? Was sind die Fehler, die Sie bekommen? – Nanne

+0

Entschuldigen Sie einfach die Formatierung Ich habe die Frage Aktivität an eine Schaltfläche in der Benutzeroberfläche angehängt, wenn es ausgeführt wird, wird der Bildschirm schwarz und der Force schließen Fehler angezeigt. – Cam

+0

Sie sollten den Fehler und Stacktrace in der Debugging-Ansicht in Eclipse sehen können, diese Informationen wären hilfreich. –

Antwort

0

Ich entfernte das Konstanten-Setup, das eine Großschreibung darin hatte, die woanders nicht referenziert wurde. Ich wusste, dass es etwas einfaches sein würde, aber ich konnte das Problem nicht finden. Danke noch einmal!

Verwandte Themen