Chỉ dành cho những siêu nhân như tôi tự hỏi làm thế nào hoặc mọi người có ý gì
PRAGMA table_info('table_name')
Bạn muốn sử dụng sử dụng như tuyên bố chuẩn bị của bạn như dưới đây. Làm như vậy sẽ chọn một bảng trông như thế này ngoại trừ được điền với các giá trị liên quan đến bảng của bạn.
cid name type notnull dflt_value pk
---------- ---------- ---------- ---------- ---------- ----------
0 id integer 99 1
1 name 0 0
Trong đó id và tên là tên thực tế của các cột của bạn. Vì vậy, để có được giá trị đó, bạn cần chọn tên cột bằng cách sử dụng:
//returns the name
sqlite3_column_text(stmt, 1);
//returns the type
sqlite3_column_text(stmt, 2);
Cái nào sẽ trả về tên của hàng hiện tại. Để lấy tất cả chúng hoặc tìm cái bạn muốn, bạn cần lặp qua tất cả các hàng. Cách đơn giản nhất để làm như vậy sẽ theo cách dưới đây.
//where rc is an int variable if wondering :/
rc = sqlite3_prepare_v2(dbPointer, "pragma table_info ('your table name goes here')", -1, &stmt, NULL);
if (rc==SQLITE_OK)
{
//will continue to go down the rows (columns in your table) till there are no more
while(sqlite3_step(stmt) == SQLITE_ROW)
{
sprintf(colName, "%s", sqlite3_column_text(stmt, 1));
//do something with colName because it contains the column's name
}
}
SQLite.swift
, hãy xem câu hỏi và câu trả lời này để biết danh sách tên cột đơn giản hoặc tên này cho các vấn đề di chuyển.