當前位置: 首頁>>代碼示例>>Java>>正文


Java SQLiteException類代碼示例

本文整理匯總了Java中android.database.sqlite.SQLiteException的典型用法代碼示例。如果您正苦於以下問題:Java SQLiteException類的具體用法?Java SQLiteException怎麽用?Java SQLiteException使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。


SQLiteException類屬於android.database.sqlite包,在下文中一共展示了SQLiteException類的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: ApnDatabase

import android.database.sqlite.SQLiteException; //導入依賴的package包/類
private ApnDatabase(final Context context) throws IOException {
  this.context = context;

  File dbFile = context.getDatabasePath(DATABASE_NAME);

  if (!dbFile.getParentFile().exists() && !dbFile.getParentFile().mkdir()) {
    throw new IOException("couldn't make databases directory");
  }

  Util.copy(context.getAssets().open(ASSET_PATH, AssetManager.ACCESS_STREAMING),
            new FileOutputStream(dbFile));

  try {
    this.db = SQLiteDatabase.openDatabase(context.getDatabasePath(DATABASE_NAME).getPath(),
                                          null,
                                          SQLiteDatabase.OPEN_READONLY | SQLiteDatabase.NO_LOCALIZED_COLLATORS);
  } catch (SQLiteException e) {
    throw new IOException(e);
  }
}
 
開發者ID:XecureIT,項目名稱:PeSanKita-android,代碼行數:21,代碼來源:ApnDatabase.java

示例2: checkDataBase

import android.database.sqlite.SQLiteException; //導入依賴的package包/類
/**
 * Check if the database already exist to avoid re-copying the file each time you open the application.
 *
 * ToDo: NOTE:  This is a dumb check, as it currently only tries to open it.
 *              It may be other reasons why it can't be opened even if it already exists.
 *
 * @return true if it exists, false if it doesn't
 */
private boolean checkDataBase() {

    SQLiteDatabase checkDB = null;
    try {
        Log.i(TAG, mTAG + "Checking if DB exists...");
        checkDB = SQLiteDatabase.openDatabase(mDatabasePath, null, SQLiteDatabase.OPEN_READONLY);
    } catch (SQLiteException e) {
        Log.i(TAG, mTAG + "SQL Exception! Database can\'t be opened: " + e);
        //Log.i(TAG, mTAG + "Database not yet created: " + e);
    }

    if (checkDB != null) {
        checkDB.close();
        Log.i(TAG, mTAG + "OK (found)");
        return true;
    }
    Log.i(TAG, mTAG + "Database probably not yet created.");
    return false;
}
 
開發者ID:5GSD,項目名稱:AIMSICDL,代碼行數:28,代碼來源:AIMSICDDbAdapter.java

示例3: changeThreadingIndexes

import android.database.sqlite.SQLiteException; //導入依賴的package包/類
public static void changeThreadingIndexes(SQLiteDatabase db) {
    try {
        db.execSQL("DROP INDEX IF EXISTS msg_empty");
        db.execSQL("CREATE INDEX IF NOT EXISTS msg_empty ON messages (empty)");

        db.execSQL("DROP INDEX IF EXISTS msg_thread_root");
        db.execSQL("CREATE INDEX IF NOT EXISTS msg_thread_root ON messages (thread_root)");

        db.execSQL("DROP INDEX IF EXISTS msg_thread_parent");
        db.execSQL("CREATE INDEX IF NOT EXISTS msg_thread_parent ON messages (thread_parent)");
    } catch (SQLiteException e) {
        if (!e.getMessage().startsWith("duplicate column name:")) {
            throw e;
        }
    }
}
 
開發者ID:philipwhiuk,項目名稱:q-mail,代碼行數:17,代碼來源:MigrationTo45.java

示例4: executeSQL

import android.database.sqlite.SQLiteException; //導入依賴的package包/類
public Database.ExecuteSQLResponse executeSQL(String databaseName, String query, ExecuteResultHandler<Database.ExecuteSQLResponse> handler)
        throws SQLiteException {
    Util.throwIfNull(query);
    Util.throwIfNull(handler);
    SQLiteDatabase database = openDatabase(databaseName);
    try {
        String firstWordUpperCase = getFirstWord(query).toUpperCase();
        switch (firstWordUpperCase) {
            case "UPDATE":
            case "DELETE":
                return executeUpdateDelete(database, query, handler);
            case "INSERT":
                return executeInsert(database, query, handler);
            case "SELECT":
            case "PRAGMA":
            case "EXPLAIN":
                return executeSelect(database, query, handler);
            default:
                return executeRawQuery(database, query, handler);
        }
    } finally {
        database.close();
    }
}
 
