sqlite工作记录-1数据库数据写入-转

二、常规数据插入:

    1). 创建测试数据表。
    2). 通过INSERT语句插入测试数据。
    3). 删除测试表。

    见以下代码及关键性注释:

[cpp] view plaincopy

  1. #include <sqlite3.h>  

  2.  #include <string>  

  3.  #include <stdio.h>  

  4.    

  5.  using namespace std;  

  6.    

  7.  void doTest()  

  8.  {  

  9.      sqlite3* conn = NULL;  

  10.      //1. 打开数据库  

  11.      int result = sqlite3_open("D:/mytest.db",&conn);  

  12.      if (result != SQLITE_OK) {  

  13.          sqlite3_close(conn);  

  14.          return;  

  15.      }  

  16.      const char* createTableSQL =   

  17.          "CREATE TABLE TESTTABLE (int_col INT, float_col REAL, string_col TEXT)";  

  18.      sqlite3_stmt* stmt = NULL;  

  19.      int len = strlen(createTableSQL);  

  20.      //2. 准备创建数据表,如果创建失败,需要用sqlite3_finalize释放sqlite3_stmt对象,以防止内存泄露。  

  21.      if (sqlite3_prepare_v2(conn,createTableSQL,len,&stmt,NULL) != SQLITE_OK) {  

  22.          if (stmt)  

  23.              sqlite3_finalize(stmt);  

  24.          sqlite3_close(conn);  

  25.          return;  

  26.      }  

  27.      //3. 通过sqlite3_step命令执行创建表的语句。对于DDL和DML语句而言,sqlite3_step执行正确的返回值  

  28.      //只有SQLITE_DONE,对于SELECT查询而言,如果有数据返回SQLITE_ROW,当到达结果集末尾时则返回  

  29.      //SQLITE_DONE。  

  30.      if (sqlite3_step(stmt) != SQLITE_DONE) {  

  31.          sqlite3_finalize(stmt);  

  32.          sqlite3_close(conn);  

  33.          return;  

  34.      }  

  35.      //4. 释放创建表语句对象的资源。  

  36.      sqlite3_finalize(stmt);  

  37.      printf("Succeed to create test table now.\n");  

  38.    

  39.      int insertCount = 10;  

  40.      //5. 构建插入数据的sqlite3_stmt对象。  

  41.      const char* insertSQL = "INSERT INTO TESTTABLE VALUES(%d,%f,'%s')";  

  42.      const char* testString = "this is a test.";  

  43.      char sql[1024];  

  44.      sqlite3_stmt* stmt2 = NULL;  

  45.      for (int i = 0; i < insertCount; ++i) {  

  46.          sprintf(sql,insertSQL,i,i * 1.0,testString);  

  47.          if (sqlite3_prepare_v2(conn,sql,strlen(sql),&stmt2,NULL) != SQLITE_OK) {  

  48.              if (stmt2)  

  49.                  sqlite3_finalize(stmt2);  

  50.              sqlite3_close(conn);  

  51.              return;  

  52.          }  

  53.          if (sqlite3_step(stmt2) != SQLITE_DONE) {  

  54.              sqlite3_finalize(stmt2);  

  55.              sqlite3_close(conn);  

  56.              return;  

  57.          }  

  58.          printf("Insert Succeed.\n");  

  59.      }  

  60.      sqlite3_finalize(stmt2);  

  61.      //6. 为了方便下一次测试运行,我们这里需要删除该函数创建的数据表,否则在下次运行时将无法  

  62.      //创建该表,因为它已经存在。  

  63.      const char* dropSQL = "DROP TABLE TESTTABLE";  

  64.      sqlite3_stmt* stmt3 = NULL;  

  65.      if (sqlite3_prepare_v2(conn,dropSQL,strlen(dropSQL),&stmt3,NULL) != SQLITE_OK) {  

  66.          if (stmt3)  

  67.              sqlite3_finalize(stmt3);  

  68.          sqlite3_close(conn);  

  69.          return;  

  70.      }  

  71.      if (sqlite3_step(stmt3) == SQLITE_DONE) {  

  72.          printf("The test table has been dropped.\n");  

  73.      }  

  74.      sqlite3_finalize(stmt3);  

  75.      sqlite3_close(conn);  

  76.  }  

  77.    

  78.  int main()  

  79.  {  

  80.      doTest();  

  81.      return 0;  

  82.  }  

  83.  //输出结果如下:  

  84.  //Succeed to create test table now.  

  85.  //Insert Succeed.  

  86.  //Insert Succeed.  

  87.  //Insert Succeed.  

  88.  //Insert Succeed.  

  89.  //Insert Succeed.  

  90.  //Insert Succeed.  

  91.  //Insert Succeed.  

  92.  //Insert Succeed.  

  93.  //Insert Succeed.  

  94.  //Insert Succeed.  

  95.  //The test table has been dropped.  


