C/C++中调用SQLITE3的基本步骤

本文介绍了如何在C/C++环境中使用SQLite3 API创建数据库、创建表、插入数据和查询数据。通过示例代码展示了如何打开数据库、创建chn_to_eng和eng_to_chn两个表,并进行数据插入及查询操作。回调函数print_result_cb用于显示查询结果。
摘要由CSDN通过智能技术生成

Sqlite是一个面向嵌入式系统的数据库,编译完成只有200K,同时支持2T的数据记录。对于嵌入式设备是一个很好的数据库引擎。本文通过一个小例子说明如何在C与C++调用Sqlite API完成数据库的创建、插入数据与查询数据。本文的开发环境为(Redhat9.0 + Qtopia2.1.2 + Sqlite3)

安装Sqlite3:

www.sqlite.org上下载Sqlite3.2.2运源代码,依照Readme中的步骤:

tar xzf sqlite3.2.2.tar.gz

mkdir bld

cd bld

../sqlite3.2.2/configure

make

make install

然后在shell下运行 sqlite3 test.db命令可以检验是否已经安装成功。

创建数据库:

 sqlite3 *pDB = NULL;
 char * errMsg = NULL;

 //打开一个数据库,如果改数据库不存在,则创建一个名字为databaseName的数据库文件
  int rc = sqlite3_open(databaseName, &pDB);

  if(rc)
  {
    cout << " Open the database " << databaseName << " failed" << endl;
  }

  //如果创建成功,添加表

  else
  {
    cout << "create the database successful!" << endl;

    //creat the table
    int i;
    for(i=1; i<nTableNum; i++)
    {
     
    }
    //插入一个表,返回值为SQLITE_OK为成功,否则输出出错信息

    //函数参数:第一个为操作数据库的指针,第二句为SQL命令字符串

    //第三个参数为callback函数,这里没有用,第四个参数为callback函数

    //中的第一个参数,第五个为出错信息

    rc = sqlite3_exec(pDB, "CREATE TABLE chn_to_eng(chinese QString, english QString)", 0, 0, &errMsg);

    if(rc == SQLITE_OK)
       cout << "create the chn_to_eng table successful!" << endl;
    else
       cout << errMsg << endl;

    //同上,插入另一个表

    rc = sqlite3_exec(pDB, "CREATE TABLE eng_to_chn(english QString, chinese QString)", 0, 0, &errMsg);

    if(rc == SQLITE_OK)
        cout << "create the eng_to_chn table successful!" << endl;
    else
       cout << errMsg << endl;
   
  }

  、、、、、、

  //往表中添加数据

  char chn[]="...";

  char eng[]="...";

  char value[500];
  //定义一条参数SQL命令,其中chn,eng为需要插入的数据    
  sprintf(value, "INSERT INTO chn_to_eng(chinese, english) VALUES('%s', '%s')", chn, eng);
  
  //use the SQLITE C/C++ API to create and adjust a database.
  rc = sqlite3_exec(pDB,
                       value,
                      0, 0, &errMsg);<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值