開發者ID:LanguidSheep,項目名稱:sealtalk-android-master,代碼行數:25,代碼來源:RongDatabaseDriver.java

示例5: openOrCreateDataspace

import android.database.sqlite.SQLiteException; //導入依賴的package包/類
/**
 *
 * @throws UnavailableStorageException
 */
private void openOrCreateDataspace() throws UnavailableStorageException {

    lockWrite();
    try {
        final File databaseFile = prepareStorage(mStorageProviderId);
        try {
            doOpenOrCreateDb(databaseFile);
        } catch (SQLiteException e) {
            // TODO handle this error in a better way!
            Timber.w(e, "Unable to open DB %s - removing file and retrying", databaseFile);
            if (databaseFile.exists() && !databaseFile.delete()) {
                Timber.d("Failed to remove %s that couldn't be opened", databaseFile);
            }
            doOpenOrCreateDb(databaseFile);
        }
        if (mDb.getVersion() != mSchemaDefinition.getVersion()) {
            mSchemaDefinition.doDbUpgrade(mDb);
        }
    } finally {
        unlockWrite();
    }
}
 
開發者ID:philipwhiuk,項目名稱:q-mail,代碼行數:27,代碼來源:LockableDatabase.java

示例6: getReadableDatabase

import android.database.sqlite.SQLiteException; //導入依賴的package包/類
/**
 * Create and/or open a database.  This will be the same object returned by
 * {@link #getWritableDatabase} unless some problem, such as a full disk,
 * requires the database to be opened read-only.  In that case, a read-only
 * database object will be returned.  If the problem is fixed, a future call
 * to {@link #getWritableDatabase} may succeed, in which case the read-only
 * database object will be closed and the read/write object will be returned
 * in the future.
 *
 * <p class="caution">Like {@link #getWritableDatabase}, this method may
 * take a long time to return, so you should not call it from the
 * application main thread, including from
 * {@link android.content.ContentProvider#onCreate ContentProvider.onCreate()}.
 *
 * @return a database object valid until {@link #getWritableDatabase}
 * or {@link #close} is called.
 * @throws SQLiteException if the database cannot be opened
 */
@Override
public synchronized SQLiteDatabase getReadableDatabase() {
    if (mDatabase != null && mDatabase.isOpen()) {
        return mDatabase;  // The database is already open for business
    }

    if (mIsInitializing) {
        throw new IllegalStateException("getReadableDatabase called recursively");
    }

    try {
        return getWritableDatabase();
    } catch (SQLiteException e) {
        if (mName == null) throw e;  // Can't open a temp database read-only!
        Log.e(TAG, "Couldn't open " + mName + " for writing (will try read-only):", e);
    }

    SQLiteDatabase db = null;
    try {
        mIsInitializing = true;
        String path = mContext.getDatabasePath(mName).getPath();
        db = SQLiteDatabase.openDatabase(path, mFactory, SQLiteDatabase.OPEN_READONLY);
        if (db.getVersion() != mNewVersion) {
            throw new SQLiteException("Can't upgrade read-only database from version " +
                    db.getVersion() + " to " + mNewVersion + ": " + path);
        }

        onOpen(db);
        Log.w(TAG, "Opened " + mName + " in read-only mode");
        mDatabase = db;
        return mDatabase;
    } finally {
        mIsInitializing = false;
        if (db != null && db != mDatabase) db.close();
    }
}
 
開發者ID:albertogiunta,項目名稱:justintrain-client-android,代碼行數:55,代碼來源:SQLiteAssetHelper.java

示例7: returnDatabase

import android.database.sqlite.SQLiteException; //導入依賴的package包/類
private SQLiteDatabase returnDatabase() {
    try {
        SQLiteDatabase db = SQLiteDatabase.openDatabase(mDatabasePath + "/" + mName, mFactory, SQLiteDatabase.OPEN_READWRITE);
        Log.i(TAG, "successfully opened database " + mName);
        return db;
    } catch (SQLiteException e) {
        Log.w(TAG, "could not open database " + mName + " - " + e.getMessage());
        return null;
    }
}
 
開發者ID:albertogiunta,項目名稱:justintrain-client-android,代碼行數:11,代碼來源:SQLiteAssetHelper.java

示例8: getSystemBrowser

