2017-07-21 72 views
0

不知道如何制定這個問題......我正在使用SQLite作爲數據庫。我的問題是,我打開和關閉我的數據庫在每個查詢一遍又一遍,我想知道是否有一個propre方式來避免它在C語言「因式分解」C中的SQLite數據庫連接

這是我在請求之前總是做的代碼...我的代碼是用函數處理的。

char *err_msg = 0; 
    sqlite3_stmt *res; 

    int rc = sqlite3_open(db_name, &db); 

    if (rc != SQLITE_OK) { 

     fprintf(stderr, "Cannot open database: %s\n", sqlite3_errmsg(db)); 
     sqlite3_close(db); 

     return 1; 
    } 

    char *sql = "SELECT * FROM table"; 

    rc = sqlite3_prepare_v2(db, sql, -1, &res, 0); 

所以我的問題是我能做些什麼避免打開我的數據庫,並把它放在我rc每次我想打一個新的查詢時間?

是否有可能在開始時單次打開它,將指針變量傳遞給每個函數,並自動提交每個sql查詢,然後在我的程序的出口點關閉它?

回答

1

只需創建一個單獨的函數來打開數據庫連接並將其存儲在全局變量中。然後,無論何時您需要訪問數據庫,只需使用該全局。

退出前,調用另一個關閉數據庫連接的函數。

+0

我也不得不擴展我的全局變量,所以我可以使用它在側.c文件。感謝@dbush的幫助! – Praem