在Android应用程序中检查本地数据库时出错

时间:2012-07-03 10:53:53

标签: android

我正在开发一个Android应用程序,其中我有一个本地数据库。我希望如果用户已经输入药物名称说a.Then再次我去edittext并键入一个。它不应该添加到本地数据库,怎么做

我试图关注此链接

Insert if not exists?

任何人都可以指导我

由于 图莎尔

2 个答案:

答案 0 :(得分:1)

试试这种方式......它可以帮到你。

String sql = "select * from "
                + TABLE_NAME + " WHERE placeId = '" + placeId + "'"; 
        Cursor cursorinfo = null; 
        try {
            database = databaseHelper.getReadableDatabase();
            cursorinfo = database.rawQuery(sql, null);
        } catch (Exception ex) {
            ex.printStackTrace();
        }

if (cursorinfo.moveToFirst()) {
            try {
                ///Already Exist data..
            } finally {
                database.close();
                cursorinfo.close();
            }

        } else {
            database = databaseHelper.getWritableDatabase();
            try {
                database.insert(TABLE_NAME, "", values);
            } finally {
                database.close();
                cursorinfo.close();
            }
        }

谢谢..

答案 1 :(得分:1)

您只需要检查您的Record是否已经在桌面上,并且您已经按照了正确的答案,我不知道为什么您无法做到这一点,这就是您需要做的全部事情

Cursor cursor = database.query(tableName, null, "mediName="+editTextValue, null, null, null, null); 
boolean exists = (cursor.getCount() > 0); 
cursor.close(); 

if(!exists)
{
    database.insert(DATABASE_TABLE, null, updateValues); 
}
else
{
    // Record Already there.
}