Embedding SQLite in a c programm
Embedding SQLite in a c programm
        
The following program demonstrates how to embed SQLite into a c program.
I compiled the program with MinGW without any problems (Using this makefile)
In order to compile the program, you have to download the SQLite sources (version 3.0.1, the zip file) as well as the following c program (embed_sqlite.c). I don't know how easy or hard it is to compile it with another compiler than MinGW.
The program does the following:
Creates a database (filename: countries.db).
    Creates a table in this database (table name: countries).
    Inserts many countries with their size and population.
    Queries the table for the countries with the most/fewest people/area.
The programm
embed_sqlite.c
#include <string.h>
#include <stdio.h>
#include "sqlite3.h"
sqlite3* db;
int first_row;
int select_callback(void *p_data, int num_fields, char **p_fields, char **p_col_names) {
int i;
  int *p_rn = (int*)p_data;
if (first_row) {
    first_row = 0;
for(i=0; i < num_fields; i++) {
      printf("%20s", p_col_names[i]);
    }
    printf("\n");
    for(i=0; i< num_fields*20; i++) {
      printf("=");
    }
    printf("\n");
  }
(*p_rn)++;
for(i=0; i < num_fields; i++) {
    printf("%20s", p_fields[i]);
  }
printf("\n");
  return 0;
}
void select_stmt(const char* stmt) {
  char *errmsg;
  int   ret;
  int   nrecs = 0;
first_row = 1;
ret = sqlite3_exec(db, stmt, select_callback, &nrecs, &errmsg);
if(ret!=SQLITE_OK) {
    printf("Error in select statement %s [%s].\n", stmt, errmsg);
  }
  else {
    printf("\n   %d records returned.\n", nrecs);
  }
}
void sql_stmt(const char* stmt) {
  char *errmsg;
  int   ret;
ret = sqlite3_exec(db, stmt, 0, 0, &errmsg);
if(ret != SQLITE_OK) {
    printf("Error in statement: %s [%s].\n", stmt, errmsg);
  }
}
void insert_countries() {
  sql_stmt("begin");
  sql_stmt("insert into countries values ('Afghanistan'                   ,  251826,   22664136)");
  sql_stmt("insert into countries values ('Albania'                       ,   11100,    3249136)");
  sql_stmt("insert into countries values ('Algeria'                       ,  919595,   29183032)");
  sql_stmt("insert into countries values ('Andorra'                       ,     175,      67509)");
  sql_stmt("insert into countries values ('Angola'                        ,  481354,   10342899)");
  sql_stmt("insert into countries values ('Argentina'                     , 1073400,   34672997)");
  sql_stmt("insert into countries values ('Armenia'                       ,   11506,    3463574)");
  sql_stmt("insert into countries values ('Australia'                     , 2966155,   18260863)");
  sql_stmt("insert into countries values ('Austria'                       ,   32377,    8013614)");
  sql_stmt("insert into countries values ('Azerbaijan'                    ,   33436,    7676953)");
  sql_stmt("insert into countries values ('Bahrain'                       ,     267,     590042)");
  sql_stmt("insert into countries values ('Bangladesh'                    ,   55598,  123062800)");
  sql_stmt("insert into countries values ('Barbados'                      ,     166,     257030)");
  sql_stmt("insert into countries values ('Belarus'                       ,   80155,   10415973)");
  sql_stmt("insert into countries values ('Belgium'                       ,   11783,   10131863)");
  sql_stmt("insert into countries values ('Belize'                        ,    8866,     219296)");
  sql_stmt("insert into countries values ('Benin'                         ,   43475,    5709529)");
  sql_stmt("insert into countries values ('Bhutan'                        ,   18200,    1822625)");
  sql_stmt("insert into countries values ('Bolivia'                       ,  424165,    7165257)");
  sql_stmt("insert into countries values ('Bosnia-Herzegovina'            ,   19741,    2656240)");
  sql_stmt("insert into countries values ('Botswana'                      ,  231800,    1477630)");
  sql_stmt("insert into countries values ('Brazil'                        , 3286488,  162661214)");
  sql_stmt("insert into countries values ('Brunei'                        ,    2226,     299939)");
  sql_stmt("insert into countries values ('Bulgaria'                      ,   42823,    8612757)");
  sql_stmt("insert into countries values ('Burkina Faso'                  ,  105869,   10623323)");
  sql_stmt("insert into countries values ('Burundi'                       ,   10745,    5943057)");
  sql_stmt("insert into countries values ('Cambodia'                      ,   69898,   10600000)");
  sql_stmt("insert into countries values ('Cameroon'                      ,  183569,   14261557)");
  sql_stmt("insert into countries values ('Canada'                        , 3849674,   29857369)");
  sql_stmt("insert into countries values ('Cape Verde'                    ,    1557,     449066)");
  sql_stmt("insert into countries values ('Central African Republic'      ,  240535,    3274426)");
  sql_stmt("insert into countries values ('Chad'                          ,  495755,    6976845)");
  sql_stmt("insert into countries values ('Chile'                         ,  292135,   14333258)");
  sql_stmt("insert into countries values ('China'                         , 3689631, 1210004956)");
  sql_stmt("insert into countries values ('Colombia'                      ,  440831,   36813161)");
  sql_stmt("insert into countries values ('Comoros'                       ,     863,     569237)");
  sql_stmt("insert into countries values ('Congo(Zaire)'                  ,  905446,   46498539)");
  sql_stmt("insert into countries values ('Congo Republic'                ,  132047,    2527841)");
  sql_stmt("insert into countries values ('Costa Rica'                    ,   19730,    3463083)");
  sql_stmt("insert into countries values ('Croatia'                       ,   21829,    5004112)");
  sql_stmt("insert into countries values ('Cuba'                          ,   42804,   11007446)");
  sql_stmt("insert into countries values ('Cyprus'                        ,    3593,     736636)");
  sql_stmt("insert into countries values ('Czech Republic'                ,   30613,   10321120)");
  sql_stmt("insert into countries values ('Denmark'                       ,   16638,    5210833)");
  sql_stmt("insert into countries values ('Djibouti'                      ,    8958,     427642)");
  sql_stmt("insert into countries values ('Dominica'                      ,     305,      82926)");
  sql_stmt("insert into countries values ('Dominican Republic'            ,   18704,    8088881)");
  sql_stmt("insert into countries values ('Ecuador'                       ,  109484,   11466291)");
  sql_stmt("insert into countries values ('Egypt'                         ,  386662,   65375107)");
  sql_stmt("insert into countries values ('El Salvador'                   ,    8124,    5828987)");
  sql_stmt("insert into countries values ('Equatorial Guinea'             ,   10831,     431282)");
  sql_stmt("insert into countries values ('Eritrea'                       ,   45300,    3909628)");
  sql_stmt("insert into countries values ('Estonia'                       ,   17413,    1459428)");
  sql_stmt("insert into countries values ('Ethiopia'                      ,  483123,   57171682)");
  sql_stmt("insert into countries values ('Fiji'                          ,    7078,     782381)");
  sql_stmt("insert into countries values ('Finland'                       ,  130559,    5100213)");
  sql_stmt("insert into countries values ('France'                        ,  211208,   58317450)");
  sql_stmt("insert into countries values ('Gabon'                         ,  103347,    1172798)");
  sql_stmt("insert into countries values ('Gambia'                        ,    4127,    1020178)");
  sql_stmt("insert into countries values ('Georgia'                       ,   26911,    5219810)");
  sql_stmt("insert into countries values ('Germany'                       ,  137882,   83536115)");
  sql_stmt("insert into countries values ('Ghana'                         ,   92098,   17698271)");
  sql_stmt("insert into countries values ('Greece'                        ,   50962,   10718518)");
  sql_stmt("insert into countries values ('Grenada'                       ,     133,      94961)");
  sql_stmt("insert into countries values ('Guatemala'                     ,   42042,   11177614)");
  sql_stmt("insert into countries values ('Guinea'                        ,   94926,    7411981)");
  sql_stmt("insert into countries values ('Guinea-Bissau'                 ,   13948,    1151330)");
  sql_stmt("insert into countries values ('Guyana'                        ,   83000,     712091)");
  sql_stmt("insert into countries values ('Haiti'                         ,   10714,    6731539)");
  sql_stmt("insert into countries values ('Honduras'                      ,   43277,    5605193)");
  sql_stmt("insert into countries values ('Hungary'                       ,   35920,   10002541)");
  sql_stmt("insert into countries values ('Iceland'                       ,   36769,     268369)");
  sql_stmt("insert into countries values ('India'                         , 1237062,  952107694)");
  sql_stmt("insert into countries values ('Indonesia'                     ,  742410,  206611600)");
  sql_stmt("insert into countries values ('Iran'                          ,  632457,   66094264)");
  sql_stmt("insert into countries values ('Iraq'                          ,  169235,   21422292)");
  sql_stmt("insert into countries values ('Ireland'                       ,   27137,    3562902)");
  sql_stmt("insert into countries values ('Israel'                        ,    8019,    5215022)");
  sql_stmt("insert into countries values ('Italy'                         ,  116234,   57460274)");
  sql_stmt("insert into countries values ('Ivory Coast'                   ,  124518,   14762445)");
  sql_stmt("insert into countries values ('Jamaica'                       ,    4244,    2593918)");
  sql_stmt("insert into countries values ('Japan'                         ,  145870,  125568504)");
  sql_stmt("insert into countries values ('Jordan'                        ,   35135,    4212152)");
  sql_stmt("insert into countries values ('Kazakhstan'                    , 1049156,   16916463)");
  sql_stmt("insert into countries values ('Kenya'                         ,  224961,   28176686)");
  sql_stmt("insert into countries values ('KoreaNorth'                    ,   46540,   23904124)");
  sql_stmt("insert into countries values ('KoreaSouth'                    ,   38230,   45482291)");
  sql_stmt("insert into countries values ('Kuwait'                        ,    6880,    1950047)");
  sql_stmt("insert into countries values ('Kyrgyzstan'                    ,   76641,    4529648)");
  sql_stmt("insert into countries values ('Laos'                          ,   91429,    4905772)");
  sql_stmt("insert into countries values ('Latvia'                        ,   24595,    2468982)");
  sql_stmt("insert into countries values ('Lebanon'                       ,    4015,    3776317)");
  sql_stmt("insert into countries values ('Lesotho'                       ,   11720,    1970781)");
  sql_stmt("insert into countries values ('Liberia'                       ,   38250,    2109789)");
  sql_stmt("insert into countries values ('Libya'                         ,  679362,    5445436)");
  sql_stmt("insert into countries values ('Liechtenstein'                 ,      62,      31011)");
  sql_stmt("insert into countries values ('Lithuania'                     ,   25174,    3718000)");
  sql_stmt("insert into countries values ('Luxembourg'                    ,     998,     406901)");
  sql_stmt("insert into countries values ('Macedonia'                     ,    9928,    2104035)");
  sql_stmt("insert into countries values ('Madagascar'                    ,  226658,   13670507)");
  sql_stmt("insert into countries values ('Malawi'                        ,   45747,    9542844)");
  sql_stmt("insert into countries values ('Malaysia'                      ,  129251,   19962893)");
  sql_stmt("insert into countries values ('Maldives'                      ,     115,     270758)");
  sql_stmt("insert into countries values ('Mali'                          ,  478767,    9653261)");
  sql_stmt("insert into countries values ('Malta'                         ,     122,     372314)");
  sql_stmt("insert into countries values ('Mauritania'                    ,  395956,    2336048)");
  sql_stmt("insert into countries values ('Mauritius'                     ,     788,    1139047)");
  sql_stmt("insert into countries values ('Mexico'                        ,  756066,   95772462)");
  sql_stmt("insert into countries values ('Micronesia'                    ,     271,     125377)");
  sql_stmt("insert into countries values ('Moldova'                       ,   13012,    4463847)");
  sql_stmt("insert into countries values ('Mongolia'                      ,  604829,    2496617)");
  sql_stmt("insert into countries values ('Morocco'                       ,  275114,   29779156)");
  sql_stmt("insert into countries values ('Mozambique'                    ,  308642,   17877927)");
  sql_stmt("insert into countries values ('Myanmar (Burma)'               ,  261228,   49975625)");
  sql_stmt("insert into countries values ('Namibia'                       ,  317818,    1677243)");
  sql_stmt("insert into countries values ('Nepal'                         ,   56827,   22094033)");
  sql_stmt("insert into countries values ('Netherlands'                   ,   16133,   15531940)");
  sql_stmt("insert into countries values ('New Zealand'                   ,  103519,    3547983)");
  sql_stmt("insert into countries values ('Nicaragua'                     ,   50054,    4272352)");
  sql_stmt("insert into countries values ('Niger'                         ,  489191,    9113001)");
  sql_stmt("insert into countries values ('Nigeria'                       ,  356669,  103912489)");
  sql_stmt("insert into countries values ('Norway'                        ,  125050,    4345941)");
  sql_stmt("insert into countries values ('Oman'                          ,   82030,    2186548)");
  sql_stmt("insert into countries values ('Pakistan'                      ,  310432,  129275660)");
  sql_stmt("insert into countries values ('Panama'                        ,   29157,    2655094)");
  sql_stmt("insert into countries values ('Papua New Guinea'              ,  178704,    4394537)");
  sql_stmt("insert into countries values ('Paraguay'                      ,  157048,    5504146)");
  sql_stmt("insert into countries values ('Peru'                          ,  496225,   24523408)");
  sql_stmt("insert into countries values ('Philippines'                   ,  115831,   74480848)");
  sql_stmt("insert into countries values ('Poland'                        ,  120728,   38642565)");
  sql_stmt("insert into countries values ('Portugal'                      ,   35516,    9865114)");
  sql_stmt("insert into countries values ('Qatar'                         ,    4416,     547761)");
  sql_stmt("insert into countries values ('Romania'                       ,   91699,   21657162)");
  sql_stmt("insert into countries values ('Russia'                        , 6592849,  148190419)");
  sql_stmt("insert into countries values ('Rwanda'                        ,   10169,    6853359)");
  sql_stmt("insert into countries values ('St. Kitts and Nevis'           ,     104,      41369)");
  sql_stmt("insert into countries values ('St. Lucia'                     ,     238,     157862)");
  sql_stmt("insert into countries values ('St. Vincent/Grenadines'        ,     150,     118344)");
  sql_stmt("insert into countries values ('S�o Tomé and Principe'         ,     372,     144128)");
  sql_stmt("insert into countries values ('Saudi Arabia '                 ,  830000,   19409058)");
  sql_stmt("insert into countries values ('Senegal'                       ,   75951,    9092749)");
  sql_stmt("insert into countries values ('Seychelles'                    ,     175,      77575)");
  sql_stmt("insert into countries values ('Sierra Leone'                  ,   27925,    4793121)");
  sql_stmt("insert into countries values ('Singapore'                     ,     246,    3396924)");
  sql_stmt("insert into countries values ('Slovakia'                      ,   18933,    5374362)");
  sql_stmt("insert into countries values ('Slovenia'                      ,    7819,    1951433)");
  sql_stmt("insert into countries values ('Solomon Islands'               ,   10954,     412902)");
  sql_stmt("insert into countries values ('Somalia'                       ,  246201,    9369151)");
  sql_stmt("insert into countries values ('South Africa'                  ,  433680,   41743459)");
  sql_stmt("insert into countries values ('Spain'                         ,  194885,   38853397)");
  sql_stmt("insert into countries values ('Sri Lanka'                     ,   24962,   18553074)");
  sql_stmt("insert into countries values ('Sudan'                         ,  967500,   31065229)");
  sql_stmt("insert into countries values ('Suriname'                      ,   63251,     436418)");
  sql_stmt("insert into countries values ('Swaziland'                     ,    6704,     998730)");
  sql_stmt("insert into countries values ('Sweden'                        ,  173732,    8861270)");
  sql_stmt("insert into countries values ('Switzerland'                   ,   15943,    7124745)");
  sql_stmt("insert into countries values ('Syria'                         ,   71498,   15608648)");
  sql_stmt("insert into countries values ('Taiwan'                        ,   13900,   21304000)");
  sql_stmt("insert into countries values ('Tajikistan'                    ,   55251,    5916373)");
  sql_stmt("insert into countries values ('Tanzania'                      ,  364900,   29058470)");
  sql_stmt("insert into countries values ('Thailand'                      ,  198115,   58851357)");
  sql_stmt("insert into countries values ('Togo'                          ,   21925,    4570530)");
  sql_stmt("insert into countries values ('Trinidad and Tobago'           ,    1980,    1272385)");
  sql_stmt("insert into countries values ('Tunisia'                       ,   63170,    9019687)");
  sql_stmt("insert into countries values ('Turkey'                        ,  300948,   62484478)");
  sql_stmt("insert into countries values ('Turkmenistan'                  ,  188456,    4149263)");
  sql_stmt("insert into countries values ('Uganda'                        ,   93104,   20158176)");
  sql_stmt("insert into countries values ('Ukraine'                       ,  233090,   50864009)");
  sql_stmt("insert into countries values ('United Arab Emirates'          ,   32278,    3057337)");
  sql_stmt("insert into countries values ('United Kingdom'                ,   94248,   58489975)");
  sql_stmt("insert into countries values ('United States'                 , 3787425,  265089998)");
  sql_stmt("insert into countries values ('Uruguay'                       ,   68500,    3238952)");
  sql_stmt("insert into countries values ('Uzbekistan'                    ,  172742,   23418381)");
  sql_stmt("insert into countries values ('Venezuela'                     ,  352145,   21983188)");
  sql_stmt("insert into countries values ('Vietnam'                       ,  128066,   73976973)");
  sql_stmt("insert into countries values ('Yemen'                         ,  205356,   13483178)");
  sql_stmt("insert into countries values ('Yugoslavia (Serbia-Montenegro)',   26913,   10611558)");
  sql_stmt("insert into countries values ('Zambia'                        ,  290586,    9159072)");
  sql_stmt("insert into countries values ('Zimbabwe'                      ,  150873,   11271314)");
  sql_stmt("commit");
}
int main() {
  sqlite3_open("./countries.db", &db);
if(db == 0) {
    printf("Could not open database.");
    return 1;
  }
sql_stmt("create table countries (country_name, size_sq_miles, population)");
insert_countries();
printf("\nselecting the countries with the largest population\n\n");
  select_stmt("select * from countries order by population desc limit 5");
printf("\nselecting the countries with the smallest population\n\n");
  select_stmt("select * from countries order by population  asc limit 5");
printf("\nselecting the countries with the largest area\n\n");
  select_stmt("select * from countries order by size_sq_miles desc limit 5");
printf("\nselecting the countries with the smallest area\n\n");
  select_stmt("select * from countries order by size_sq_miles  asc limit 5");
sqlite3_close(db);
  return 0;
}
The makefile
The makefile is very rudimentary as I expect most .c files (except embed_sqlite.c) to be compiled only once.
makefile
CC_OPTS=-Wall
embed_sqlite.exe : embed_sqlite.o \
                   attach.o \
                   auth.o \
                   build.o \
                   btree.o \
                   date.o \
                   delete.o \
                   expr.o \
                   func.o \
                   hash.o \
                   insert.o \
                   legacy.o \
                   main.o \
                   opcodes.o \
                   os_win.o \
                   pager.o \
                   parse.o \
                   pragma.o \
                   printf.o \
                   random.o \
                   select.o \
                   table.o \
                   tokenize.o \
                   trigger.o \
                   update.o \
                   util.o \
                   utf.o \
                   vacuum.o \
                   vdbe.o \
                   vdbeapi.o \
                   vdbemem.o \
                   vdbeaux.o \
                   where.o 
    gcc embed_sqlite.o \
  attach.o \
  auth.o \
  build.o \
  btree.o \
  date.o \
  delete.o \
  expr.o \
  func.o \
  hash.o \
  insert.o \
  legacy.o \
  main.o \
  opcodes.o \
  os_win.o \
  pager.o \
  parse.o \
  pragma.o \
  printf.o \
  random.o \
  select.o \
  table.o \
  tokenize.o \
  trigger.o \
  update.o \
  util.o \
  utf.o \
  vacuum.o \
  vdbe.o \
  vdbeapi.o \
  vdbemem.o \
  vdbeaux.o \
  where.o -o $@
