如题。
用的是CListView。希望在View里面能显示sqlite的表
新人学习,希望详细的讲一讲。
或者邮箱[email protected]
大侠们帮帮忙。

解决方案 »

  1.   


    #ifdef SQLITE_ENABLE_ICU
      #udefine SQLITE_ENABLE_ICU
    #endif/**//*
    #ifndef SQLITE_CORE
      #define SQLITE_CORE
    #endif
    */#include <stdio.h>
    #include "sqlite3.h"
    #include <iostream>using namespace std;const char* sqlCreate ="CREATE TABLE items(id integer primary key, stocknum float, name varchar(30), price float, status varchar(12) )";
    const char* sqlSelect ="SELECT stocknum,name,price FROM items ORDER BY stocknum";
    const char* sqlInsert0="INSERT INTO items VALUES(NULL, 323.123, 'Product01', 565.456, 'IN')";
    const char* sqlInsert1="INSERT INTO items VALUES(NULL, 423.123, '莉', 665.456, 'IN')";
    const char* sqlInsert2="INSERT INTO items VALUES(NULL, 523.123, 'Product02', 765.456, 'IN')";int printedHeader=0;
    static int callback(void *NotUsed, int columns, char **azData, char **azColName)...{
        int i;
        if( printedHeader==0 )...{
            printedHeader=1;
            for(i=0; i<columns; i++)...{
                printf("%s   ", azColName[i]);
            }
            printf(" ");
        }
        for(i=0; i<columns; i++)...{
            printf("%s  ", azData[i] ? azData[i] : "NULL");
        }
        printf(" ");
        return 0;
    }int main(int argc, char **argv)...{
        cout<<"Begin, please waiting..."<<endl;
        cout<<"Parameters:"<<endl;
        for(int k=1; k<argc; k++)
            cout<<" "<<k<<" ->  "<<argv[k]<<endl;
        cout<<endl;
        
        sqlite3 *db;
        char *zErrMsg = 0;
        int rc;    if( argc!=3 )...{
            printf("Usage: %s DATABASE SQL-STATEMENT ", argv[0]);
            return(1);
        }
        rc = sqlite3_open(argv[1], &db);
        if( rc )...{
            printf("Can't open database: %s ", sqlite3_errmsg(db));
            sqlite3_close(db);
            return(1);
        }    rc = sqlite3_exec(db, sqlCreate, NULL, 0, &zErrMsg);
        if( rc!=SQLITE_OK )...{
            printf("Create SQL error: %s ", zErrMsg);
            sqlite3_free(zErrMsg);
        }
        rc = sqlite3_exec(db, sqlInsert0, NULL, 0, &zErrMsg);
        if( rc!=SQLITE_OK )...{
            printf("INSERT SQL 0 error: %s ", zErrMsg);
            sqlite3_free(zErrMsg);
        }
        rc = sqlite3_exec(db, sqlInsert1, NULL, 0, &zErrMsg);
        if( rc!=SQLITE_OK )...{
            printf("INSERT SQL 1 error: %s ", zErrMsg);
            sqlite3_free(zErrMsg);
        }
        rc = sqlite3_exec(db, sqlInsert2, NULL, 0, &zErrMsg);
        if( rc!=SQLITE_OK )...{
            printf("INSERT SQL 2 error: %s ", zErrMsg);
            sqlite3_free(zErrMsg);
        }    rc = sqlite3_exec(db, argv[2], callback, 0, &zErrMsg);
        if( rc!=SQLITE_OK )...{
            printf("SQL error: %s ", zErrMsg);
            sqlite3_free(zErrMsg);    }
        sqlite3_close(db);
        printf("Finished, exit now. ");
        return 0;
    }数据改放到CListView里面去就可以了