如何查询外部SQL数据库 - iPhone应用程序

时间:2011-07-05 17:20:48

标签: iphone sql ios sqlite

我之前在iPhone应用程序中使用过sqlite3,但是如何查询到我网站上的外部SQL数据库呢?

4 个答案:

答案 0 :(得分:9)

您的应用不会执行实际查询。正确的方法是为您的网站设置API,以便网站进行查询并将相应的数据返回给您的应用。

您的API通常包含许多返回为您的应用格式化的数据的端点。例如,您可以创建一个PHP或Python页面,查询数据库以查找给定用户的所有帖子,并以JSON或XML编码的数组返回它们。 (数据格式完全取决于您。有一些框架可以解析iOS可用的两种格式。)

例如,假设您的服务器上有一个PHP页面,它返回当周的当前日期。您的PHP看起来像这样:

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

让我们假设您已将其保存为http://example.com/dayoftheweek.php

我建议使用ASIHTTPRequest框架从您的应用中执行HTTP请求。也就是说,让我们继续并建立与PHP页面的连接。假设您在项目中设置了所有ASIHTTPRequest,请参阅以下内容:

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

现在,您需要实现ASIHTTPRequest Delegate方法,以解析返回的数据。处理已完成请求的方法如下所示:

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

要实现API,您的PHP页面会更复杂。您将构建一个更复杂的请求,传入变量等,PHP页面将像常规Web服务一样,返回您请求的数据。

答案 1 :(得分:0)

我认为你的意思是MySQL。通常从外部禁止访问MySQL数据库,这是有充分理由的。您可能希望编写一个访问数据库的API。您的iPhone应用程序将与此API通信以插入和检索数据。

答案 2 :(得分:0)

@StanLe:您不能直接在本机应用程序中使用SQL Server或mySQL。但是,您可以通过以下方式将应用程序与外部SQL数据库进行通信。

  1. 使用PHP或C#或任何在结果中提供XML文件的工具创建XML API。
  2. 在xcode中使用一些解析器(NSXMLParser),它可以读取XML页面的标签。
  3. 这是example

    这是sample Code

    另一个非常Simple Example

    如果还有任何困惑,请回信。

答案 3 :(得分:0)

用于与任何外部数据库通信的方法是通过Webservices(我们在这里称之为API)。您向服务器发出请求,该服务器通常是服务器上的函数调用,服务器会回复您请求的数据。

您可以浏览This。就PHP和其他相关术语而言,您必须付出一些努力并谷歌一些代码。 This也可能有用。通常,为iPhone编写的Web服务使用XML的XML / JSON。 JSON / XML解析器可用