embed_sqlite.o : embed_sqlite.c
    gcc $(CC_OPTS) -c embed_sqlite.c
legacy.o : legacy.c
    gcc $(CC_OPTS) -c legacy.c
main.o : main.c
    gcc $(CC_OPTS) -c main.c
attach.o : attach.c 
    gcc $(CC_OPTS) -c attach.c
auth.o : auth.c 
    gcc $(CC_OPTS) -c auth.c
btree.o : btree.c btree.h
    gcc $(CC_OPTS) -c btree.c
build.o : build.c
    gcc $(CC_OPTS) -c build.c
date.o : date.c
    gcc $(CC_OPTS) -c date.c
delete.o : delete.c
    gcc $(CC_OPTS) -c delete.c
expr.o : expr.c
    gcc $(CC_OPTS) -c expr.c
func.o : func.c
    gcc $(CC_OPTS) -c func.c
hash.o : hash.c hash.h
    gcc $(CC_OPTS) -c hash.c
insert.o : insert.c
    gcc $(CC_OPTS) -c insert.c
opcodes.o : opcodes.c opcodes.h
    gcc $(CC_OPTS) -c opcodes.c
os_win.o : os_win.c os_win.h
    gcc $(CC_OPTS) -c os_win.c
pager.o : pager.c pager.h
    gcc $(CC_OPTS) -c pager.c
