您好,登錄后才能下訂單哦!
在C++中,std::to_string()
是一個標準庫函數,用于將數字類型(如int、float、double等)轉換為字符串。當你需要將數字存儲到數據庫或者需要與數據庫進行交互時,這個函數會非常有用。
以下是一個簡單的示例,展示了如何使用std::to_string()
函數與SQLite數據庫進行交互:
#include<iostream>
#include<string>
#include<sqlite3.h>
int main() {
sqlite3* db;
char* errorMessage = nullptr;
int exitcode = sqlite3_open("test.db", &db);
if (exitcode) {
std::cerr << "Can't open database: "<< sqlite3_errmsg(db)<< std::endl;
return exitcode;
} else {
std::cout << "Opened database successfully!"<< std::endl;
}
std::string sql = "CREATE TABLE IF NOT EXISTS USERS("
"ID INTEGER PRIMARY KEY AUTOINCREMENT,"
"NAME TEXT NOT NULL,"
"AGE INT NOT NULL,"
"SALARY REAL);";
exitcode = sqlite3_exec(db, sql.c_str(), nullptr, nullptr, &errorMessage);
if (exitcode != SQLITE_OK) {
std::cerr << "SQL error: "<< errorMessage<< std::endl;
sqlite3_free(errorMessage);
} else {
std::cout << "Table created successfully"<< std::endl;
}
int id = 1;
std::string name = "John Doe";
int age = 30;
double salary = 60000.50;
std::string insert_sql = "INSERT INTO USERS (ID, NAME, AGE, SALARY) VALUES (" +
std::to_string(id) + ", '" + name + "', " +
std::to_string(age) + ", " +
std::to_string(salary) + ");";
exitcode = sqlite3_exec(db, insert_sql.c_str(), nullptr, nullptr, &errorMessage);
if (exitcode != SQLITE_OK) {
std::cerr << "SQL error: "<< errorMessage<< std::endl;
sqlite3_free(errorMessage);
} else {
std::cout << "Records created successfully"<< std::endl;
}
sqlite3_close(db);
return 0;
}
在這個示例中,我們首先創建了一個SQLite數據庫連接,并創建了一個名為USERS的表。然后,我們使用std::to_string()
函數將整數和浮點數轉換為字符串,以便將它們插入到數據庫中。最后,我們關閉了數據庫連接。
請注意,這個示例僅用于演示目的。在實際項目中,你可能需要考慮使用預編譯的SQL語句和參數綁定來防止SQL注入攻擊。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。