sql >> Database >  >> RDS >> Mysql

Objective-C en MySQL

Er is geen door Apple geleverde Objective-C API voor MySQL. Er zijn echter een paar wrappers van derden van de C API. Bekijk het MySQL-Cocoa Framework , bijvoorbeeld.

Gezien uw bekendheid met de PHP- en C-API, kan het voor u eenvoudiger zijn om gewoon de C-API te gebruiken. U moet de conversie tussen objecten en C-gegevenstypen afhandelen, maar dit is niet veel werk.

Bewerken

Je crasht omdat de rijwaarde die wordt geretourneerd door de mysql-API geen object is, en je opmaakreeks vertelt NSLog om het als één te behandelen. De %@ is een tijdelijke aanduiding voor een tekenreeks voor een object, geen C-gegevenstype.

Het is niet duidelijk wat de waarde in dit geval is. De context lijkt te impliceren dat het beeldgegevens zijn. Als dat het geval is, wilt u waarschijnlijk een NSData . maken object uit de blob die door de query is geretourneerd, bijvoorbeeld:

NSData    *imageData;

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

Als uw resultaatvelden alleen tekenreeksen zijn, gebruikt u NSString 's -initWithBytes:length:encoding: methode:

NSString    *s;

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



  1. Gegevens invoegen in mysql-tabellen met behulp van ansible

  2. Meerdere woorden zoeken met Ruby en MySQL

  3. Probleem met veel databases?

  4. Hoe voeg ik een werkelijke NULL-waarde in een kolom met nulling in?