parse.o : parse.c parse.h
    gcc $(CC_OPTS) -c parse.c
pragma.o : pragma.c
    gcc $(CC_OPTS) -c pragma.c
printf.o : printf.c
    gcc $(CC_OPTS) -c printf.c
random.o : random.c
    gcc $(CC_OPTS) -c random.c
select.o : select.c
    gcc $(CC_OPTS) -c select.c
#shell.o : shell.c 
#    gcc $(CC_OPTS) -c shell.c
table.o : table.c
    gcc $(CC_OPTS) -c table.c
tokenize.o : tokenize.c
    gcc $(CC_OPTS) -c tokenize.c
trigger.o : trigger.c
    gcc $(CC_OPTS) -c trigger.c
update.o : update.c
    gcc $(CC_OPTS) -c update.c
util.o : util.c
    gcc $(CC_OPTS) -c util.c
utf.o : utf.c
    gcc $(CC_OPTS) -c utf.c
vacuum.o : vacuum.c
    gcc $(CC_OPTS) -c vacuum.c
vdbe.o : vdbe.c vdbe.h
    gcc $(CC_OPTS) -c vdbe.c
vdbeapi.o : vdbeapi.c
    gcc $(CC_OPTS) -c vdbeapi.c
vdbemem.o : vdbemem.c
    gcc $(CC_OPTS) -c vdbemem.c
