sql >> Databáze >  >> RDS >> Mysql

Objective-C a MySQL

Neexistuje žádné Objective-C API pro MySQL dodávané společností Apple. Existuje však několik obalů třetích stran rozhraní C API. Podívejte se na MySQL-Cocoa Framework , například.

Vzhledem k tomu, že znáte PHP a C API, může být pro vás jednodušší jednoduše používat C API. Budete muset zvládnout převod mezi objekty a datovými typy C, ale to není moc práce.

Upravit

Dochází k selhání, protože hodnota řádku vrácená rozhraním mysql API není objekt a váš formátovací řetězec říká NSLog zacházet s tím jako s jedním. %@ je zástupný symbol formátovacího řetězce pro objekt, nikoli datový typ C.

Není jasné, jaká je v tomto případě hodnota. Zdá se, že kontext naznačuje, že jde o obrazová data. Pokud je to váš případ, pravděpodobně budete chtít vytvořit NSData objekt z objektu blob vráceného dotazem, např.:

NSData    *imageData;

imageData = [[ NSData alloc ] initWithBytes: row[ i ] length: lengths[ i ]];
NSLog( @"imageData: %@", imageData );
/* ...create NSImage, CGImage, etc... */
[ imageData release ];

Pokud jsou vaše výsledková pole pouze řetězce, použijte NSString 's -initWithBytes:length:encoding: metoda:

NSString    *s;

s = [[ NSString alloc ] initWithBytes: row[ i ] length: lengths[ i ]
                        encoding: NSUTF8StringEncoding ];
NSLog( @"result column %d: %@", i, s );
[ s release ];



  1. Izolace transakcí v PostgreSQL

  2. Jak převést řetězec na velká písmena v SQL

  3. Java MySQL připravila dávku prohlášení

  4. Funkce Mysql vrací hodnotu z dotazu