2016-07-14 3 views
0

C:\ tmpの次のコードを使用してC++でデータベースを作成しました。また、テーブルを作成し、C++でテーブルにアクセスできます。しかし、私はSQLiteのコマンドライン経由でそのテーブルにアクセスしようとすると、私は "そのようなテーブル"のエラーを取得します。ここでSQLiteのコマンドラインでテーブルにアクセスできない

は私がエラーを取得、次のコマンドラインを介してLoadDatesにアクセスするためにアクセスしたときに、私はその後、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: %s\n", sqlite3_errmsg(db)); 
     return(0); 
    }else{ 
     printf( "Opened database successfully\n"); 
    } 

    /* 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: %s\n", zErrMsg); 
     sqlite3_free(zErrMsg); 
    }else{ 
     printf( "Table created successfully\n"); 
} 

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: %s\n", zErrMsg); 
     sqlite3_free(zErrMsg); 
    }else{ 
     printf( "Records created successfully\n"); 
    } 

をデシベルを作成する方法です。私は、cでmyTest1.dbを見ることができます:\ tmpディレクトリ

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 

答えて

1

使用コマンドラインでsqlite3.exe呼び出す完全なファイル名:

C:\temp> sqlite3.exe myTest1.db 
関連する問題