MYSQL Classes
muqaddar
Administrateur
Auteur : Bru
Voici la dernière oeuvre de Maà®tre Bru. MYSQLClasses est un framework qui offre au programmeur utilisant l'environnement de développement Cocoa et le langage Objective-C une manière simple d'accéder au serveur de base de données MySql.
Fonctionnement de la ressource / documentation :
Même si la complexité de la gestion d'une connexion à MySql et l'envoi de requêtes sont partiellement masqués, des connaissances dans le langage SQL sont tout de même requises afin de bien comprendre les mécanismes qui sont en jeu lorsque que vous procédez à l'exécution d'une requête, et lorsque vous en récupérez le résultat.
Le framework fournit deux classes :
- MYSQLConnexion : cette classe permet d'établir une connexion au serveur MySql, puis offre plusieurs méthodes permettant l'envoi de requêtes Sql et la réception de données en se basant sur la programmation objet.
- MYSQLFunction : cette classe permet d'insérer des fonctions natives MySql au sein des requêtes envoyées via la précédente classe.
Certaines requêtes SQL génèrent un jeu de résultat. Le jeu de résultat est l'ensemble des lignes récupérées correspondant aux critères de sélection présents dans la requête. De manière générale, on peut dire que chaque ligne du jeu de résultat équivaut à un enregistrement sélectionné. L'instruction SQL "select" génère toujours un jeu de résultat (même s'il est vide). D'autres instructions comme "show" peuvent aussi en générer.
Sous cocoa, un jeu de résultat est toujours stocké dans une instance NSArray, où chaque index du tableau correspond à une ligne (ou un enregistrement) du jeu.
Les lignes du jeu de résultat sont ensuite divisées en colonnes qui correspondent aux champs qui ont été indiqués dans l'instruction select ou qui sont automatiquement produits (via l'instruction show). Le stockage des colonnes peut se faire de deux manières : soit dans une instance NSDictionary, soit dans une instance NSArray. Le choix de tel ou tel type d'objet se fait par le paramètre resultInDictionary présent dans les méthodes générant un jeu de résultat.
Vous trouverez une documentation html complète avec le fichier du framework téléchargé.
A vos requètes !
[Fichier joint supprimé par l'administrateur]
Voici la dernière oeuvre de Maà®tre Bru. MYSQLClasses est un framework qui offre au programmeur utilisant l'environnement de développement Cocoa et le langage Objective-C une manière simple d'accéder au serveur de base de données MySql.
Fonctionnement de la ressource / documentation :
Même si la complexité de la gestion d'une connexion à MySql et l'envoi de requêtes sont partiellement masqués, des connaissances dans le langage SQL sont tout de même requises afin de bien comprendre les mécanismes qui sont en jeu lorsque que vous procédez à l'exécution d'une requête, et lorsque vous en récupérez le résultat.
Le framework fournit deux classes :
- MYSQLConnexion : cette classe permet d'établir une connexion au serveur MySql, puis offre plusieurs méthodes permettant l'envoi de requêtes Sql et la réception de données en se basant sur la programmation objet.
- MYSQLFunction : cette classe permet d'insérer des fonctions natives MySql au sein des requêtes envoyées via la précédente classe.
Certaines requêtes SQL génèrent un jeu de résultat. Le jeu de résultat est l'ensemble des lignes récupérées correspondant aux critères de sélection présents dans la requête. De manière générale, on peut dire que chaque ligne du jeu de résultat équivaut à un enregistrement sélectionné. L'instruction SQL "select" génère toujours un jeu de résultat (même s'il est vide). D'autres instructions comme "show" peuvent aussi en générer.
Sous cocoa, un jeu de résultat est toujours stocké dans une instance NSArray, où chaque index du tableau correspond à une ligne (ou un enregistrement) du jeu.
Les lignes du jeu de résultat sont ensuite divisées en colonnes qui correspondent aux champs qui ont été indiqués dans l'instruction select ou qui sont automatiquement produits (via l'instruction show). Le stockage des colonnes peut se faire de deux manières : soit dans une instance NSDictionary, soit dans une instance NSArray. Le choix de tel ou tel type d'objet se fait par le paramètre resultInDictionary présent dans les méthodes générant un jeu de résultat.
Vous trouverez une documentation html complète avec le fichier du framework téléchargé.
A vos requètes !
[Fichier joint supprimé par l'administrateur]
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Désolé de upper le sujet mais est-il possible d'utiliser ce framework avec MAMP ?
Merci d'avance de votre aide.
MySQLClasses est un framework qui fait le lien entre Cocoa et MySQL... donc qui permet d'attaquer une base MySQL en objective-C.
Quel rapport avec MAMP ?
Mamp installe un petit serveur Apache MySQL PHP sur le mac, c'est l'équivalent de Lamp pour Linux. Pour s'initier à php et SQL sans toucher aux entrailles de Mac OS (le numéro de port est différent de mémoire)..
http://www.mamp.info/en/index.html
Alors pourquoi pas ?
Bein oui je sais ce que c'est MAMP...
Mais dans MAMP, ici, seul MySQL nous intéresse. Je suppose qu'il veut savoir si MySQL Classes arrive à trouver le chemin d'une BDD géré par MAMP ?
Je voudrais juste pouvoir faire mes tests avec la BDD gérée par MAMP mais si vraiment c'est pas possible, j'essaierai d'installer PHP/MySQL manuellement mais bon... Flemmard jusqu'au bout ! ^^
Je ne connais pas les chemins employés par MAMP. Quel est l'adresse host ? Le port ?
Il suffirait d'essayer...
http://www.osx-dev.com/index.php?topic=3841.msg38415#msg38415
Le fichier mysql.sock se trouve dans MAMP/tmp/.
Sinon, voici la description rapide des dossiers de MAMP :
1) /bin : contient les exécutables d'Apache, de PHP (4-5), de MySQL5 et de SQLite
2) /conf : contient les fichiers de configuration d'Apache, de PHP (4-5) et de SQLiteManager
3) /tmp : contient les fichiers temporaires créés par les exécutables
4) /db : contient les bases de données MySQL5 et SQLite
5) /logs : contient les fichiers de logs d'erreurs d'Apache, de PHP et de MySQL
6) /htdocs : contient les fichiers que vous désirez tester. Ils se trouveront à l'URL http://localhost:8889/
MySQL error: 2005 - Unknown MySQL Server Host
EDIT : je viens de trouver ça sur Google, j'y jetterai un oeil demain.
J'ai utiliser il y a quelque temps cette méthode et j'ai utiliser MAMP aussi pour les tests (plus facile pour les tests).
Cela fait bien longtemps j'ai plus trop souvenir des méthodes, mais ce qui est sur c'est qu'il faut que tu utilise la méthode ou tu spécifie un socket (vers celui de MAMP) et non un host, car par défaut ton appli va chercher le mysql qui se trouve intégrer dans ton système et pas celui de MAMP.
Tout d'abord je me présente : :fouf):
Je développe avec RealBasic ; php (joomla, mediawiki, PhpNuke). Actuellement je me mets à la programmation avec XCode.
Je débute en cocoa et en programmation objet et je lis actuellement le livre de Aaron Hillegas "Programmation Cocoa sous Mac OS X". Ce qui m'a permis de bien progresser.
J'ai téléchargé MYSQL Classes mais je bloque car dans la documentation il n'y a pas d'exemple de connexion.
:why?:
Vous est il possible de me faire un exemple simple de connexion en ligne de commande dans ce genre :
1) Connexion au serveur
host = @sql.serveur.net
user = @xcodeuser
password = @steve
2) Message de connexion
Si tout va bien
NSLog (@Connexion établie)
Sinon
NSLog (@Erreur numéro %d rencontrée à la connexion, erreur)
3) Execution d'une requette SQL simple
"select name from employe"
name est de type Char = NSString
Si tout va bien
for (i = 0 ; i < 10 ; i++)
{
NSString employeName = [?? ??]
NSLog (@Employé numéro %d %@", i, employeName)
}
Sinon
NSLog (@Erreur numéro %d rencontrée lors de la requête, erreur)
D'avance merci de votre aide
Cordialement
seb@astien
Pas toujours. Par exemple, mon serveur web (mutualisé) est configuré pour refuser toute connexion à la BdD qui n'émane pas de lui-même, pour des raisons de sécurité et de confidentialité.
y a t-il une nouvelle version du frameworks ?
Le problème n'est pas résolu.
J'ai bien ajouté le frameworks pour le link ainsi que dans un nouvelle phase de build...
Mais là je trouve pas... ça vous dit rien cette erreur ?