Heim >Backend-Entwicklung >C++ >Wie führt die C++-Funktionsbibliothek die Datenbankverwaltung durch?
Die C++-Funktionsbibliothek kann für die Datenbankverwaltung verwendet werden. Sie bietet eine Reihe von Funktionen zur Unterstützung von Vorgängen wie Verbindung, Tabellenerstellung, Datenabfrage und Transaktionsverarbeitung geeignet für die Verwaltung allgemeiner Interaktionen mit der Datenbankaufgabe.
C++-Funktionsbibliothek für die Datenbankverwaltung
Die C++-Standardbibliothek bietet eine breite Palette von Funktionen zur Bearbeitung allgemeiner Aufgaben im Zusammenhang mit der Datenbankinteraktion. Diese Funktionsbibliotheken stammen hauptsächlich aus 9fab03fbd532df507021ddb732530d64
Header-Dateien.
Mit Datenbank verbinden
sqlite3 *db; int rc = sqlite3_open("database.db", &db);
Tabelle erstellen
char *zErrMsg = 0; int rc = sqlite3_exec(db, "CREATE TABLE IF NOT EXISTS mytable (id INTEGER PRIMARY KEY, name TEXT)", NULL, 0, &zErrMsg);
Daten einfügen
sqlite3_stmt *stmt; sqlite3_prepare_v2(db, "INSERT INTO mytable (name) VALUES (?)", -1, &stmt, NULL); sqlite3_bind_text(stmt, 1, "John Doe", -1, SQLITE_STATIC); sqlite3_step(stmt); sqlite3_finalize(stmt);
Daten abfragen
sqlite3_stmt *stmt; sqlite3_prepare_v2(db, "SELECT name FROM mytable WHERE id=?", -1, &stmt, NULL); sqlite3_bind_int(stmt, 1, 1); while (sqlite3_step(stmt) == SQLITE_ROW) { printf("%s\n", sqlite3_column_text(stmt, 0)); } sqlite3_finalize(stmt);
Transaktion. Verarbeitung
sqlite3_exec(db, "BEGIN TRANSACTION"); // 执行多条查询 sqlite3_exec(db, "COMMIT");
Praktischer Fall: Studenteninformationsdatenbank verwalten
#include <iostream> #include <sqlite3.h> using namespace std; int main() { sqlite3 *db; int rc = sqlite3_open("students.db", &db); if (rc) { cerr << "Error opening database: " << sqlite3_errmsg(db) << endl; return -1; } // 创建表 char *zErrMsg = 0; rc = sqlite3_exec(db, "CREATE TABLE IF NOT EXISTS students (id INTEGER PRIMARY KEY, name TEXT, age INTEGER)", NULL, 0, &zErrMsg); if (rc) { cerr << "Error creating table: " << zErrMsg << endl; sqlite3_free(zErrMsg); sqlite3_close(db); return -1; } // 插入数据 sqlite3_stmt *stmt; rc = sqlite3_prepare_v2(db, "INSERT INTO students (name, age) VALUES (?, ?)", -1, &stmt, NULL); if (rc) { cerr << "Error preparing insert statement: " << sqlite3_errmsg(db) << endl; sqlite3_close(db); return -1; } // 插入多条数据 for (int i = 0; i < 5; i++) { sqlite3_bind_text(stmt, 1, "Student " + to_string(i), -1, SQLITE_STATIC); sqlite3_bind_int(stmt, 2, 20 + i); sqlite3_step(stmt); sqlite3_reset(stmt); } sqlite3_finalize(stmt); // 查询数据 stmt = nullptr; rc = sqlite3_prepare_v2(db, "SELECT * FROM students", -1, &stmt, NULL); if (rc) { cerr << "Error preparing select statement: " << sqlite3_errmsg(db) << endl; sqlite3_close(db); return -1; } while (sqlite3_step(stmt) == SQLITE_ROW) { int id = sqlite3_column_int(stmt, 0); const char *name = sqlite3_column_text(stmt, 1); int age = sqlite3_column_int(stmt, 2); cout << "Record " << id << ": Name = " << name << ", Age = " << age << endl; } sqlite3_finalize(stmt); sqlite3_close(db); return 0; }
Beim Ausführen dieses Programms wird eine Tabelle mit dem Namen „students“ in einer Datenbank mit dem Namen „students.db“ mit drei Spalten erstellt: ID, Name und Alter. Außerdem werden fünf Testdatenelemente eingefügt und die Datenbank abgefragt, um Schülerinformationen abzurufen.
Das obige ist der detaillierte Inhalt vonWie führt die C++-Funktionsbibliothek die Datenbankverwaltung durch?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!