在下面的示例中,使用单个数据库表(Animals),其中包含三列(名称,描述,照片)。
如果我的数据库包含两个表(1.animals,2.Cities),每个表都有其列(名称,描述,照片),我该如何要求例如。 “名称城市”,位于第1栏表2中,与“动物描述”相结合,位于表1第2列中,用于制作具有这些“值”的对象。
引用这个.....(char *)sqlite3_column_text(compiledStatement,1)....
谢谢。
// Open the database from the users filessytem
if(sqlite3_open([databasePath UTF8String], &database) == SQLITE_OK) {
// Setup the SQL Statement and compile it for faster access
const char *sqlStatement = "select * from animals";
sqlite3_stmt *compiledStatement;
if(sqlite3_prepare_v2(database, sqlStatement, -1, &compiledStatement, NULL) == SQLITE_OK) {
// Loop through the results and add them to the feeds array
while(sqlite3_step(compiledStatement) == SQLITE_ROW) {
// Read the data from the result row
NSString *aName = [NSString stringWithUTF8String:(char *)sqlite3_column_text(compiledStatement, 1)];
NSString *aDescription = [NSString stringWithUTF8String:(char *)sqlite3_column_text(compiledStatement, 2)];
NSString *aImageUrl = [NSString stringWithUTF8String:(char *)sqlite3_column_text(compiledStatement, 3)];
// Create a new animal object with the data from the database
Animal *animal = [[Animal alloc] initWithName:aName description:aDescription url:aImageUrl];
答案 0 :(得分:0)
如果两个表的列都是name
,description
和photo
,我看不到它们之间的关系。无论如何,这是一个SQL语句,可以满足您的要求,但它没有多大意义:
SELECT c.name, a.description FROM Cities AS c, animals AS a;
如果我误解了你的问题,请告诉我。