vdbeaux.o : vdbeaux.c
    gcc $(CC_OPTS) -c vdbeaux.c
where.o : where.c 
    gcc $(CC_OPTS) -c where.c
Embedding SQLite in a c programm的更多相关文章
- Introduction of SQLite
		SQLite is a lightweight, server-less database, it's great for embedding into client application. It ... 
- 【开源】分享2011-2015年全国城市历史天气数据库【Sqlite+C#访问程序】
		由于个人研究需要,需要采集天气历史数据,前一篇文章:C#+HtmlAgilityPack+XPath带你采集数据(以采集天气数据为例子),介绍了基本的采集思路和核心代码,经过1个星期的采集,历史数据库 ... 
- UWP开发之ORM实践:如何使用Entity Framework Core做SQLite数据持久层?
		选择SQLite的理由 在做UWP开发的时候我们首选的本地数据库一般都是Sqlite,我以前也不知道为啥?后来仔细研究了一下也是有原因的: 1,微软做的UWP应用大部分也是用Sqlite.或者说是微软 ... 
- 深入解析Sqlite的完美替代者,android数据库新王者——Realm
		写在前面: 又到一年一度七夕虐狗节,看着大家忍受着各种朋友圈和QQ空间还有现实生活中的轮番轰炸,我实在不忍心再在这里给大家补刀,所以我觉得今天不虐狗,继续给大家分享有用的. 如果你比较关心androi ... 
