中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何正確的把數據插入到數據庫中

發布時間:2021-11-30 17:12:15 來源:億速云 閱讀:663 作者:柒染 欄目:數據庫

這篇文章給大家介紹如何正確的把數據插入到數據庫中,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

把數據放入數據庫

通過把ContentValues對象傳入instert()方法把數據插入數據庫:

// Gets the data repository in write mode 
SQLiteDatabase db = mDbHelper.getWritableDatabase(); 
 
// Create a new map of values, where column names are the keys 
ContentValues values = new ContentValues(); 
values.put(FeedReaderContract.FeedEntry.COLUMN_NAME_ENTRY_ID, id); 
values.put(FeedReaderContract.FeedEntry.COLUMN_NAME_TITLE, title); 
values.put(FeedReaderContract.FeedEntry.COLUMN_NAME_CONTENT, content); 
 
// Insert the new row, returning the primary key value of the new row 
long newRowId; 
newRowId = db.insert( 
         FeedReaderContract.FeedEntry.TABLE_NAME, 
         FeedReaderContract.FeedEntry.COLUMN_NAME_NULLABLE, 
         values);

insert()方法的第一個參數是表名。第二個參數提供了框架中的一個列名,在ContentValues的值是空的時候,框架會向表中插入NULL值(如果這個參數是“null”,那么當沒有值時,框架不會向表中插入一行。

從數據庫中讀取數據

要從數據庫中讀取數據,就要使用query()方法,你需要給這個方法傳入選擇條件和你想要獲取數據的列。查詢結果會在Cursor對象中被返回。

SQLiteDatabase db = mDbHelper.getReadableDatabase(); 
 
// Define a projection that specifies which columns from the database 
// you will actually use after this query. 
String[] projection = { 
    FeedReaderContract.FeedEntry._ID, 
    FeedReaderContract.FeedEntry.COLUMN_NAME_TITLE, 
    FeedReaderContract.FeedEntry.COLUMN_NAME_UPDATED, 
    ... 
    }; 
 
// How you want the results sorted in the resulting Cursor 
String sortOrder = 
    FeedReaderContract.FeedEntry.COLUMN_NAME_UPDATED + " DESC"; 
 
Cursor c = db.query( 
    FeedReaderContract.FeedEntry.TABLE_NAME,  // The table to query 
    projection,                               // The columns to return 
    selection,                                // The columns for the WHERE clause 
    selectionArgs,                            // The values for the WHERE clause 
    null,                                     // don't group the rows 
    null,                                     // don't filter by row groups 
    sortOrder                                 // The sort order 
    );

使用Cursor對象的移動方法來查看游標中的一行數據,在開始讀取數據之前必須先調用這個方法。通常,應該從調用moveToFirst()方法開始,它會把讀取數據的位置放到結果集中第一實體。對于每一行,你可以通過調用Cursor對象的相應的get方法來讀取列的值,如果getString()或getLong()方法。對于每個get方法,你必須把你希望的列的索引位置傳遞給它,你可以通過調用getColumnIndex()或getColumnIndexOrThrow()方法來獲取列的索引。例如:

cursor.moveToFirst(); 
long itemId = cursor.getLong( 
    cursor.getColumnIndexOrThrow(FeedReaderContract.FeedEntry._ID) 
);

從數據庫中刪除數據

要從一個表中刪除行數據,你需要提供標識行的選擇條件。數據API為創建選擇條件提供了一種機制,它會防止SQL注入。這中機制把選擇條件分成了選擇條件和選擇參數。條件子句定義了要查看的列,并且還允許你使用組合列來進行篩選。參數是用于跟條件綁定的、用戶篩選數據的值。因為這樣不會導致像SQL語句一樣的處理,所以它避免了SQL注入。

// Define 'where' part of query. 
String selection = FeedReaderContract.FeedEntry.COLUMN_NAME_ENTRY_ID + " LIKE ?"; 
// Specify arguments in placeholder order. 
String[] selelectionArgs = { String.valueOf(rowId) }; 
// Issue SQL statement. 
db.delete(table_name, selection, selectionArgs);

更新數據庫

當你需要編輯數據庫值的時候,請使用update()方法。

這個方法在更新數據時會把insert()方法中內容值的語法跟delete()方法中的where語法結合在一起。

SQLiteDatabase db = mDbHelper.getReadableDatabase(); 
 
// New value for one column 
ContentValues values = new ContentValues(); 
values.put(FeedReaderContract.FeedEntry.COLUMN_NAME_TITLE, title); 
 
// Which row to update, based on the ID 
String selection = FeedReaderContract.FeedEntry.COLUMN_NAME_ENTRY_ID + " LIKE ?"; 
String[] selelectionArgs = { String.valueOf(rowId) }; 
 
int count = db.update( 
    FeedReaderDbHelper.FeedEntry.TABLE_NAME, 
    values, 
    selection, 
    selectionArgs);

關于如何正確的把數據插入到數據庫中就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

黑河市| 开化县| 乌拉特中旗| 五峰| 佛坪县| 平安县| 营口市| 五原县| 堆龙德庆县| 开平市| 汉寿县| 会宁县| 西吉县| 湾仔区| 犍为县| 绥棱县| 长沙市| 同仁县| 瑞安市| 乐陵市| 吴堡县| 英吉沙县| 临清市| 潢川县| 文昌市| 东莞市| 文山县| 皮山县| 唐海县| 礼泉县| 万宁市| 东平县| 新民市| 阿克陶县| 聂荣县| 措美县| 卢氏县| 定州市| 天水市| 樟树市| 额敏县|