运行时要自己输入语句?解决方案

运行时要自己输入语句?
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自带的,不是你的程序
截错图还是怎的???