Sqlite 데이터베이스에서 테이블 이름과 필드 이름 가져오기
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *path = [documentsDirectory stringByAppendingPathComponent:@"database_name"];
sqlite3 *database;
sqlite3_open([path UTF8String], &database);
char *errorMsg;
const char *createSQL = "CREATE TABLE IF NOT EXISTS PEOPLE (ID INTEGER PRIMARY KEY AUTOINCREMENT, FIELD_DATA TEXT)";
int result = sqlite3_exec(database, createSQL, NULL, NULL, &errorMsg);
sqlite3_stmt *statement;
if (result == SQLITE_OK) {
const char *getTableInfo = "select * from sqlite_master where type='table' order by name;";
result = sqlite3_prepare_v2(database, getTableInfo, -1, &statement, nil);
while (sqlite3_step(statement) == SQLITE_ROW) {
char *nameData = (char *)sqlite3_column_text(statement, 1);
NSString *tableName = [[NSString alloc] initWithUTF8String:nameData];
NSLog(@"name:%@",tableName);
}
const char *getColumn = "PRAGMA table_info(PEOPLE)";
result = sqlite3_prepare_v2(database, getColumn, -1, &statement, nil);
while (sqlite3_step(statement) == SQLITE_ROW) {
char *nameData = (char *)sqlite3_column_text(statement, 1);
NSString *columnName = [[NSString alloc] initWithUTF8String:nameData];
NSLog(@"columnName:%@",columnName);
}
sqlite3_finalize(statement);
}
sqlite3_close(database);
지적 사항:
sqlite_Master 테이블 구조 CREATE TABLE sqlitemaster ( type TEXT, name TEXT, tbl_name TEXT, rootpage INTEGER, sql TEXT );
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.