SQLite3 C/C++ ¿ª·¢½Ó¿Ú¼ò½é£¨APIº¯Êý£©
SQLite3ÊÇSQLiteÒ»¸öȫеİ汾,ËüËäÈ»ÊÇÔÚSQLite 2.8.13µÄ´úÂë»ù´¡Ö®ÉÏ¿ª·¢µÄ,µ«ÊÇʹÓÃÁ˺Í֮ǰµÄ°æ±¾²»¼æÈݵÄÊý¾Ý¿â¸ñʽºÍAPI. SQLite3ÊÇΪÁËÂú×ãÒÔϵÄÐèÇó¶ø¿ª·¢µÄ:
Ö§³ÖUTF-16±àÂë.
Óû§×Ô¶¨ÒåµÄÎı¾ÅÅÐò·½·¨.
¿ÉÒÔ¶ÔBLOBs×ֶν¨Á¢Ë÷Òý.
Òò´ËΪÁËÖ§³ÖÕâÐ©ÌØÐÔÎҸıäÁËÊý¾Ý¿âµÄ¸ñʽ,½¨Á¢ÁËÒ»¸öÓë֮ǰ°æ±¾²»¼æÈݵÄ3.0°æ. ÖÁÓÚÆäËûµÄ¼æÈÝÐԵĸıä,ÀýÈçȫеÄAPIµÈµÈ,¶¼½«ÔÚÀíÂÛ½éÉÜÖ®ºóÏòÄã˵Ã÷,ÕâÑù¿ÉÒÔʹÄã×î¿ìµÄÒ»´ÎÐÔ°ÚÍѼæÈÝÐÔÎÊÌâ.
3.0°æµÄºÍ2.X°æµÄAPI·Ç³£ÏàËÆ,µ«ÊÇÓÐÒ»Ð©ÖØÒªµÄ¸Ä±äÐèҪעÒâ. ËùÓÐAPI½Ó¿Úº¯ÊýºÍÊý¾Ý½á¹¹µÄǰ׺¶¼ÓÉ"sqlite_
"¸ÄΪÁË"sqlite3_
". ÕâÊÇΪÁ˱ÜÃâͬʱʹÓÃSQLite 2.XºÍSQLite 3.0ÕâÁ½¸ö°æ±¾µÄʱºò·¢ÉúÁ´½Ó³åÍ».
ÓÉÓÚ¶ÔÓÚCÓïÑÔÓ¦¸ÃÓÃʲôÊý¾ÝÀàÐÍÀ´´æ·ÅUTF-16±àÂëµÄ×Ö·û´®²¢Ã»ÓÐÒ»ÖµĹ淶. Òò´ËSQLiteʹÓÃÁËÆÕͨµÄvoid* ÀàÐÍÀ´Ö¸ÏòUTF-16±àÂëµÄ×Ö·û´®. ¿Í»§¶ËʹÓùý³ÌÖпÉÒÔ°Ñvoid*Ó³Éä³ÉÊʺÏËûÃǵÄϵͳµÄÈκÎÊý¾ÝÀàÐÍ.
2.0 C/C++ ½Ó¿Ú
SQLite 3.0Ò»¹²ÓÐ83¸öAPIº¯Êý,´ËÍ⻹ÓÐһЩÊý¾Ý½á¹¹ºÍÔ¤¶¨Òå(#defines). (ÍêÕûµÄAPI½éÉÜÇë²Î¿´ÁíÒ»·ÝÎĵµ.)
²»¹ýÄãÃÇ¿ÉÒÔ·ÅÐÄ,ÕâЩ½Ó¿ÚʹÓÃÆðÀ´²»»áÏñËüµÄÊýÁ¿Ëù°µÊ¾µÄÄÇô¸´ÔÓ. ×î¼òµ¥µÄ³ÌÐòÈÔȻʹÓÃÈý¸öº¯Êý¾Í¿ÉÒÔÍê³É: sqlite3_open(),
sqlite3_exec(), ºÍ sqlite3_close().
ÒªÊÇÏë¸üºÃµÄ¿ØÖÆÊý¾Ý¿âÒýÇæµÄÖ´ÐÐ,¿ÉÒÔʹÓÃÌṩµÄsqlite3_prepare()º¯Êý°ÑSQLÓï¾ä±àÒë³É×Ö½ÚÂë,È»ºóÔÚʹÓÃ
sqlite3_step()º¯ÊýÀ´Ö´ÐбàÒëºóµÄ×Ö½ÚÂë. ÒÔsqlite3_column_¿ªÍ·µÄÒ»×éAPIº¯ÊýÓÃÀ´»ñÈ¡²éѯ½á¹û¼¯ÖеÄÐÅÏ¢.
Ðí¶à½Ó¿Úº¯Êý¶¼ÊdzɶԳöÏÖµÄ,ͬʱÓÐUTF-8ºÍUTF-16Á½¸ö°æ±¾. ²¢ÇÒÌṩÁËÒ»×麯ÊýÓÃÀ´Ö´ÐÐÓû§×Ô¶¨ÒåµÄSQLº¯ÊýºÍÎı¾ÅÅÐòº¯Êý.
2.1 ÈçºÎ´ò¿ª¹Ø±ÕÊý¾Ý¿â
typedef struct sqlite3 sqlite3;
int sqlite3_open(const char*, sqlite3**);
int sqlite3_open16(const void*, sqlite3**);
int sqlite3_close(sqlite3*);
const char *sqlite3_errmsg(sqlite3*);
const void *sqlite3_errmsg16(sqlite3*);
int sqlite3_errcode(sqlite3*);
sqlite3_open() º¯Êý·µ»ØÒ»¸öÕûÊý´íÎó´úÂë,¶ø²»ÊÇÏñµÚ¶þ°æÖÐÒ»Ñù·µ»ØÒ»¸öÖ¸Ïòsqlite3½á¹¹ÌåµÄÖ¸Õë.
sqlite3_open() ºÍ sqlite3_open16() µÄ²»Í¬Ö®´¦ÔÚÓÚsqlite3_open16()
ʹÓÃUTF-16±àÂë(ʹÓñ¾µØÖ÷»ú×Ö½Ú˳Ðò)´«µÝÊý¾Ý¿âÎļþÃû. Èç¹ûÒª´´½¨ÐÂÊý¾Ý¿â, sqlite3_open16()
½«ÄÚ²¿
Ïà¹ØÎĵµ£º
·Ò룺cn-cuckoo | 2010-01-10 12:05:43 | ÔĶÁ129 | À´Ô´
ÃæÊÔǰ¶Ë¹¤³Ìʦ¶ÔÎÒÀ´ËµÊÇÒ»¼þ·Ç³£ÓÐÒâ˼µÄÊ£¬ÒòÎªÃæÊÔ¹ý³ÌºÜ´ó³Ì¶ÈÉÏÒ²ÊÇ×ÔÎÒÌáÉýµÄ¹ý³Ì¡£ÎÞÂÛ´ó¹«Ë¾»¹ÊÇС¹«Ë¾£¬Ö®ËùÒÔÔÚÈçºÎÕÐÆ¸µ½ÕæÕýÓÐÄÜÁ¦µÄǰ¶Ë¹¤³Ìʦ·½Ãæ»áÓöµ½Í¬ÑùµÄÎÊÌ⣬¾ÍÊÇÒòΪ¸ºÔðÕÐÆ¸µÄÄÇЩÈ˲»ÖªµÀ×Ô¼º¹«Ë¾ÐèҪʲôÑùµÄÈË£¬½á¹ûÎÊÎÊÌâʱҲÎʲ»µ ......
ÎÄռǼÁË×÷ÕßÔÚS3C2440¿ª·¢°åÉÏʵÏÖ°´¼üµãÁÁLEDÇý¶¯¿ª·¢µÄÏêϸ¹ý³Ì£¬»¹¼Ç¼ÁËһЩÈÝÒ׳öÏֵĴíÎó£¬ÒÔ¼°Ôõô½â¾öÕâЩ´íÎó¡£
Ò»¡¢Çý¶¯¿ª·¢Á÷³Ì
LinuxÇý¶¯¿ª·¢²»Í¬ÓÚÓ¦ÓóÌÐòµÄ¿ª·¢¡£Çý¶¯¿ª·¢ÊÇÖ±½ÓºÍÓ²¼þ´ò½»µÀµÄ£¬Í¨¹ý¶ÔÓ²¼þµÄ²Ù×÷¸øÓ¦ÓóÌÐòÌṩһЩ½Ó¿Úº¯Êý£¬Ê¹µÃÓ¦ÓóÌÐòÄܹ»&l ......
2010ÄêSQLiteѧϰ±Ê¼ÇÖ®¶þ
Ò».½¨Á¢Êý¾Ý¿â
sqlite3.exe test.db
¶þ.Ë«»÷sqlite-3_6_16Ŀ¼ÏµijÌÐòsqlite3.exe£¬¼´¿ÉÔËÐÐ
Èý.Í˳ö
.exit
»òÕß
.quit
ËÄ.SQLiteÖ§³ÖÈçÏÂ5ÖÖÊý¾ÝÀàÐÍ
1.NULL£º¿ÕÖµ¡£
2.INTEGER£º´ø·ûºÅµÄÕûÐÍ£¬¾ßÌåÈ¡¾öÓдæÈëÊý×ֵķ¶Î§´óС¡£
3.REAL£º¸¡µãÊý×Ö£¬´æ´¢Îª8-byte IEEE¸¡µãÊý ......
B/S C/S ÓÅȱµã±È½Ï ¼° ÊÊÓ¦³¡ºÏ
Ê×ÏÈÀ´ËµB/SºÍC/SÁ½ÖÖÈí¼þÌåϵ½á¹¹¡£
¡¡¡¡B/S ÊÇBrowser/ServerÖ¸ä¯ÀÀÆ÷ºÍ·þÎñÆ÷¶Ë£¬ÔÚ¿Í»§»ú¶Ë²»ÓÃװרÃŵÄÈí¼þ£¬Ö»ÒªÒ»¸öä¯ÀÀÆ÷¼´¿É£¨Êݿͻ§¶Ë£©
¡¡¡¡C/S ÊÇClient/ServerÖ¸¿Í»§»úºÍ·þÎñÆ÷£¬ÔÚ¿Í»§»ú¶Ë±ØÐë×°¿Í»§¶ËÈí¼þ¼°ÏàÓ¦»·¾³ºó£¬²ÅÄÜ·ÃÎÊ·þÎñÆ÷£¨ÅÖ¿Í»§¶Ë£©
¡¡ ......