#include #include #include #include #include #include /* * Implementing SQLite3 on suggestion from MD.rpm - Thanks MD! * */ //Declare all the functions static int createDB(const char* s); static int searchTable(const char* s, std::string msearch); static int callback(void* NotUsed, int argc, char** argv, char** azColName); // static int createTable(const char* s); int main() { const char* dbFile = "hardware.db"; sqlite3* hardwareDB; createDB(dbFile); searchTable(dbFile, "7800x3d"); // Replace this string with a variable that is the query grabbed from the user! system("sleep 1s"); return 0; } static int createDB(const char* s) { sqlite3* hardwareDB; int exit = 0; exit = sqlite3_open(s, &hardwareDB); sqlite3_close(hardwareDB); return 0; } static int searchTable(const char* s, std::string msearch) { sqlite3* hardwareDB; int exit = sqlite3_open(s, &hardwareDB); std::string sql = "SELECT * FROM cpu WHERE model='" + msearch + "';"; sqlite3_exec(hardwareDB, sql.c_str(), callback, NULL, NULL); return 0; } static int callback(void* NotUsed, int argc, char** argv, char** azColName) { // Wrap out ouput so it's easier to read for multiple results std::cout << "=====================" << std::endl; for (int i=0; i < argc; i++) { //column name and value std::cout << azColName[i] << ": " << argv[i] << std::endl; } std::cout << std::endl; return 0; }