// // MCPResult.h // SMySQL // // Created by serge cohen (serge.cohen@m4x.org) on Sat Dec 08 2001. // Copyright (c) 2001 Serge Cohen. // // This code is free software; you can redistribute it and/or modify it under // the terms of the GNU General Public License as published by the Free // Software Foundation; either version 2 of the License, or any later version. // // This code is distributed in the hope that it will be useful, but WITHOUT ANY // WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS // FOR A PARTICULAR PURPOSE. See the GNU General Public License for more // details. // // For a copy of the GNU General Public License, visit or // write to the Free Software Foundation, Inc., 59 Temple Place--Suite 330, // Boston, MA 02111-1307, USA. // // More info at // // $Id: MCPResult.h 335 2006-01-08 21:14:07Z serge $ // $Author: serge $ #import #import "mysql.h" #import "MCPConstants.h" @interface MCPResult : NSObject { @protected MYSQL_RES *mResult; /*" The MYSQL_RES structure of the C API. "*/ NSArray *mNames; /*" An NSArray holding the name of the columns. "*/ NSDictionary *mMySQLLocales; /*" A Locales dictionary to define the locales of MySQL. "*/ NSStringEncoding mEncoding; /*" The encoding used by MySQL server, to ISO-1 default. "*/ unsigned int mNumOfFields; /*" The number of fields in the result. "*/ NSTimeZone *mTimeZone; /*" The time zone of the connection when the query was made. "*/ } /*" Class maintenance "*/ + (void) initialize; /*" Init used #{only} by #{MCPConnection} "*/ - (id) initWithMySQLPtr:(MYSQL *) mySQLPtr encoding:(NSStringEncoding) theEncoding timeZone:(NSTimeZone *) iTimeZone; - (id) initWithResPtr:(MYSQL_RES *) mySQLResPtr encoding:(NSStringEncoding) theEncoding timeZone:(NSTimeZone *) iTimeZone; - (id) init; /*" General info on the result "*/ - (my_ulonglong) numOfRows; - (unsigned int) numOfFields; /*" Getting the rows "*/ - (void) dataSeek:(my_ulonglong) row; - (id) fetchRowAsType:(MCPReturnType) aType; - (NSArray *) fetchRowAsArray; - (NSDictionary *) fetchRowAsDictionary; /*" Getting information on columns "*/ - (NSArray *) fetchFieldNames; - (id) fetchTypesAsType:(MCPReturnType) aType; - (NSArray *) fetchTypesAsArray; - (NSDictionary *) fetchTypesAsDictionary; - (unsigned int) fetchFlagsAtIndex:(unsigned int) index; - (unsigned int) fetchFlagsForKey:(NSString *) key; - (BOOL) isBlobAtIndex:(unsigned int) index; - (BOOL) isBlobForKey:(NSString *) key; /*" Text data convertion to string "*/ - (NSString *) stringWithText:(NSData *) theTextData; /*" Utility method "*/ - (NSString *) description; /*" End of the scope... "*/ - (void) dealloc; /*" Private methods, internal use only "*/ - (const char *) cStringFromString:(NSString *) theString; - (NSString *) stringWithCString:(const char *) theCString; @end