Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Objective-C và MySQL

Không có API Objective-C do Apple cung cấp cho MySQL. Tuy nhiên, có một số trình bao bọc bên thứ ba của API C. Hãy xem MySQL-Cocoa Framework , chẳng hạn.

Với sự quen thuộc của bạn với API PHP và C, bạn có thể đơn giản hơn khi sử dụng API C. Bạn sẽ cần xử lý chuyển đổi giữa các đối tượng và kiểu dữ liệu C, nhưng điều này không có nhiều tác dụng.

Chỉnh sửa

Bạn gặp sự cố vì giá trị hàng được trả về bởi API mysql không phải là một đối tượng và chuỗi định dạng của bạn đang nói với NSLog để coi nó như một. %@ là trình giữ chỗ chuỗi định dạng cho một đối tượng, không phải kiểu dữ liệu C.

Không rõ giá trị trong trường hợp này là bao nhiêu. Bối cảnh dường như ngụ ý rằng đó là dữ liệu hình ảnh. Nếu đúng như vậy, bạn có thể sẽ muốn tạo một NSData đối tượng từ blob được trả về bởi truy vấn, ví dụ:

NSData    *imageData;

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

Nếu trường kết quả của bạn chỉ là chuỗi, hãy sử dụng NSString của -initWithBytes:length:encoding: phương pháp:

NSString    *s;

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



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách khôi phục cơ sở dữ liệu được mã hóa kép bởi mysqldump

  2. Câu lệnh If Else đơn giản trong sql

  3. MySQL Workbench nhanh hơn nhiều so với Python cho cùng một truy vấn

  4. Sự khác biệt giữa cachePrepStmts và useServerPrepStmts trong MySQL JDBC Driver là gì

  5. RSA trong Android tạo ra các khóa đúng nhưng giải mã sai