MySQL के लिए कोई Apple द्वारा प्रदत्त Objective-C API नहीं है। हालाँकि, C API के कुछ तृतीय-पक्ष आवरण हैं। MySQL-Cocoa Framework<पर एक नज़र डालें। /ए> , उदाहरण के लिए।
PHP और C API के साथ आपकी परिचितता को देखते हुए, आपके लिए केवल C API का उपयोग करना अधिक सरल हो सकता है। आपको वस्तुओं और सी डेटा प्रकारों के बीच रूपांतरण को संभालना होगा, लेकिन यह ज्यादा काम नहीं है।
संपादित करें
आप दुर्घटनाग्रस्त हो रहे हैं क्योंकि mysql API द्वारा लौटाया गया पंक्ति मान कोई ऑब्जेक्ट नहीं है, और आपकी प्रारूप स्ट्रिंग NSLog
बता रही है इसे एक के रूप में व्यवहार करने के लिए। %@
किसी ऑब्जेक्ट के लिए प्रारूप-स्ट्रिंग प्लेसहोल्डर है, सी डेटा प्रकार नहीं।
यह स्पष्ट नहीं है कि इस मामले में मूल्य क्या है। संदर्भ का अर्थ यह प्रतीत होता है कि यह छवि डेटा है। यदि ऐसा है, तो आप संभवतः एक NSData
बनाना चाहेंगे क्वेरी द्वारा लौटाए गए ब्लॉब से ऑब्जेक्ट, उदा.:
NSData *imageData;
imageData = [[ NSData alloc ] initWithBytes: row[ i ] length: lengths[ i ]];
NSLog( @"imageData: %@", imageData );
/* ...create NSImage, CGImage, etc... */
[ imageData release ];
यदि आपके परिणाम फ़ील्ड केवल स्ट्रिंग हैं, तो NSString
use का उपयोग करें का -initWithBytes:length:encoding:
विधि:
NSString *s;
s = [[ NSString alloc ] initWithBytes: row[ i ] length: lengths[ i ]
encoding: NSUTF8StringEncoding ];
NSLog( @"result column %d: %@", i, s );
[ s release ];