插入的数据未显示

时间:2015-12-19 07:48:04

标签: c++ sqlite

void anggota()
{
    int idanggota;
    char nama[90];
    char jenisKelamin[90];
    char fakultas[90];
    char alamat[90];
    char programStudi[90];
    char telepon[90];
    int input;
    cout<<"1.input data anggota\n";
    cout<<"2.lihat data anggota\n";
    cin>>input;
    if(input==1)
    {
        cout<<"Anggota : ";cin>>idanggota;
        cout<<"nama : ";cin>>nama;
        cout<<"jenis kelamin : ";cin>>jenisKelamin;
        cout<<"fakultas : ";cin>>fakultas;
        cout<<"program studi : ";cin>>programStudi;
        cout<<"alamat : ";cin>>alamat;
        cout<<"telepon : ";cin>>telepon;
        char szSQL[]="INSERT INTO anggota(idAnggota,nama,jeniskelamin,fakultas,programstudi,alamat,telepon) VALUES (?,?,?,?,?,?,?);";
        rc=sqlite3_prepare_v2(db,szSQL,900,&ppStmt,0);
        sqlite3_bind_int(ppStmt,1,idanggota);
        sqlite3_bind_text(ppStmt,2,nama,-1,0);
        sqlite3_bind_text(ppStmt,3,jenisKelamin,-1,0);
        sqlite3_bind_text(ppStmt,4,fakultas,-1,0);
        sqlite3_bind_text(ppStmt,5,programStudi,-1,0);
        sqlite3_bind_text(ppStmt,6,alamat,-1,0);
        sqlite3_bind_text(ppStmt,7,telepon,-1,0);
        rc=sqlite3_step(ppStmt);
        if(rc!=SQLITE_DONE)
        {
            sqlite3_busy_handler(db,NULL,0);
            cout<<"gagal !!\n";
            cout<<sqlite3_errmsg(db);
        }
    }
    else
    {
        cout<<"Masukan id anggota :";
        cin>>idanggota;
        string select="select idAnggota from anggota where idAnggota=?";
        rc=sqlite3_prepare_v2(db,select.c_str(),500,&ppStmt,0);
        if(rc==SQLITE_OK)
        {
            sqlite3_bind_int(ppStmt,1,idanggota);
        }
        else
        {
            cout<<sqlite3_errmsg(db)<<":"<<sqlite3_errcode(db)<<endl;
        }
        rc=sqlite3_step(ppStmt);   
        if(rc==SQLITE_ROW)
        {          
            cout<<sqlite3_column_text(ppStmt,0)<<endl;
            cout<<sqlite3_column_text(ppStmt,1)<<endl;
            cout<<sqlite3_column_text(ppStmt,2)<<endl;
            cout<<sqlite3_column_text(ppStmt,3)<<endl;
            cout<<sqlite3_column_text(ppStmt,4)<<endl;
            cout<<sqlite3_column_text(ppStmt,5)<<endl;
            cout<<sqlite3_column_text(ppStmt,6)<<endl; 
        }
    }
    sqlite3_finalize(ppStmt);
 }

我的程序没有返回错误,但它没有显示我从数据库中选择的数据。

1 个答案:

答案 0 :(得分:0)

您的SQL语句是:

string select="select idAnggota from anggota where idAnggota=?";

此语句仅返回一个值 - idAnggota。您正尝试从此语句中打印出7个值。

更改SQL语句以检索要打印的所有值。类似的东西:

string select="select idAnggota, nama, jeniskelamin, fakultas, programstudi, alamat, telepon from anggota where idAnggota=?";