h5网站开发环境,wordpress商业授权,海外网站推广方法,自己做网站空间官网#xff1a;https://sqlite.org/download.html 下载代码安装三步走#xff1a; ./configure // ./configure --help查看安装参数设置#xff0c;学习configure的配置#xff0c;明白安装后include、lib、bin等文件的位置
make
make install学习SQL基本语法#xff0…官网https://sqlite.org/download.html 下载代码安装三步走 ./configure // ./configure --help查看安装参数设置学习configure的配置明白安装后include、lib、bin等文件的位置
make
make install学习SQL基本语法各个数据库基本相同
http://www.w3cschool.cc/sqlite/sqlite-tutorial.html常用函数 int sqlite3_open(const char *filename, /* Database filename (UTF-8) */sqlite3 **ppDb /* OUT: SQLite db handle */
);typedef int (*sqlite3_callback)(
void*, /* Data provided in the 4th argument of sqlite3_exec() */
int, /* The number of columns in row */
char**, /* An array of strings representing fields in the row */
char** /* An array of strings representing column names */
); int sqlite3_exec(sqlite3*, /* An open database */const char *sql, /* SQL to be evaluated */int (*callback)(void*,int,char**,char**), /* Callback function */void *, /* 1st argument to callback */char **errmsg /* Error msg written here */
);int sqlite3_close(sqlite3*);例子#include stdio.h
#include stdlib.h
#include sqlite3.h#define DB_FILENAME /home/suo/Desktop/sqlite/datadir/sqlite.db
static int flag 0;static int callback(void *userData, int columnNum, char **columnText, char **columnName)
{int index;if (userData !flag) {fprintf(stdout, ---------%s------\n, (const char*)userData);for (index0; indexcolumnNum; index) {printf(%s\t, columnName[index]);}printf(\n);}for(index0; indexcolumnNum; index){printf(%s\t, columnText[index] ? columnText[index] : NULL);}printf(\n);return 0;
}int main(int argc, char* argv[])
{sqlite3 *db;char *zErrMsg 0;int rc;char *sql;rc sqlite3_open(DB_FILENAME, db);if( rc ! SQLITE_OK){fprintf(stderr, Cant open database: %s\n, sqlite3_errmsg(db));exit(0);}else{fprintf(stderr, Opened database successfully\n);}sql CREATE TABLE COMPANY(\ID INT PRIMARY KEY NOT NULL,\NAME TEXT NOT NULL,\AGE INT NOT NULL,\ADDRESS CHAR(50),\SALARY REAL);;rc sqlite3_exec(db, sql, callback, (void *)sql, zErrMsg);if(rc ! SQLITE_OK){fprintf(stderr, SQL error :%s\n, zErrMsg);sqlite3_free(zErrMsg);} else {fprintf(stdout, Table created successfully\n);}sql INSERT INTO COMPANY(ID, NAME, AGE, ADDRESS, SALARY) \VALUES(1, Paul, 32, California, 20000.00); \INSERT INTO COMPANY(ID, NAME, AGE, ADDRESS, SALARY) \VALUES(2, Allen, 25, Texas, 15000.00);INSERT INTO COMPANY(ID, NAME, AGE, ADDRESS, SALARY) \VALUES(3, Teddy, 23, Norway, 20000.00);INSERT INTO COMPANY(ID, NAME, AGE, ADDRESS, SALARY) \VALUES(4, Mark, 25, Rick-Mond, 65000.00);;rc sqlite3_exec(db, sql, callback, (void *)sql, zErrMsg);if(rc ! SQLITE_OK){fprintf(stderr, SQL error: %s, zErrMsg);sqlite3_free(zErrMsg);} else {fprintf(stdout, Records created successfully\n);}sql SELECT * FROM COMPANY;;rc sqlite3_exec(db, sql, callback, (void *)sql, zErrMsg);if(rc ! SQLITE_OK){fprintf(stderr, SQL error: %s, zErrMsg);sqlite3_free(zErrMsg);} else {fprintf(stdout, Select records successfully\n);}sqlite3_close(db);return 0;
}对应Makefile #! /usr/makerm/bin/rm -f
CC gcc
DEFS
PROGNAME testsqlite
INCLUDES -I /home/suo/Desktop/sqlite/include
DEFINES $(INCLUDES) $(DEFS)
CFLAGS $(DEFINES) -g -Wall -O2
LDFLAGS SRCS testsqlite.c
OBJS testsqlite.o
LIBS -L./lib -lsqlite3.cpp.o:$(rm) $$(CC) $(CFLAGS) -c $*.cppall: $(PROGNAME)
$(PROGNAME) : $(OBJS) $(CC) $(CFLAGS) -o $(PROGNAME) $(OBJS) $(LDFLAGS) $(LIBS)clean:$(rm) $(OBJS) $(PROGNAME) core *~执行结果Opened database successfully
Table created successfully
Records created successfully
---------SELECT * FROM COMPANY;------
ID NAME AGE ADDRESS SALARY
1 Paul 32 California 20000.0
2 Allen 25 Texas 15000.0
3 Teddy 23 Norway 20000.0
4 Mark 25 Rick-Mond 65000.0
Select records successfully