VC环境编译使用SQLITE数据库全过程

一、下载sqlite

SQLite可以到官方站点下载http://www.sqlite.org/download.html

VC中使用sqlite ,要下载sqlitedll-3_7_2.zipsqlite-amalgamation-3_7_2.zip

二、编译过程

dll的压缩包中解压后有一个sqlite3.dll和一个sqlite3.def文件,并没有提供用于VC++6.0lib文件,可以利用sqlite3.def文件生成,步骤如下:

1.sqlite3.h(在sqlite-amalgamation-3_7_2.zip中)拷贝到C:\Program Files\Microsoft Visual Studio\VC98\Include目录下;

2.启动一个命令行程序,进入VC的安装目录C:\Program Files\Microsoft Visual Studio\VC98\Bin,在这个目录下面有一个LIB.exe文件,使用它就能生成sqlite3.lib文件,将sqlite3.def文件拷贝到同一目录下,然后在命令行输入如下命令:

LIB /MACHINE:IX86 /DEF:sqlite3.def

该命令生成两个文件:sqlite3.libsqlite3.exp

运行该命令时,如果提示找不到MSPDB60.DLL文件,可从其它目录拷贝至Bin目录下;

3.将生成的sqlite3.lib拷贝到C:\Program Files\Microsoft Visual Studio\VC98\Lib目录下,将sqlite3.dll拷贝到C:\WINDOWS\system32目录下;
4 写一个win32控制台应用程序调用sqliteAPI,包含sqlite3.h头文件,并且要.sqlite3.lib加入到工程链接中,Project->Settings,Link选项卡,Object/library modules加入sqlite3.lib,此时便可编译链接通过。

5. vc下编译sqlite源代码,生成sqlite3.exe, 出现can not find tcl.h 可以去掉tclsqlite.c或者在这个文件前面添加#define NO_TCL 去掉tcl的支持。在C盘建一个目录sqlite3,sqlite3.exe拷过来,开一个命令行终端,进入此目录下,便可在终端中使用sqlite3命令建库和建表,使用查询等命令。

三、在VC/MFC中使用sqlite3 API

Win32控制台测试程序源码如下:

#include "stdafx.h"

#include <stdio.h>

#include <stdlib.h>

#include <sqlite3.h>

int main(int argc, char* argv[])

{

       sqlite3 *db;

    int result;

    char * errmsg = NULL;

    char **dbResult;

    int nRow, nColumn;

    int i , j;

    int index;

    result = sqlite3_open("c:\\sqlite3\\test.db", &db);

    if( result != SQLITE_OK )

    {

      printf("failed to open database!\n");

       return -1;

    }

    result = sqlite3_get_table( db, "select * from student", &dbResult, &nRow, &nColumn, &errmsg );

    if( SQLITE_OK == result )

    {

    

        index = nColumn;

        printf( "total %d records\n", nRow );

        for( i = 0; i < nRow ; i++ )

        {

           for( j = 0 ; j < nColumn; j++ )

           {

              printf( "segment name:%s segment value:%s\n", dbResult[j], dbResult [index] );

              ++index;

           }

           printf("-------\n");

        }

     }

     sqlite3_free_table( dbResult );  

     sqlite3_close( db );

       return 0;

}

运行截屏如下:



另外又写了个基于对话框的MFC测试程序,一个简易的学生成绩管理系统,测试在VC环境使用SQLITE数据库。运行截屏如下:





 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值