0

我是 sqlite 的新手,我最近才安装它。我熟悉 mysql,但我需要使用 sqlite,因为我将它用于我要创建的 C++ 应用程序。

问题一:

我在命令行终端输入这个

root@ubuntu:/home/baoky/version1.2/Assignment 2# sqlite abeserver.db

然后我看到了这个输出

sqlite>

所以我输入 .h 并看到帮助命令列表

但我想创建一张桌子

sqlite> .databases

seq  name             file                                                      
---  ---------------  ----------------------------------------------------------
0    main             /home/baoky/version1.2/Assignment 2/abeserver.db          
1    temp             /var/tmp/sqlite_hjT3FEefcAHRPhn 

在我的主数据库中

如何在终端级别执行此 sql 命令

CREATE TABLE abe_account (
  username TEXT,
  name TEXT,
  department TEXT,
  password TEXT
);

问题2:

如何使用 C++ 将记录插入表 abe_account

问题 3:

如何从表 abe_account 中检索记录并使用 C++ 将其分配给字符串

抱歉,我尝试了谷歌并搜索堆栈溢出,我仍然对用法感到困惑,如果它是 mysql,对我来说会很简单。

4

3 回答 3

2

问题2:

问题 3:

朋友,让我为您搜索一下:SQLite C/C++ 接口简介

于 2012-08-13T07:14:23.183 回答
1

要创建一个新数据库,只需连接到它:

$ sqlite3 your_database_file

这将在文件中创建您的数据库your_database_file。如果此文件已存在,该命令将打开它。

然后您可以执行CREATE TABLE或任何其他 SQL。

于 2012-08-13T07:14:24.337 回答
1

如果你使用的是 sqlite 终端,你可以在那里输入 SQL,它就会被执行。

C++ 代码的典型工作循环如下所示:

sqlite3 * db;//database
sqlite3_stmt * stmt;//sql statement

sqlite3_open( "database.db", & db );//opening database

sqlite3_prepare( db, "SELECT something FROM something else;", -1, &stmt, NULL );//preparing the statement
sqlite3_step( stmt );//executing the statement

while( sqlite3_column_text( stmt, 0 ) )
{
char * str = (char *) sqlite3_column_text( stmt, 0 );///reading the 1st column of the result
//do your stuff
sqlite3_step( stmt );//moving to the next row of the result
}

sqlite3_finalize(stmt);
sqlite3_close(db);

您可以轻松地搜索函数以了解它们的论点以及它们的详细功能。

于 2012-08-13T07:17:58.530 回答