Android£¨Èý£©Êý¾Ý´æ´¢Ö®ÈýSQLiteǶÈëʽÊý¾Ý¿â
ǰÁ½ÆªÈÕÖ¾ÎÒÒѾ×ܽáÁ˱¾µØÊý¾Ý´æ´¢µÄǰÁ½ÖÖ£ºÎļþºÍÅäÖÃÏî¡£»¹Ê£ÏÂ×îºóÒ»ÖÖÊý¾Ý¿â´æ´¢——SQLite¡£
Ò»¡¢SQLite¼ò½é
ÔÚAndroidƽ̨ÉÏ£¬¼¯³ÉÁËÒ»¸öǶÈëʽ¹ØÏµÐÍÊý¾Ý¿â—SQLite£¬SQLite3Ö§³Ö NULL¡¢INTEGER¡¢REAL£¨¸¡µãÊý×Ö£©¡¢TEXT(×Ö·û´®Îı¾)ºÍBLOB(¶þ½øÖƶÔÏó)Êý¾ÝÀàÐÍ£¬ËäÈ»ËüÖ§³ÖµÄÀàÐÍËäȻֻÓÐÎåÖÖ£¬µ«Êµ¼ÊÉÏsqlite3Ò²½ÓÊÜvarchar(n)¡¢char(n)¡¢decimal(p,s) µÈÊý¾ÝÀàÐÍ£¬Ö»²»¹ýÔÚÔËËã»ò±£´æÊ±»áת³É¶ÔÓ¦µÄÎåÖÖÊý¾ÝÀàÐÍ¡£ SQLite×î´óµÄÌØµãÊÇÄã¿ÉÒÔ±£´æÈκÎÀàÐ͵ÄÊý¾Ýµ½ÈκÎ×Ö¶ÎÖУ¬ÎÞÂÛÕâÁÐÉùÃ÷µÄÊý¾ÝÀàÐÍÊÇʲô¡£ÀýÈ磺¿ÉÒÔÔÚInteger×Ö¶ÎÖдæ·Å×Ö·û´®£¬»òÕßÔÚ²¼¶ûÐÍ×Ö¶ÎÖдæ·Å¸¡µãÊý£¬»òÕßÔÚ×Ö·ûÐÍ×Ö¶ÎÖдæ·ÅÈÕÆÚÐÍÖµ¡£ µ«ÓÐÒ»ÖÖÇé¿öÀýÍ⣺¶¨ÒåΪINTEGER PRIMARY KEYµÄ×Ö¶ÎÖ»ÄÜ´æ´¢64λÕûÊý£¬ µ±ÏòÕâÖÖ×Ö¶ÎÖб£´æ³ýÕûÊýÒÔÍâµÄÊý¾Ýʱ£¬½«»á²úÉú´íÎó¡£ÁíÍ⣬ SQLite ÔÚ½âÎöCREATE TABLE Óï¾äʱ£¬»áºöÂÔ CREATE TABLE Óï¾äÖиúÔÚ×Ö¶ÎÃûºóÃæµÄÊý¾ÝÀàÐÍÐÅÏ¢¡£
¶þ¡¢SQLiteµÄCURD
AndroidÌṩÁËÒ»¸öÃûΪSQLiteDatabaseµÄÀ࣬¸ÃÀà·â×°ÁËһЩ²Ù×÷Êý¾Ý¿âµÄAPI£¬Ê¹ÓøÃÀà¿ÉÒÔÍê³É¶ÔÊý¾Ý½øÐÐÌí¼Ó(Create)¡¢²éѯ(Retrieve)¡¢¸üÐÂ(Update)ºÍɾ³ý(Delete)²Ù×÷£¨ÕâЩ²Ù×÷¼ò³ÆÎªCRUD£©¡£¶ÔSQLiteDatabaseµÄѧϰ£¬ÎÒÃÇÓ¦¸ÃÖØµãÕÆÎÕexecSQL()ºÍrawQuery()·½·¨¡£ execSQL()·½·¨¿ÉÒÔÖ´ÐÐinsert¡¢delete¡¢updateºÍCREATE TABLEÖ®ÀàÓиü¸ÄÐÐΪµÄSQLÓï¾ä£» rawQuery()·½·¨¿ÉÒÔÖ´ÐÐselectÓï¾ä¡£SQLiteDatabase»¹×¨ÃÅÌṩÁ˶ÔÓ¦ÓÚÌí¼Ó¡¢É¾³ý¡¢¸üС¢²éѯµÄ²Ù×÷·½·¨£º insert()¡¢delete()¡¢update()ºÍquery() ¡£ÕâЩ·½·¨Êµ¼ÊÉÏÊǸøÄÇЩ²»Ì«Á˽âSQLÓï·¨µÄ²ËÄñʹÓõ쬶ÔÓÚÊìϤSQLÓï·¨µÄ³ÌÐòÔ±¶øÑÔ£¬Ö±½ÓʹÓÃexecSQL()ºÍrawQuery()·½·¨Ö´ÐÐSQLÓï¾ä¾ÍÄÜÍê³ÉÊý¾ÝµÄÌí¼Ó¡¢É¾³ý¡¢¸üС¢²éѯ²Ù×÷¡£
Èý¡¢SQLiteµÄÊÂÎñ¹ÜÀí
ʹÓÃSQLiteDatabaseµÄbeginTransaction()·½·¨¿ÉÒÔ¿ªÆôÒ»¸öÊÂÎñ£¬³ÌÐòÖ´Ðе½endTransaction() ·½·¨Ê±»á¼ì²éÊÂÎñµÄ±êÖ¾ÊÇ·ñΪ³É¹¦£¬Èç¹ûΪ³É¹¦ÔòÌá½»ÊÂÎñ£¬·ñÔò»Ø¹öÊÂÎñ¡£µ±Ó¦ÓÃÐèÒªÌá½»ÊÂÎñ£¬±ØÐëÔÚ³ÌÐòÖ´Ðе½endTransaction()·½·¨Ö®Ç°Ê¹ÓÃsetTransactionSuccessful() ·½·¨ÉèÖÃÊÂÎñµÄ±ê־Ϊ³É¹¦£¬Èç¹û²»µ÷ÓÃsetTransactionSuccessful() ·½·¨£¬Ä¬ÈÏ»á»Ø¹öÊÂÎñ¡£
Èý¡¢SQLite´´½¨¡¢¸üÐÂÊý¾Ý±í
Èç¹ûÓ¦ÓÃʹÓõ½ÁËSQLiteÊý¾Ý¿â£¬ÔÚÓû§³õ´ÎʹÓÃÈí¼þʱ£¬ÐèÒª´´½¨Ó¦ÓÃʹÓõ½µÄÊý¾Ý¿â±í½á¹¹¼°Ìí¼ÓһЩ³õʼ»¯¼Ç¼£¬ÁíÍâÔÚÈí¼þÉý¼¶µÄʱºò£¬Ò²ÐèÒª
Ïà¹ØÎĵµ£º
sqlite3 *db;
sqlite3_stmt *stat;
char
*zErrMsg = 0;
char
temp[256], FileRoot[256];
char
buffer2[1024]="0";
sprintf(temp, _T("%s"), _T("utf.db")) ......
1¡¢SQLite¼ò½é
¡¡¡¡SQLiteµÚÒ»¸öAlpha°æ±¾µ®ÉúÓÚ2000Äê5ÔÂ. ÖÁ½ñÒѾÓÐ9¸öÄêÍ·ÁË. SQLiteÒ²ÓÀ´ÁËÒ»¸ö°æ±¾ SQLite 3ÒѾ·¢²¼.
¡¡¡¡SQLiteÊÇÒ»¿îÇáÐ͵ÄÊý¾Ý¿â£¬ÊÇ×ñÊØACIDµÄ¹ØÁªÊ½Êý¾Ý¿â¹ÜÀíϵͳ£¬ËüµÄÉè¼ÆÄ¿±êÊÇǶÈëʽµÄ£¬¶øÇÒĿǰÒѾÔںܶàǶÈëʽ²úÆ·ÖÐʹÓÃÁËËü£¬ËüÕ¼ÓÃ×ÊÔ´·Ç³£µÄµÍ£¬ÔÚǶÈëʽÉ豸ÖУ¬¿ÉÄÜÖ»ÐèÒª¼¸°ÙKµ ......
ÔÙ˵ÔÚlinuxϽ¨Á¢.a ºÍµãso
µ½ÍøÕ¾ÏÂÔØ sqlite-amalgamation-3.6.22.tar.gz Õâ¸ö°ü£¬·´ÕýÎÒÏÂÁËsqlite3-3.6.22.bin.gz½âѹºó±àÒë²»ÁË¡£
½âѹ£¬ÔËÐÐ
# ./configure --host=armv5l-linux --prefix=/opt/sqlite3/arm --enable-threadsafe.
......
sqliteÊý¾Ý¿âµÚÈý·½javaÀ©Õ¹°üÏÂÔØµØÖ·£ºhttp://www.zentus.com/sqlitejdbc/
ÓÐ2¸ö°ü£¬Ò»¸öÊÇnested£¨Ç¶ÈëʽµÄ£©£¬Ò»¸öÊÇnative(±¾µØµÄ)¡£
Çø±ðÔÚÓÚ:nested ²»ÐèÒª¶îÍâµÄdllÎļþ£¬µ«ÊÇËÙ¶ÈÂý¡£nativeÐèÒªÒ»¸ö¶îÍâµÄdllÎļþ£¬ËٶȺܿ졣
1.ʹÓÃnested°ü£ºsqlitejdbc-v037-nested.jar
java´úÂ룺
java ´úÂë
packa ......
SQLiteÓô¥·¢Æ÷À´Ìæ´úÍâ¼üÔ¼Êø CREATE TABLE [Category] (
[Pkid] INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
[CategoryName] NVARCHAR(32) NOT NULL,
[CategoryGuid] char(36) UNIQUE NOT NULL,
[CategoryDesc] nvarchar(256) NULL
) C ......