c++ - 无法在 SQLite 的命令行上访问表

标签 c++ windows sqlite

我在 c:\tmp 中使用以下代码在 C++ 中创建了数据库。还创建了表并可以在 C++ 中访问表。但是当我尝试通过 SQLite 命令行访问该表时,出现“没有这样的表”错误。

这是我在 C++ 中创建数据库的方法

    rc = sqlite3_open_v2("file:///C:/tmp/myTest1.db", &db,  SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE| SQLITE_OPEN_URI, NULL );
    if( rc ){
       printf(  "Can't open database: %s\n", sqlite3_errmsg(db));
       return(0);
    }else{
       printf(  "Opened database successfully\n");
    }

    /* Create SQL statement */
   sql = "CREATE TABLE LoadDates("  \
     "ID           TEXT    NOT NULL," \
     "DT            INT     NOT NULL  );";

   /* Execute SQL statement */
   rc = sqlite3_exec(db, sql, callback, 0, &zErrMsg);
   if( rc != SQLITE_OK ){
       printf(  "SQL error: %s\n", zErrMsg);
       sqlite3_free(zErrMsg);
  }else{
      printf(  "Table created successfully\n");
 }

 sql = "INSERT INTO LoadDates (ID,DT) "  \
     "VALUES ('A1', 20160701 ); " \
     "INSERT INTO LoadDates (ID,DT) "  \
     "VALUES ('A2', 20160601 ); " \
     "INSERT INTO  LoadDates (ID,DT) "  \
     "VALUES ('A3', 20160801  );";

   /* Execute SQL statement */
  rc = sqlite3_exec(db, sql, callback, 0, &zErrMsg);
  if( rc != SQLITE_OK ){
      printf( "SQL error: %s\n", zErrMsg);
      sqlite3_free(zErrMsg);
  }else{
      printf(  "Records created successfully\n");
  }

然后,当我通过命令行访问 LoadDates 时,出现以下错误。我可以在 c:\tmp 目录中看到 myTest1.db

c:\tmp>sqlite3.exe myTest1
SQLite version 3.13.0 2016-05-18 10:57:30
Enter ".help" for usage hints.
sqlite> select * from LoadDates;
Error: no such table: LoadDates

最佳答案

在命令行调用 sqlite3.exe 时使用完整的文件名:

C:\temp> sqlite3.exe myTest1.db

关于c++ - 无法在 SQLite 的命令行上访问表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38385739/

相关文章:

php - 没有数据从 Android 插入到 MySQL

c++ - 在openCV中访问特定图像中所有像素的RGB值

c++ - 在 64 位(或 32 位)Windows 上以 32 位进程访问 >2,3,4GB 文件

c++ - 根据模板参数内容执行或跳过代码

windows - git push origin master 拒绝用户 X,其中 x 不是本地 git 配置中的用户

c# - 启动 Windows 服务时无法找到程序集文件 'example.dll'

c++ - SQLite 更新表

python - 如何在 Django 中使用新数据库重新开始?

c# - 用于检索基础类型的空类

C++, boost : how to fill buffer and transfer (image) file data over network?