Получение данных из базы данных.

#iphone #mysql #database #ios #uitableview

#iPhone #mysql #База данных #iOS #uitableview

Вопрос:

Хорошо, я могу подключиться к базе данных mysql из своего приложения для iPhone, я настроил его в виде таблицы. Поэтому, когда я вызываю метод didSelectRow, он сохраняет идентификационный номер пользователя, а не номер indexRow. Мой вопрос в том, как я могу использовать этот сохраненный идентификатор для извлечения остальной информации, поэтому при нажатии строки отображается остальная часть конкретной информации об этом пользователе. Я знаю, что я не показываю здесь никакого кода, потому что я пишу это со своего iPad, поэтому я надеюсь, что вы будете следить за тем, что я пытаюсь сделать, и помогать. Спасибо.

Ответ №1:

Я могу помочь вам одним способом: вам нужно сохранить массив, поступающий из базы данных, в массиве в appdel, и вы можете вызвать этот массив в любое время, когда мы хотим, чтобы пример кода был здесь

это массив в appdb

 NSMutableArray *fruit_details;
  

вызовите один метод в Appdb

 [self readStudentFromDatabase];
  

затем напишите код здесь в этом методе

 NSArray *documentpaths= NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);

NSString *documentDir = [documentpaths objectAtIndex:0];

databasePath = [documentDir stringByAppendingPathComponent:databaseName];
fruit_details=[[NSMutableArray alloc]init];
//open the database from the users filesystem
if(sqlite3_open([databasePath UTF8String], amp;database)==SQLITE_OK)
{
    // Setup the SQL Statement and compile it for faster access
    const char *sqlStatement ="select * from stu";
    sqlite3_stmt *compiledStatement;
    if(sqlite3_prepare_v2(database, sqlStatement,-1, amp;compiledStatement , NULL)== SQLITE_OK)
    {
        // Loop through the results and add them to the feeds array
        while (sqlite3_step(compiledStatement)==SQLITE_ROW) 
        {
            NSString *aName =[NSString stringWithUTF8String:(char *)sqlite3_column_text(compiledStatement,0)];
            NSString *amarks=[NSString stringWithUTF8String:(char *)sqlite3_column_text(compiledStatement,1)];
            NSString *arank =[NSString stringWithUTF8String:(char *)sqlite3_column_text(compiledStatement,2)];
            NSString *aaddr =[NSString stringWithUTF8String:(char *)sqlite3_column_text(compiledStatement,3)];
            NSString *aemail =[NSString stringWithUTF8String:(char *)sqlite3_column_text(compiledStatement,4)];
            NSString *aphno =[NSString stringWithUTF8String:(char *)sqlite3_column_text(compiledStatement,5)];
            NSString *aage =[NSString stringWithUTF8String:(char *)sqlite3_column_text(compiledStatement,6)];
            NSString *asex =[NSString stringWithUTF8String:(char *)sqlite3_column_text(compiledStatement,7)];
            NSString *adate =[NSString stringWithUTF8String:(char *)sqlite3_column_text(compiledStatement,8)];
            NSString *aimage=[NSString stringWithUTF8String:(char *)sqlite3_column_text(compiledStatement, 9)];
            // // Create a new animal object with the data from the database

        //animal *animal_object=[[animal alloc]initWithName:aName description:arollNO url:amarks];

            //add the animal object to the animal ar
            //[animals addObject:animal_object];
            temp=[[NSMutableArray alloc]init];
            [temp addObject:aName];
            [temp addObject:amarks];
            [temp addObject:arank];
            [temp addObject:aaddr];
            [temp addObject:aemail];
            [temp addObject:aphno];
            [temp addObject:aage];
            [temp addObject:asex];
            [temp addObject:adate];
            [temp addObject:aimage];
            [fruit_details addObject:temp];
        }
    }
    sqlite3_finalize(compiledStatement);

}
sqlite3_close(database);
  

Я думаю, это может помочь вам…..

Ответ №2:

Хранится ли идентификатор, который вы получаете из базы данных? Насколько я понимаю, когда пользователь выбирает строку, вы хотите перейти к новому представлению и получить соответствующую информацию из базы данных, используя этот сохраненный идентификатор.

Комментарии:

1. Да, это совершенно верно. Идентификатор — это то, что я получаю из базы данных, я просто не могу или не понимаю, как извлечь соответствующие данные и поместить их в новое представление?