### 回答1: sqlite-jdbc-3.25.1.jar 是一个用于连接和操作 SQLite 数据库的 Java 驱动程序。它提供了在 Java 程序中对 SQLite 数据库进行读取和写入的功能。 SQLite 是一个轻量级的嵌入式数据库引擎,被广泛应用于移动设备和嵌入式系统中。而 sqlite-jdbc-3.25.1.jar 则是 SQLite 数据库的 Java 接口,它允许开发者使用 Java 语言来访问和操作 SQLite 数据库。该驱动程序允许在 Java 应用程序中使用 SQL 语句对 SQLite 数据库进行增、删、改、查等操作。 使用 sqlite-jdbc-3.25.1.jar 进行 SQLite 数据库操作非常简单。开发者只需在 Java 项目中引入该驱动程序的 Jar 文件,并使用 Java 代码进行连接和操作数据库即可。通过创建 Connection 对象,开发者可以连接到 SQLite 数据库。然后,可以使用该对象创建 Statement 对象,并通过执行 SQL 查询和更新语句来操作数据库中的数据。最后,需确保在使用完毕后,关闭相关的连接和资源。 除了提供基本的数据库连接和操作功能外,sqlite-jdbc-3.25.1.jar 还支持事务管理、预编译 SQL 语句、批量处理等高级功能,使得 SQLite 数据库在 Java 程序中的使用更加灵活和高效。 总而言之,sqlite-jdbc-3.25.1.jar 是一个用于连接和操作 SQLite 数据库的 Java 驱动程序。它方便了开发者在 Java 程序中使用 SQL 语句对 SQLite 数据库进行操作,为开发者提供了一个简单、高效的访问 SQLite 数据库的接口。 ### 回答2: sqlite-jdbc-3.25.1.jar是一个Java编程语言的SQLite数据库驱动程序。SQLite是一种轻量级的关系型数据库管理系统,具有快速、可靠和易于集成的特点。它是一个嵌入式数据库,不需要独立的服务器进程,可以直接在应用程序中使用。 sqlite-jdbc-3.25.1.jar是SQLite官方提供的Java接口实现。它提供了对SQLite数据库的连接、查询、插入、更新和删除等操作的支持。通过引入该jar包,我们可以在Java应用程序中使用SQLite数据库,进行数据的持久化存储和访问。 使用sqlite-jdbc-3.25.1.jar可以简化与SQLite数据库的交互过程。我们只需在Java程序中引入该库,并配置相应的连接参数,即可创建和管理SQLite数据库连接对象。然后,我们可以使用SQL语句来执行数据库操作,例如查询表中的数据、插入新的记录、更新已有记录等。 sqlite-jdbc-3.25.1.jar还提供了一些其他的功能和特性,例如批量操作、事务处理、预编译语句、连接池管理等,可以进一步优化数据库操作的性能和效率。 总之,sqlite-jdbc-3.25.1.jar是一个能够在Java应用程序中与SQLite数据库进行交互的驱动程序。通过使用它,我们可以更方便地使用SQLite作为数据存储和管理的解决方案,实现数据持久化和访问的需求。 ### 回答3: sqlite-jdbc-3.25.1.jar 是SQLite数据库的Java驱动程序。它是用于在Java应用程序中与SQLite数据库进行交互的关键库文件。SQLite是一个轻量级的嵌入式关系型数据库,适用于移动设备和小型应用。而sqlite-jdbc-3.25.1.jar允许Java开发人员通过提供一个简单的API来连接和操作SQLite数据库sqlite-jdbc-3.25.1.jar提供了一系列的类和方法,使开发人员可以轻松地创建、查询、更新和删除数据库中的数据。它支持执行SQL语句、预编译语句、事务管理等数据库操作。从连接数据库、执行SQL语句到关闭数据库连接,sqlite-jdbc-3.25.1.jar提供了一套完整的功能来简化与SQLite数据库的交互。 使用sqlite-jdbc-3.25.1.jar可以带来很多好处。首先,它提供了一个简单而易于使用的API,使得在Java应用程序中使用SQLite数据库变得更加方便。其次,它具有良好的性能和可靠性,能够处理大量数据和高并发访问。另外,sqlite-jdbc-3.25.1.jar是开源的,意味着开发人员可以根据自己的需求进行定制和扩展。最重要的是,由于SQLite是一个嵌入式数据库,所以在使用sqlite-jdbc-3.25.1.jar时不需要额外安装和配置数据库服务器,这使得应用程序的部署更加简单和便捷。 总而言之,sqlite-jdbc-3.25.1.jar是一个重要的Java库文件,它使得在Java应用程序中使用SQLite数据库变得更加便捷和高效。它具有简单易用的API、良好的性能和可靠性,适用于各种规模的应用程序。无论是在移动设备还是小型应用中,sqlite-jdbc-3.25.1.jar都是首选的数据库驱动程序。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值