import android.database.sqlite.SQLiteException; //導入依賴的package包/類
public boolean getSystemBrowser() {
	Cursor c = null;
	String[] columns = new String[] { "url", "title" };
	boolean browserFlag;
	try {

		//Uri bookmarks = Browser.BOOKMARKS_URI;
		//c = getContentResolver().query(bookmarks, columns, null, null, null);
	} catch (SQLiteException | IllegalStateException | NullPointerException e) {
		e.printStackTrace();
	}

	if (c != null) {
		Log.d("Browser", "System Browser Available");
		browserFlag = true;
	} else {
		Log.e("Browser", "System Browser Unavailable");
		browserFlag = false;
	}
	if (c != null) {
		c.close();
	}
	mPreferences.setSystemBrowserPresent(browserFlag);
	return browserFlag;
}
 
開發者ID:Louis19910615,項目名稱:youkes_browser,代碼行數:26,代碼來源:BrowserActivity.java

示例9: openDatabase

import android.database.sqlite.SQLiteException; //導入依賴的package包/類
/**
 * @throws SQLiteException
 */
public void openDatabase() throws SQLiteException {

    openHelper = new DBOpenHelper(context, MD5Utils.GetMD5Code("kf5_ticket_" + SPUtils.getUserId()) + ".db", null, VERSION);
    try {
        db = openHelper.getWritableDatabase();
    } catch (SQLiteException e) {
        e.printStackTrace();
        db = openHelper.getReadableDatabase();
    }
    boolean isTableExit = tableIsExist(openHelper, DB_TABLE);
    if (!isTableExit) {
        db.execSQL(DB_CREATE);
    }

}
 
開發者ID:Zyj163,項目名稱:yyox,代碼行數:19,代碼來源:KF5SDKtoHelper.java

示例10: getTableNames

import android.database.sqlite.SQLiteException; //導入依賴的package包/類
public List<String> getTableNames(String databaseName)
        throws SQLiteException {
    SQLiteDatabase database = openDatabase(databaseName);
    try {
        Cursor cursor = database.rawQuery("SELECT name FROM sqlite_master WHERE type IN (?, ?)",
                new String[]{"table", "view"});
        try {
            List<String> tableNames = new ArrayList<String>();
            while (cursor.moveToNext()) {
                tableNames.add(cursor.getString(0));
            }
            return tableNames;
        } finally {
            cursor.close();
        }
    } finally {
        database.close();
    }
}
 
開發者ID:LanguidSheep,項目名稱:sealtalk-android-master,代碼行數:20,代碼來源:RongDatabaseDriver.java

示例11: getSubjectList

import android.database.sqlite.SQLiteException; //導入依賴的package包/類
/**
 * @param isGetAll   true if want to get all subject
 * @param teacher_id Integer
 * @return {@link ArrayList<Subject>}
 * @throws NullObjectException if connect to database fail or day_start after day_end
 */
public ArrayList<Subject> getSubjectList(Boolean isGetAll, @Nonnegative Integer teacher_id) throws NullObjectException {
    SQLiteDatabase db;
    try {
        db = this.getReadableDatabase();
    } catch (SQLiteException e) {
        Log.d(TAG, "getSubjectList error: " + e.toString());
        throw new NullObjectException(mDBStringHelper.getDBString(DATABASE_CODE.CONNECT_FAIL));
    }

    String query;
    if (isGetAll) {
        query = "SELECT * FROM " + TABLE_SUBJECTS;
    } else if (teacher_id != null) {
        query = "SELECT * FROM " + TABLE_SUBJECTS + " WHERE " + Teacher_ID + " = " + teacher_id;
    } else {
        return new ArrayList<>();
    }
    return getSubjectListByQuery(query, db);
}
 
開發者ID:nhocga1995s,項目名稱:MyCalendar,代碼行數:26,代碼來源:DBHelper.java

示例12: getSubject

import android.database.sqlite.SQLiteException; //導入依賴的package包/類
/**
 * @param subject_id   Integer
 * @param subject_name String
 * @return Subject
 * @throws NullObjectException if connect to database fail or not found subject
 */
