2011-01-15 20 views
-1

SQLiteに情報を追加する際にAndroidアプリに問題があります。私はJava/SQLiteに比較的新しく、SQLiteに関する多くのチュートリアルに従っていますが、実行するためのサンプルコードを手に入れることができましたが、自分のアプリケーションを実行するときにテーブルを作成してデータをインポートすることができません。私は自分のコードを2つのJavaファイルQuestions(Main Program)とQuestionData(ヘルパークラスはデータベースを表す)に含めました。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); 
} 
} 

任意の提案は全く素晴らしいことです。私はデータベースが存在しないことを示唆するデバッグを試みました。ご協力いただきありがとうございます。

+0

質問を少し書式設定するには{}ボタンを使用してください。さらに、何が起こったのでしょうか?どこ?あなたは何を得ているのですか? – Nanne

+0

謝罪はちょうど書式を修正しましたインタフェースのボタンに質問アクティビティが添付されています。画面が黒くなり、強制終了エラーが表示されます。 – Cam

+0

Eclipseのデバッグビューでエラーとスタックトレースを見ることができます。その情報は参考になります。 –

答えて

0

他の場所では引用されていなかった大文字の設定を削除しました。私はそれが何か単純なものになるだろうと分かっていましたが、問題を特定できませんでした。再度、感謝します!

関連する問題