sql >> Base de Datos >  >> RDS >> Mysql

Objective-C y MySQL

No hay ninguna API de Objective-C proporcionada por Apple para MySQL. Sin embargo, hay algunos contenedores de terceros de la API de C. Eche un vistazo al MySQL-Cocoa Framework , por ejemplo.

Dada su familiaridad con PHP y la API de C, puede que le resulte más sencillo utilizar simplemente la API de C. Deberá manejar la conversión entre objetos y tipos de datos C, pero esto no es mucho trabajo.

Editar

Se está bloqueando porque el valor de la fila devuelto por la API de mysql no es un objeto, y su cadena de formato le dice a NSLog para tratarlo como uno. El %@ es un marcador de posición de cadena de formato para un objeto, no un tipo de datos C.

No está claro cuál es el valor en este caso. El contexto parece implicar que se trata de datos de imagen. Si ese es el caso, probablemente querrá crear un NSData objeto del blob devuelto por la consulta, por ejemplo:

NSData    *imageData;

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

Si sus campos de resultados son solo cadenas, use NSString 's -initWithBytes:length:encoding: método:

NSString    *s;

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