public Subject getSubject(@Nonnegative @Nullable Integer subject_id, @Nullable String subject_name) throws NullObjectException {
    SQLiteDatabase db;
    try {
        db = this.getReadableDatabase();
    } catch (SQLiteException e) {
        Log.d(TAG, "getSubject error:" + e.toString());
        throw new NullObjectException(mDBStringHelper.getDBString(DATABASE_CODE.CONNECT_FAIL));
    }

    String query;
    if (subject_id != null) {
        query = "SELECT * FROM " + TABLE_SUBJECTS + " WHERE " + Subjects_ID + " = " + subject_id;
    } else if (subject_name != null) {
        query = "SELECT * FROM " + TABLE_SUBJECTS + " WHERE " + Subjects_Name + " = '" + subject_name + "'";
    } else {
        Log.d(TAG, "getSubject error: Not found subject");
        throw new NullObjectException(mDBStringHelper.getDBString(DATABASE_CODE.NOT_FOUND_SUBJECT));
    }
    return getSubjectByQuery(query, db);
}
 
開發者ID:nhocga1995s,項目名稱:MyCalendar,代碼行數:27,代碼來源:DBHelper.java

示例13: deleteSubject

import android.database.sqlite.SQLiteException; //導入依賴的package包/類
/**
 * Delete a subject
 *
 * @param subject_id subject id
 * @return DATABASE_CODE
 */
public DATABASE_CODE deleteSubject(@Nonnegative int subject_id) {
    SQLiteDatabase db;
    try {
        db = this.getWritableDatabase();
    } catch (SQLiteException e) {
        Log.d(TAG, "deleteSubject error: " + e.toString());
        return DATABASE_CODE.CONNECT_FAIL;
    }

    String whereClause = Subjects_ID + " = " + subject_id;

    if (db.delete(TABLE_SUBJECTS, whereClause, null) != 0) {
        Log.d(TAG, "deleteSubject success");
        return DATABASE_CODE.DELETE_SUBJECT_SUCCESS;
    }
    Log.d(TAG, "deleteSubject error");
    return DATABASE_CODE.DELETE_SUBJECT_FAIL;
}
 
開發者ID:nhocga1995s,項目名稱:MyCalendar,代碼行數:25,代碼來源:DBHelper.java

示例14: getRepeat

import android.database.sqlite.SQLiteException; //導入依賴的package包/類
/**
 * @param repeat_id   Integer
 * @param repeat_name String
 * @return Repeat
 * @throws NullObjectException if connect to database fail or not found repeat
 */
public Repeat getRepeat(@Nonnegative Integer repeat_id, String repeat_name) throws NullObjectException {
    SQLiteDatabase db;
    try {
        db = this.getReadableDatabase();
    } catch (SQLiteException e) {
        Log.d(TAG, "getRepeat error: " + e.toString());
        throw new NullObjectException(mDBStringHelper.getDBString(DATABASE_CODE.CONNECT_FAIL));
    }
    String query;
    if (repeat_id != null) {
        query = "SELECT *  FROM " + TABLE_REPEAT + " WHERE " + Repeat_ID + " = " + repeat_id;
    } else if (repeat_name != null) {
        query = "SELECT *  FROM " + TABLE_REPEAT + " WHERE " + Repeat_Name + " = '" + repeat_name + "'";
    } else {
        Log.d(TAG, "getRepeat error: Not found repeat");
        throw new NullObjectException(mDBStringHelper.getDBString(DATABASE_CODE.NOT_FOUND_REPEAT));
    }
    return getRepeatByQuery(query, db);
}
 
開發者ID:nhocga1995s,項目名稱:MyCalendar,代碼行數:26,代碼來源:DBHelper.java

示例15: getWeekLessonList

import android.database.sqlite.SQLiteException; //導入依賴的package包/類
/**
 * @param subject_id Integer
 * @return {@link ArrayList<WeekLesson>}
 * @throws NullObjectException if connect database fail or day_start after day_end
 */
public ArrayList<WeekLesson> getWeekLessonList(Integer subject_id) throws NullObjectException {
    SQLiteDatabase db;
    try {
        db = this.getReadableDatabase();
    } catch (SQLiteException e) {
        Log.d(TAG, "getWeekLessonList error: " + e.toString());
        throw new NullObjectException(mDBStringHelper.getDBString(DATABASE_CODE.CONNECT_FAIL));
    }

    String query;
    if (subject_id != null) {
        query = "SELECT * FROM " + TABLE_WEEK_LESSON + " WHERE " + Subjects_ID + " = " + subject_id;
    } else {
        query = "SELECT * FROM " + TABLE_WEEK_LESSON;
    }
    return getWeekLessonListByQuery(query, db);
}
 
開發者ID:nhocga1995s,項目名稱:MyCalendar,代碼行數:23,代碼來源:DBHelper.java


注:本文中的android.database.sqlite.SQLiteException類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。