public void onClick(View view) {
String dbName = "MYDB.db";
EditText setnameEt = (EditText) findViewById(R.id.setname);
EditText setpasswordEt=(EditText) findViewById(R.id.setpassword);
EditText setkeyfinderEt=(EditText) findViewById(R.id.setkeyfinder);
String setname = setnameEt.getText().toString();
String setpassword = setpasswordEt.getText().toString();
String setkeyfinder = setkeyfinderEt.getText().toString();
int dbMode = Context.MODE_PRIVATE;
SQLiteDatabase db;
db = openOrCreateDatabase(dbName, dbMode, null);
if( setkeyfinder.equals("") || setpassword.equals("") || setname.equals("") )
{
Toast toast = Toast.makeText(MemberRegister.this, "input all blanks.", Toast.LENGTH_SHORT );
toast.show();
}
else
{
Cursor c = db.rawQuery("SELECT name FROM sqlite_master WHERE type='table'", null);
if (c.moveToFirst())
{
for (; ; ) {
Log.e(TAG, "table name:" + c.getString(0));
if (!c.moveToNext())
break;
}
}
String tablecheck="SELECT count(*) FROM sqlite_master WHERE type = 'table' AND name ="+setname+";";
db.execSQL(tablecheck);
if(tablecheck.equals(setname))
{
Toast toast = Toast.makeText(MemberRegister.this, "간단한 토스트메시지", Toast.LENGTH_SHORT );
toast.show();
//페이지 이동
}
else
{
String sql = "CREATE TABLE IF NOT EXISTS " + setname + "( "
+ "_password TEXT PRIMARY KEY, "
+ "keyfinder TEXT, "
+ "category TEXT,"
+ "domain TEXT,"
+ "ids TEXT,"
+ "passwords TEXT"
+ ");";
db.execSQL(sql);
//sql = "insert into " + setname + " (_password,keyfinder) values(" + setpassword + "," + setkeyfinder + ");";
//db.execSQL(sql);
}
}
}
}
);
}
}
로그에는 분명 테이블이 존재한다고 나오는데 인서트나 테이블 조회와 같은 쿼리를 실행하면
no such column 에러가 뜹니다. 이유를 알 수 있을까요??