Файлы для загрузки:

libpq.a

Обертка для postgreSQL API

Использование созданной обертки postgreSQL для iOS Cocoa Touch

Включаем в проект созданные в предъидущих разделах файлы обертки, добавляем файлы из папки Headers библиотеки libpq.a, и наконец в список используемых для сборки библиотек (Frameworks) добавляем саму libpq.a.

Листинг примера использования:

#import "mbpostgresql.h"
// ...  в каком либо методе:

  // mbDB_PG* db; - задекларировано в заголовочном файле
  
  db = [[mbDB_PG alloc] initWithServerName:@"localhost" dbName:@"lbx" port:5432];
  // localhost будет работать только на симуляторе iOS
  db.userName = @"postgres"; // имя пользователя
  db.password = @"q1"; // например
        //  ...
  
  @try {
    if(!db.connected) // проверяем на подключение (если это необходимо)
      [db connect]; // подключаем
    NSDate* today = [NSDate date]; // текущая дата
    NSString* s = [db stringFromDate:today]; // строковое представление даты для postgres запроса
    mbQueryPG* query = [[mbQueryPG alloc] initWithDatabase:db];
    query.sql = [NSString stringWithFormat:@"select count(*) from am.dgv where flag=0 and dzl<'%@'",s];
    [query execQuery];
    
    // Получаем значение колонки 0 строки 0 из запроса
    NSInteger count = [query integerValFromRow:0 Column:0];
    if(count){
      // вывод результата запроса в текстовое поле, для примера
      textFieldCount.text = [NSNumber numberWithInteger:count].stringValue;
      query.sql = @"select dzl,name,sump from am.dgv where flag=1";
      [query execQuery];
      int rows = (int)query.recordCount; // количество строк в результате запроса
      for(int i=0;i<rows;i++){
        // получаем в цикле данные для каждой строки запроса
        NSDate* dt = [query dateValFromRow:i Column:0];
        NSString* name = [query stringValFromRow:i Column:1];
        double sump = [query doubleValFromRow:i Column:2];
        //   ...   делаем что либо с данными
      }
      // запишем что-либо в таблицу
      // предположим есть некая строка NSString* anyString
      NSString* eAnyString = [query r_escape:anyString]; // Экранируем строку от спец символов
      query.sql = [NSString stringWithFormat:@"insert into am.stat(name,ident) values('%@',1)",eAnyString];
      [query execQuery];
      //   ...
      // если соединение больше не нужно отключаемся
      [db disconnect];
    }
  }
  @catch (mbErrorPG *exception) {
    // если произошла ошибка подключения или запроса выводим сообщение об ошибке
    [exception alertBox];
  }
 
 
homeЗаметили ошибкукарта сайта 
   Made on a Mac