Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在sqlite+;朱斯_Sqlite_Juce - Fatal编程技术网

如何在sqlite+;朱斯

如何在sqlite+;朱斯,sqlite,juce,Sqlite,Juce,您能告诉我如何在sqlite中创建数据库吗?您能告诉我如何在sqlite+c++中创建表和插入数据吗?我在internet上没有得到太多帮助。您能给我举一些例子让我能够理解吗。以下是我的做法: char *sql; int rc = 0; File *fptr_db = new File(DBPath); if(fptr_db->existsAsFile()) { } else { sqlite3_initialize( ); rc = sqlite3_open_v2

您能告诉我如何在sqlite中创建数据库吗?您能告诉我如何在sqlite+c++中创建表和插入数据吗?我在internet上没有得到太多帮助。您能给我举一些例子让我能够理解吗。

以下是我的做法:

char *sql;
int rc = 0;

File *fptr_db = new File(DBPath);

if(fptr_db->existsAsFile())
{

} else {
    sqlite3_initialize( );
    rc = sqlite3_open_v2( DBPath.toRawUTF8(), &pDb, SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE, NULL );
    if ( rc != SQLITE_OK) {
        sqlite3_close( pDb );
        exit( -1 );
    }
    sql = "CREATE TABLE IF NOT EXISTS Users (Id integer PRIMARY KEY NOT NULL, GroupId integer NOT NULL, Name VARCHAR(40) NOT NULL COLLATE NOCASE, Password VARCHAR(200) COLLATE NOCASE, Address VARCHAR(200) COLLATE NOCASE, PostalCode VARCHAR(20), Vat VARCHAR(30), BI INT, LastSale DATE, Limits DECIMAL(12,6), Commission DECIMAL(12,6), BirthDate DATE, Phone VARCHAR(20), MobilePhone VARCHAR(20), Email VARCHAR(200) COLLATE NOCASE, Obs VARCHAR, DefaultSerieId integer NOT NULL ); ";
    rc = sqlite3_prepare_v2( pDb, sql, -1, &query, NULL );
    if ( rc != SQLITE_OK) exit( -1 );
    rc = sqlite3_step( query );
    if ( rc != SQLITE_DONE ) exit ( -1 );

    sql = "INSERT INTO [Users] ([Id], [GroupId], [Name], [Password], [DefaultSerieId]) VALUES (1, 0, 'Paulo', '1234', 0)";
    rc = sqlite3_prepare_v2( pDb, sql, -1, &query, NULL );
    if ( rc != SQLITE_OK) exit( -1 );
    rc = sqlite3_step( query );
    if ( rc != SQLITE_DONE ) exit ( -1 );

    sql = "INSERT INTO [Users] ([Id], [GroupId], [Name], [Password], [DefaultSerieId]) VALUES (2, 0, 'Antonio', '', 0)";
    rc = sqlite3_prepare_v2(pDb, sql, -1, &query, NULL);
    if (rc != SQLITE_OK) exit(-1);
    rc = sqlite3_step(query);
    if (rc != SQLITE_DONE) exit(-1);

    sqlite3_finalize( query );

    sqlite3_close( pDb );
    sqlite3_shutdown( );
}
工作正常,DBPath是一个字符串,包含数据库的路径,并以名称结束。 例子: String DBPath=“C:\database.db”

保罗