- VS15 preview 5打开文件夹自动生成slnx.VC.db SQLite库疑惑?求解答
		用VS15 preview 5打开文件夹(详情查看博客http://www.cnblogs.com/zsy/p/5962242.html中配置),文件夹下多一个slnx.VC.db文件,如下图: 本文 ... 
- Android之SQLite数据存储
		一.SQLite保存数据介绍 将数据库保存在数据库对于重复或者结构化数据(比如契约信息)而言是理想之选.SQL数据库的主要原则之一是架构:数据库如何组织正式声明.架构体现于用于创建数据库的SQL语句. ... 
- 【教程】SQLite数据库修复
		SQLite 大家都知道,就不多说了. 有时候数据量大了,或者存储过程中出现异常,数据库就可能会出问题. 这是以前公司产品出现过的问题,导致软件都打不开了,我花了不少时间才解决的,趁现在有空贡献出来. ... 
- SQLite学习笔记(十)&&加密
		随着移动互联网的发展,手机使用越来越广泛,sqlite作为手机端存储的一种解决方案,使用也非常普遍.但是sqlite本身安全特性却比较弱,比如不支持用户权限,只要能获取到数据库文件就能进行访问:另外也 ... 
- mono for android中使用dapper或petapoco对sqlite进行数据操作
		在mono for android中使用dapper或petapoco,很简单,新建android 类库项目,直接把原来的文件复制过来,对Connection连接报错部分进行注释和修改就可以运行了.( ... 
随机推荐
- 如果没有指定Cookie的时效,那么默认的时效是。(选择1项)
			如果没有指定Cookie的时效,那么默认的时效是.(选择1项) A.一天 B. 永不过期 C.会话级别 D.一分钟 解答:C 这是API的原文:By default, -1 indicating th ... 
- Spring HttpIvoker实现Java的远程调用
			Spring HttpInvoker一种JAVA远程方法调用框架实现,使用的是HTTP协议,允许穿透防火墙,使用JAVA系列化方式,但仅限于Spring应用之间使用,即调用者与被调用者都必须是使用Sp ... 
- 配置使用TargetFrameworks输出多版本类库
			1.类库右键 2.修改配置 修改前: <Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <Targe ... 
- C#------引用System.Data.Entity后DbContext依然无法继承解决方法
			解决方法: 需要在“引用”->“管理NuGet程序包”里面添加->“EntityFramework.dll”文件即可 
- 使用pug(jade),以及在vue+webpack中使用pug(jade)
			一:在HTML中使用pug 在css中有预处理器less和scss来使我们的样式表更加的简介,那么在HTML中有没有这样的格式呢,答案是有的,那就是pug(前身是jade),效果如下: 转译以后 好, ... 
- jquery将具有相同名称的元素的值提取出来放到一个数组内
			jquery将具有相同名称的元素的值提取出来放到一个数组内 var arrInputValues = new Array(); $("input[name='xxx']").ea ... 
- jquery如何把一个html元素替换成另外一个html元素?
			1.replaceWith( ) 使用括号内的内容替换所选择的内容. $("#div").replaceWith("<p id=&qu ... 
- 面试之一:CMS收集器整理
			CMS收集器整理 @white 基本说明: 目标:获取最短回收停顿时间 算法:标记-清除算法 线程:并发 步骤: 初始标记:(会STP) 标记 GC Roots 能直接关联到的对象,速度很快 并发 ... 
- Foj1683矩阵快速幂水题
			Foj 1683 纪念SlingShot 题目链接:http://acm.fzu.edu.cn/problem.php?pid=1683 题目:已知 F(n)=3 * F(n-1)+2 * F(n-2 ... 
- iOS中navigationItem修改标题的颜色
			UIColor * color = [UIColor redColor];//这里我们设置的是颜色,NSDictionary * dict = [NSDictionary dictionaryWith ... 
