Как запросить внешнюю базу данных SQL - приложение для iPhone - PullRequest
6 голосов
/ 05 июля 2011

Я уже использовал sqlite3 в приложении для iPhone, но как я могу выполнить запрос к внешней базе данных SQL, расположенной на моем веб-сайте?

Ответы [ 4 ]

9 голосов
/ 05 июля 2011

Ваше приложение не выполняет фактический запрос.Правильный способ сделать это - настроить API для вашего сайта, чтобы сайт выполнял запросы и возвращал соответствующие данные в ваше приложение.

Ваш API обычно состоит из нескольких конечных элементов.точки, которые возвращают данные, отформатированные для вашего приложения.Например, вы можете создать страницу PHP или Python, которая запрашивает в вашей базе данных все сообщения для данного пользователя и возвращает их в массиве в кодировке JSON или XML.(Формат данных полностью зависит от вас. Для iOS есть рамки для синтаксического анализа обоих форматов.)

Например, предположим, у вас есть PHP-страница на вашем сервере, которая возвращает текущий день недели.Ваш PHP будет выглядеть примерно так:

<?php
  echo date("l");
?>

Давайте представим, что вы сохранили это как http://example.com/dayoftheweek.php

Я рекомендую использовать ASIHTTPRequest Framework для выполнения HTTPзапросы из вашего приложения.Тем не менее, давайте продолжим и установим соединение с вашей страницей PHP.Предполагая, что у вас все ASIHTTPRequest настроен в вашем проекте, вот как может выглядеть запрос:

NSURL *url = [NSURL URLWithString:@"http://example.com/dayoftheweek.php"]
ASIHTTPRequest *request = [[ASIHTTPRequest alloc] initWithURL:url];
[request setDelegate:self];

Теперь вам нужно реализовать методы делегата ASIHTTPRequest для анализа возвращаемых данных.Метод, который обрабатывает завершенный запрос, показан здесь:

- (void)requestFinished:(ASIHTTPRequest *)request{
   //Here you would store the returned data and/or parse it
}

Чтобы реализовать API, ваши PHP-страницы были бы более сложными.Вы бы построили более сложный запрос, передав переменные и тому подобное, и страница PHP работала бы как обычный веб-сервис, возвращая запрошенные вами данные.

0 голосов
/ 05 июля 2011

Подход, который используется для связи с любой внешней базой данных, заключается в использовании веб-сервисов (которые мы называем здесь API). Вы делаете запрос к серверу, который обычно является вызовом функции на сервере, и сервер отвечает вам запрошенными данными.

Вы можете пройти через Это . Что касается PHP и других соответствующих терминов, то вам придется приложить некоторые усилия и найти код в Google. Это также может быть полезным. Обычно веб-сервисы, написанные для iPhone, используют XML / JSON для iPhone. Парсер JSON / XML доступен

0 голосов
/ 05 июля 2011

@ StanLe: вы не можете напрямую использовать SQL Server или mySQL в собственном приложении. Однако вы можете связать свое приложение с внешними базами данных SQL следующим образом.

  1. Создание XML API с использованием PHP или C # или любого инструмента, который предоставляет XML-файл в результате.
  2. Используйте некоторый парсер (NSXMLParser) в xcode, который может читать теги страницы XML.

Вот пример

Вот пример кода

Другой очень Простой пример

Если все еще есть путаница, пожалуйста, напишите обратно.

0 голосов
/ 05 июля 2011

Я думаю, что вы имеете в виду MySQL.Обычно доступ к базам данных MySQL запрещен извне и по уважительной причине.Вы можете хотеть написать API, который обращается к вашей базе данных вместо этого.Ваше приложение iPhone будет взаимодействовать с этим API для вставки и извлечения данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...