Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Objective-C e MySQL


Não há API Objective-C fornecida pela Apple para MySQL. Existem alguns wrappers de terceiros da API C, no entanto. Dê uma olhada no MySQL-Cocoa Framework , por exemplo.

Dada a sua familiaridade com a API PHP e C, pode ser mais simples para você simplesmente usar a API C. Você precisará lidar com a conversão entre objetos e tipos de dados C, mas isso não dá muito trabalho.

Editar

Você está travando porque o valor da linha retornado pela API mysql não é um objeto e sua string de formato está informando NSLog para tratá-lo como um. O %@ é um espaço reservado de string de formato para um objeto, não um tipo de dados C.

Não está claro qual é o valor neste caso. O contexto parece implicar que são dados de imagem. Se for esse o caso, você provavelmente desejará criar um NSData objeto do blob retornado pela consulta, por exemplo:
NSData    *imageData;

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

Se seus campos de resultado forem apenas strings, 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 ];