运行时要自己输入语句?解决方案
运行时要自己输入语句?
win32控制台程序,使用SQLite进行简单的数据存取实验,但是问题很明显……
------解决方案--------------------
winxp,VC6:编译运行发现楼主的问题
是不是没有包含LIB:
1把sqlite3.lib复制到当前源码所在目录
2在_tmain前加一句#pragma comment(lib, "sqlite3.lib")
3把sqlite3.dll复制到生成应用程序(.exe文件)的目录
仅供参考
------解决方案--------------------
rc = sqlite3_open("test.db", &db);
函数呢?
------解决方案--------------------
截图的程序是sqlite3.exe,是sqlite3自带的,不是你的程序
截错图还是怎的???
win32控制台程序,使用SQLite进行简单的数据存取实验,但是问题很明显……
- C/C++ code
// win32Contrl.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include <stdio.h> #include "sqlite3.h" int column_names_printed = 0; void print_row(int n_values, char** values) { int i; for (i = 0; i < n_values; ++i) { printf("%10s", values[i]); } printf("\n"); } int print_result(void* data, int n_columns, char** column_values, char** column_names) { if (!column_names_printed) { print_row(n_columns, column_names); column_names_printed = 1; } print_row(n_columns, column_values); return 0; } int _tmain(int argc, _TCHAR* argv[]) { sqlite3 *db=NULL; char *errMsg = NULL; int rc; rc = sqlite3_open("test.db", &db); if( rc ){ fprintf(stderr, "Can't open database: %s\n", sqlite3_errmsg(db)); sqlite3_close(db); return 0; } else printf("open test.db successfully!\n"); rc = sqlite3_exec(db, "BEGIN TRANSACTION;", NULL, NULL, NULL); rc = sqlite3_exec(db, "CREATE TABLE students(number varchar(10), name varchar(10),sex varchar(6), age varchar(2));", NULL, NULL, NULL); rc = sqlite3_exec(db, "INSERT INTO students VALUES('00001', 'Mary', 'female', '15');INSERT INTO students VALUES('00002', 'John', 'male', '16');INSERT INTO students VALUES('00003', 'Mike', 'male', '15');INSERT INTO students VALUES('00004', 'Kevin', 'male', '17');INSERT INTO students VALUES('00005', 'Alice', 'female', '14');INSERT INTO students VALUES('00006', 'Susan', 'female', '16');INSERT INTO students VALUES('00007', 'Christina', 'female', '15');INSERT INTO students VALUES('00008', 'Brian', 'male', '16');INSERT INTO students VALUES('00009', 'Dennis', 'male', '14');INSERT INTO students VALUES('00010', 'Daphne', 'female', '18');",NULL, NULL, &errMsg); column_names_printed = 0; rc = sqlite3_exec(db, "SELECT * FROM students WHERE sex='female';", print_result, NULL, &errMsg); column_names_printed = 1; printf("\n"); column_names_printed = 0; rc = sqlite3_exec(db, "SELECT * FROM students WHERE sex='male';", print_result, NULL, &errMsg); column_names_printed = 1; rc = sqlite3_exec(db, "COMMIT TRANSACTION;", NULL, NULL, NULL); printf("error code: %d\n", rc); printf("error message: %s\n", errMsg); sqlite3_close(db); return 0; }
------解决方案--------------------
winxp,VC6:编译运行发现楼主的问题
是不是没有包含LIB:
1把sqlite3.lib复制到当前源码所在目录
2在_tmain前加一句#pragma comment(lib, "sqlite3.lib")
3把sqlite3.dll复制到生成应用程序(.exe文件)的目录
仅供参考
------解决方案--------------------
rc = sqlite3_open("test.db", &db);
函数呢?
------解决方案--------------------
截图的程序是sqlite3.exe,是sqlite3自带的,不是你的程序
截错图还是怎的???