无法在 SQLite 上的命令行上访问表
Cannot access tables on command line on 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: %sn", sqlite3_errmsg(db));
return(0);
}else{
printf( "Opened database successfullyn");
}
/* 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: %sn", zErrMsg);
sqlite3_free(zErrMsg);
}else{
printf( "Table created successfullyn");
}
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: %sn", zErrMsg);
sqlite3_free(zErrMsg);
}else{
printf( "Records created successfullyn");
}
然后,当我通过命令行访问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++发送文本文件名
- 为cl.exe(Visual Studio代码)指定命令行C++版本
- 如何在OMNET++中指定与命令行参数组合的输出文件名
- 数组长度,为什么从命令行获取时不能使用它?
- 如何处理linux终端中带有负号(-)的C++中的命令行参数
- VS Code "command":"make"与终端窗口中的命令行"make"不同
- 未定义的引用 .. 使用 OpenCV 编译 C++ 代码时,从命令行
- 通过 Openssl 命令行加密,通过 c++ 解密
- 用于解析 win64 堆栈跟踪的命令行客户端(可以访问符号服务器)
- 访问C++中的命令行参数
- c++libcurl无法访问,命令行正常工作
- Raspberry Pi:访问C/C++程序中的命令行
- 如何在C++中从命令行获取CGI表单数据
- 访问与命令行参数关联的整数列表
- 使用命令行界面创建数据表
- 启动主程序之前的访问命令行
- 使用getopt访问命令行用户参数
- 编译一个Qt单文件从命令行:未定义的引用到虚表
- 无法在 SQLite 上的命令行上访问表
- 获取命令行参数的大小/访问命令行参数中的单个字符