萬萬沒有想到sqlite模組在多線程中有問題,只能被建立sqlite串連的線程使用,其他線程根本就不能使用!否則必然報錯誤,太噁心了。現在看來唯一的辦法是在每個線程中都建立一個串連,每個線程自己操作資料庫。這個每個線程中的串連,可以用串連池的方式事先建立好,也可以每次操作的時候重建立立。 由此看來,當在python中要使用嵌入式資料庫就一定要考慮並發、多線程的情況,這方面sqlite實在是不怎麼樣。那剩下的選擇就是要麼使用沒有sql語言支援的bsddb模組,要麼使用metakit
上次我向大家介紹了SQLite的基本資料和使用過程,相信朋友們對SQLite已經有所瞭解了,那今天呢,我就和大家分享一下在Android中如何使用SQLite。現在的主流行動裝置像Android、iPhone等都使用SQLite作為複雜資料的儲存引擎,在我們為行動裝置開發應用程式時,也許就要使用到SQLite來儲存我們大量的資料,所以我們就需要掌握行動裝置上的SQLite開發技巧。對於Android平台來說,系統內建了豐富的API來供開發人員操作SQLite,我們可以輕鬆的完成對資料的存取。一
一、首先建立SQLiteOpenHelper的子類。package com.tao.sqlitedb;import android.content.Context;import android.database.sqlite.SQLiteDatabase;import android.database.sqlite.SQLiteOpenHelper;public class DBOpenHelper extends SQLiteOpenHelper{private static String
1、資料類型的問題SQLite內部只支援NULL、INTEGER、REAL(浮點數)、TEXT(文本)和BLOB(大二進位對象)這5種資料類型,但實際上SQLite完全可以接受varchar(n)、char(n)、decimal(p,s)等資料類型,只不過SQLite會在原酸或儲存時將他們轉換為上面5種資料類型中相應的類型。除此之外,SQLite還有一個特點:它允許把各種類型的資料儲存到任何類型欄位中,開發人員可以不用關心聲明該欄位所使用的資料類型。例如程式可以把字串類型的值存入到INTEGER
最近在使用sqlite3,對資料庫操作部分其實和操作其他資料庫一樣都是使用sql語句來完成。如果你剛使用sqlite3的話,你可能會發現路徑中含有中文字元,那麼就開啟失敗,這主要是因為編碼方式的原因。sqlite3使用utf8,utf16等格式,但是我們本地的編碼並不是這樣的。你從晚上搜尋一下很快就能找到如何將我們提供的字元型轉換成utf3格式的代碼。他們擷取會給出一串類似的代碼。我在這裡提供一種使用win
-------------------------------------------------------------------------------- (1) 如何建立自增欄位? 簡單的回答:一個聲明為 INTEGER PRIMARY KEY 的欄位將自動增加。 這裡是詳細的答案: 從 SQLite 的 2.3.4 版本開始,如果你將一個表中的一個欄位聲明為 INTEGER PRIMARY KEY,那麼無論你何時向該表的該欄位插入一個 NULL 值,這個 NULL
這一章我們來學習Android資料庫SQLite,還是接上一章的,對於唐僧師徙去西天,三個徙弟得要殺妖怪啊,那得有個匯總啊,有個記數啊,這裡我們就用SQLite來儲存各徙弟殺死妖怪的數量,OK,上main.xml<?xml version="1.0" encoding="utf-8"?><LinearLayout
介紹:安卓預設的資料是SQLite,但SQLite3.6.19之前是不支援外鍵的,如果有兩張表需要關聯,用外鍵是最省事的,但不支援的話怎麼辦呢?這裡就有一個解決辦法,就是用事務將兩張表關聯起來,並且最後產生一張視圖。現有兩張表EmployeesDept視圖ViewEmps:顯示僱員資訊和他所在的部門建立資料庫自訂一個輔助類繼承SQLiteOpenHelper類1.onCreate(SQLiteDatabase
String[] selectionArgs = new String[]{weiboFlag};Cursor cursor = db.rawQuery("select * from "+ SqliteHelper.TABLE_NAME[1] + " where " + WeiboUserInfo.FLAG+ "=?", selectionArgs);在參數裡面再產生string[]和在外面
1、.back ?DB? FILE 備份DB(預設為main)到檔案2、.bail ON|OFF 遇到一個錯誤即停止,該值預設為OFF3、.databases 列舉附加到資料庫的資料庫名和檔案名稱4、.dump ?TABLE? ... 用SQL文字格式設定列舉資料庫,如果指定TABLE,僅僅列舉匹配的表,比如類型TABLE5、.echo ON|OFF 設定echo的狀態為ON或者OFF6、.exit 退出程式7、.explain ?ON|OFF?
SQLite是一款輕型的資料庫,它的設計目標是嵌入式的,而且目前已經在很多嵌入式產品中使用了它,它佔用資源非常的低,在嵌入式裝置中,可能只需要幾百K的記憶體就夠了。它能夠支援Windows/Linux/Unix等等主流的作業系統,同時能夠跟很多程式語言相結合,比如Tcl、PHP、Java等,還有ODBC介面,同樣比起Mysql、PostgreSQL這兩款開源世界著名的資料庫管理系統來講,它的處理速度比他們都快。 輕型資料庫SQLite結合PHP的開發SQLite是一款輕型的資料庫,它的設計目標是
SQLite GUI管理工具篩選記SharpPlus Sqlite Developer 最近崩潰越來越頻繁,於是索性另找一款同類軟體來替換:功能最強最全的是 SQLite Maestro, 想要的功能都有,不想要的功能也有一堆^o^, 缺點是對Unicode支援欠佳,中文有亂碼。其次是 SQLite Expert Professional, 功能和 SQLite Maestro 很類似,缺點也類似,只好放棄:(接著試了下免費的 SQLiteSpy,
SQLite是一種轉為嵌入式裝置設計的輕型資料庫,其只有五種資料類型,分別是: NULL: 空值 INTEGER: 整數 REAL: 浮點數 TEXT: 字串 BLOB:
android開發之SQLite資料庫儲存方式簡介: SQLite 是一款非常流行的嵌入式資料庫,它支援 SQL 查詢,並且只用很少的記憶體。Android 在運行時整合了 SQLite,所以每個 Android 應用程式都可以使用 SQLite 資料庫。對數熟悉 SQL 的開發人員來時,使用 SQLite 相當簡單。可以,由於 JDBC 不適合手機這種記憶體受限裝置,所以 Android 開發人員需要學習新的 API 來使用 SQLite。本文主要講解 SQLite 在 Android
大家都知道用.net開發的程式一般都是使用Sql server資料庫。但是在一些小項目上,卻不適合。一來是沒有必要為小項目而裝sql server,二來是sql server的license太貴,不適合小項目使用。 一般的小項目我推薦使用MySql,Access和Sqlite。 Access在Xp以前的系統中可以直接使用,MySql在windows下需要一個30M的安裝包或是一個10多M的本地檔案包。以前我一直用Access,但是近來我發現Sqlite這個資料庫,感覺很好。
這幾天學習了一下資料庫的有關知識,發現使用SQLiteOpenHelper這個類還是挺好的,有以下幾點要注意的:1、這是一個抽象類別,必須自己寫一個類繼承它;2、這個類必須要寫建構函式;3、onCreate函數只有在第一次建立資料庫的時候才會調用!!!!我把建立表的語句寫在這個函數裡面,後來要改變這個表,只是把代碼改了。。發現根本改變不了!!折騰了超級長時間!!我在這裡加了Log語句,發現根本沒有執行,後來就又建立了一個資料庫就可以了。。想想也是,一個資料庫建好的話,也有內容了,怎麼能夠輕易的改
sqlite是非常著名的開源嵌入式資料庫軟體,它可以嵌入到其他程式中使用,並且提供SQL介面用來查詢,非常方便。它的官方網站為http://www.sqlite.org。 windows版本的python2.5已經內建了sqlite3這個模組,是可以直接使用的。python的資料庫模組有統一的介面標準,所以資料庫操作都有統一的模式,基本上都是下面幾步(假設資料庫模組名為db):1. 用db.connect建立資料庫連接,假設連線物件為conn2.
android系統內嵌了SQLite資料庫,優點是處理速度快,佔用記憶體少在android應用中,圍繞著資料庫的操作主要是通過SQLiteDatabase來完成的,該類封裝了以下方法:方法用途execSQL(sql)執行sql指令碼,通常用來建立或管理資料庫表格rawQuery(sql,selectionArgs)執行select查詢操作(sql語句的方式)query(..)執行select查詢操作(api的方式)insert(table,nullColumnHack,values)向指定tab
首先說明參考了網路上的一個常規的代碼,但實際使用中遇到不少的問題,先把常規使用方式粘貼如下:#include <QtCore/QCoreApplication> #include <QtSql> #include <QTextCodec> int main(int argc, char *argv[]){ QCoreApplication a(argc, argv);
上一節從網路上找了一個一般的樣本給大家,下面將逐步修改代碼將其變為常規開發中可用的可複用代碼。首先說下上面的代碼在本人實際使用過程中遇到的問題及如何結果1、建立程式後提示“QSqlDatabase: No such file or directory”