sql >> Database teknologi >  >> RDS >> Mysql

Objective-C og MySQL

Der er ikke noget Apple-leveret Objective-C API til MySQL. Der er dog et par tredjepartsindpakninger af C API. Tag et kig på MySQL-Cocoa Framework , for eksempel.

I betragtning af dit kendskab til PHP og C API, kan det være mere ligetil for dig blot at bruge C API. Du bliver nødt til at håndtere konvertering mellem objekter og C-datatyper, men det er ikke meget arbejde.

Rediger

Du går ned, fordi rækkeværdien returneret af mysql API ikke er et objekt, og din formatstreng fortæller NSLog at behandle det som én. %@ er en format-streng pladsholder for et objekt, ikke en C-datatype.

Det er ikke klart, hvad værdien er i dette tilfælde. Konteksten synes at antyde, at det er billeddata. Hvis det er tilfældet, vil du sandsynligvis gerne oprette en NSData objekt fra den klat, der returneres af forespørgslen, f.eks.:

NSData    *imageData;

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

Hvis dine resultatfelter kun er strenge, skal du bruge NSString 's -initWithBytes:length:encoding: metode:

NSString    *s;

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



  1. Problem med MySql INSERT MAX()+1

  2. GROUP BY for at kombinere/sammensætte en kolonne

  3. ExecuteNonQuery returnerer -1 ved brug af sql COUNT på trods af forespørgselsstrengen

  4. To venstre joins giver mig usande data (dobbelte data?) med MySQL