sqlite データベースを使用する Android アプリケーションを開発しています。
- 主な問題: *このエラーに直面し続けていますが、この問題の原因がわかりません。コメントをお待ちしております。*
二次的な問題: ユーザーの情報がデータベース内にあるかどうかをアプリケーションで確認する必要がありました。存在しない場合は、システムに何かを機能させたいと考えています。チェック部分はどうするの?以下のようなものを試しました。しかし、そのような列の問題がないため、機能するかどうかはわかりません。
String values[] = helper.get_synccontentByEmailID(SettingConstant.EMAIL); if(!(values[0] == null)){ }
--データベースクラス--
public void onCreate(SQLiteDatabase db) {
db.execSQL("CREATE TABLE synccontent (" +
"tableid INTEGER PRIMARY KEY AUTOINCREMENT, " +
"emailid_sync TEXT " +
"contentid TEXT," +
"contentpath TEXT," +
"filesize TEXT," +
"createdtime TEXT,"+
"createdate TIMESTAMP default current_timestamp);");
}
public String[] get_synccontentByEmailID(String emailid_sync){
SQLiteDatabase myDB = null;
String[] returnMsg = null;
myDB = this.getReadableDatabase();
Cursor c = myDB.rawQuery("SELECT tableid, emailid_sync, contentid, contentpath, filesize, createdtime" +
" from synccontent where emailid_sync='"+emailid_sync+"' ", null);
int emailid_syncColumn = c.getColumnIndex("emailid_sync");
int contentidColumn = c.getColumnIndex("contentid");
int contentpathColumn = c.getColumnIndex("contentpath");
int filesizeColumn = c.getColumnIndex("filesize");
int createdtimeColumn = c.getColumnIndex("createdtime");
if (c.moveToFirst()) {
do {
returnMsg = new String[5];
String contentid = c.getString(contentidColumn);
String contentpath = c.getString(contentpathColumn);
String filesize = c.getString(filesizeColumn);
String createdtime = c.getString(createdtimeColumn);
returnMsg[0] = emailid_sync;
returnMsg[1] = contentid;
returnMsg[2] = contentpath;
returnMsg[3] = filesize;
returnMsg[4] = createdtime;
} while (c.moveToNext());
}
- 主な活動 -
syncButton = (Button) findViewById(R.id.sync_btn);
syncButton.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
String values[] = helper.get_synccontentByEmailID(SettingConstant.EMAIL);
if(!(values[0] == null)){
}
E/AndroidRuntime(4543): android.database.sqlite.SQLiteException: no such column: contentid: , while compiling: SELECT tableid, emailid_sync, contentid, contentpath, filesize, createdtime from wbm_synccontent where emailid_sync='testing@yahoo.com'