|
[Résolu] DEFI N°2 - LONGTEXT Mysql sans analyse de projet |
|
Anonyme
|
LONGTEXT Mysql sans analyse de projetJ'aime bien travailler avec windev, mais je préfere travailler avec mysql pour la base de donnée. J'utilise un logiciel externe pour créer mon analyse (dbdesigner) http://www.fabforce.net/dbdesigner4/Pour accéder à ma base de donnée je me connecte comme suit :
HDécritConnexion ("ConnectSQL", "MonLogin","MonMotdePasse","IPduServeur", "NomdelaBase", hAccèsNatifMySQL, hOLectureEcriture, "")
HChangeConnexion("*", "ConnectSQL")
HOuvreConnexion("ConnectSQL")
puis lancer une requete comme suit :
HExécuteRequêteSQL(SourceDonne,"ConnectSQL",hRequêteSansCorrection,TexteReq)
J'utilise les ordres HLit pour parcourir mes requetes et tout se passe très bien sauf avec les LONGTEXT. Avec un champs VARCHAR vide, quand windev le lit il trouve bien la valeur "" <--- vide Avec un champs LOnGTEXT remplis, quand windev le lit il trouve <--- absolument vide même pas de "" Comment reproduire l'exemple : Dump de la base de donnée: CREATE TABLE `test` (
`idtest` int(11) NOT NULL auto_increment,
`libtest` longtext NOT NULL,
PRIMARY KEY (`idtest`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
INSERT INTO `test` VALUES (1, 'Ceci est un champs longtext donc il n''est pas limité à 255 caractères');
Code Windev:
HDécritConnexion ("ConnectSQL", "root","","localhost", "test", hAccèsNatifMySQL, hOLectureEcriture, "")
HChangeConnexion("*", "ConnectSQL")
HOuvreConnexion("ConnectSQL")
Req est une source de données
HExécuteRequêteSQL(Req,"ConnectSQL",hRequêteSansCorrection,"select * from test")
hlitpremier(Req)
info(Req.libtest)
J'ai trouver un moyen d'acceder au LONGTEXT, mais pour cela je dois reproduire l'analyse dans windev, ce que je ne veux pas faire. Alors comment acceder au LONGTEXT Mysql avec windev sans analyse ? Bon Courage :)
Contribution le : 25/02/2005 13:48
|
|
|
Re: DEFI N°2 - LONGTEXT Mysql sans analyse de projet |
|
Developpeur WDF
Inscrit: 24/11/2003 10:38
De Dieppe
Post(s): 118
|
C'etait moi au dessus :), je me fait avoir a chaque fois ...
Contribution le : 25/02/2005 13:49
|
|
|
Re: DEFI N°2 - LONGTEXT Mysql sans analyse de projet |
|
Animateur WDF
Inscrit: 02/03/2003 04:07
De Noisy le grand(93)
Post(s): 2745
|
Bonjour,
Quel est letype de donnée que Windev a attribué pour cette rubrique LongText lorsque la structure est ajoutée à l'éditeur d'analyse de WinDev ?
Contribution le : 25/02/2005 14:09
|
|
|
Re: DEFI N°2 - LONGTEXT Mysql sans analyse de projet |
|
Developpeur WDF
Inscrit: 24/11/2003 10:38
De Dieppe
Post(s): 118
|
Si j'importe la table sous windev
Type : Texte Format : mémo Texte
Contribution le : 25/02/2005 15:15
|
|
|
Re: DEFI N°2 - LONGTEXT Mysql sans analyse de projet |
|
Animateur WDF
Inscrit: 02/03/2003 04:07
De Noisy le grand(93)
Post(s): 2745
|
Bonjour, Voir la fonction:
SI PAS HAttacheMemo(<Fichier ou requete>,<Rubrique>,<Chemin complet du fichier memo>) Alors
Erreur(HerreurInfo())
Retour
FIN
SI pasHAjoute(<Nom du fichier ou de la requete>) alors
Erreur(HErreurInfo())
Retour
Fin
Contribution le : 26/02/2005 01:47
|
|
|
Re: DEFI N°2 - LONGTEXT Mysql sans analyse de projet |
|
Developpeur WDF
Inscrit: 24/11/2003 10:38
De Dieppe
Post(s): 118
|
J'aimerais bien que tu précise un peu ...
HAttacheMémo: Permet d'associer un fichier à une rubrique de type mémo binaire ou d'annuler l'attachement existant entre un fichier binaire et une rubrique. Le fichier sera lu et ajouté au mémo uniquement lors de l'ajout ou de la modification de l'enregistrement
Je ne cherche pas a ajouter un enregistrement, ca fonctionne très bien en windev, je cherche a le lire.
HAttacheMémo ne fonctionne que si on a une analyse, et je veux y acceder sans analyse...
Contribution le : 28/02/2005 09:07
|
|
|
Re: DEFI N°2 - LONGTEXT Mysql sans analyse de projet |
|
Animateur WDF
Inscrit: 02/03/2003 04:07
De Noisy le grand(93)
Post(s): 2745
|
Bonjour,
SI HExtraitMemo(SQLLitMémo("MaRequete", <Rubrique>), <Fichier binaire de destination>) = Faux ALORS
RENVOYER Faux
FIN
peut correspondre soit: - au nom de la rubrique issu de la requête - au numero de la rubrique dans la requête(Position)
Ce paramètre est obligatoire via OLEDB car le chemin et le nom du fichier ne sont pas enregistré dans les bases externes.
Il me semble: Qu'il n'est pas nécessaire à ma connaissance d'avoir obligatoirement une analyse pour utiliser les fonctions: HAttacheMemo() HExtraitMemo() Ces fonctions peuvent être utilisées pour des requêtes.
Contribution le : 28/02/2005 11:17
|
|
|
Re: DEFI N°2 - LONGTEXT Mysql sans analyse de projet |
|
Developpeur WDF
Inscrit: 24/11/2003 10:38
De Dieppe
Post(s): 118
|
Citation : HExtraitMémo : Extrait le contenu d'une rubrique de type mémo binaire d'un fichier Hyper File , d'une requête ou d'une vue Hyper File dans un fichier physique (sur le disque). Comment marche HExtraitMémo ? = HExtraitMémo(, [,])
Et bien il extrait du fichier hyperfile une image ou autre pour le mettre dans un fichier. (absolument pas ce que je souhaite ...) Que renvoie HExtraitMémo ? Rien, seulement le résultat de la fonction.
Je me vois mal exporter des bouts de texte dans des fichiers pour les lire apres ...
Total des courses : On est pas plus avancé ...
Ca me fait plutot rire, parce que c'est un probleme que j'ai signaler plusieurs fois à pc soft, qui me repond : "nous ne pouvons pas reproduire blablabla"
C'est pourtant simple à reproduire: - un copier/coller du dump de la bdd dans phpmyadmin - un copier/coller du code windev
Contribution le : 28/02/2005 14:10
|
|
|
Re: DEFI N°2 - LONGTEXT Mysql sans analyse de projet |
|
Animateur WDF
Inscrit: 26/06/2002 16:24
De wdforge.org
Post(s): 2822
|
Bonjour, A défaut de proposer une solution, je vous redirige vers le forum de SQLmanagerX et ses développeurs qui, dans se version 3 ont intégrés la gestion des BLOB (longtext ?)
Contribution le : 28/02/2005 17:51
|
|
|
Re: DEFI N°2 - LONGTEXT Mysql sans analyse de projet |
|
Developpeur WDF
Inscrit: 24/11/2003 10:38
De Dieppe
Post(s): 118
|
SQLConnecte("localhost","login","pass","base","MySQL") SQLExec("Select liblongtext from matable",ReqT) SQLAvance(ReqT) Test est une chaîne=SQLLitMémoTexte(ReqT,1)
Donc pour recuperer un longtext sans analyse il faut utiliser SQLLitMémoTexte() et par consequent utiliser un SQLExec()
ca ne m'arrange qu'a moitié car j'utilise les ordres HLitXXX, mais au moins je ne suis pas obliger d'integrer l'analyse.
Contribution le : 24/05/2005 11:40
|
|
|
Re: DEFI N°2 - LONGTEXT Mysql sans analyse de projet |
|
|
Bonjour,
une petite question. Quelle version de WD utilises tu?
Si tu es en version >7.5 peux tu regarder ce que donne le résultat de sqllitmemo car je n'ai jamais réussi à récupérer un blob avec l'accès natif mysql de PCSOFT sous 7.5
Merci,
Daniel
Contribution le : 24/05/2005 15:41
|
|
|
Re: DEFI N°2 - LONGTEXT Mysql sans analyse de projet |
|
Developpeur WDF
Inscrit: 24/11/2003 10:38
De Dieppe
Post(s): 118
|
En fait je n'ai jamais fait de blob dans une base de donnée.
Mais pour recuperer du Longtext (sqllitmemo) renvoi une chaine vide.
J'ai fait un test avec une insertion d'un fichier excel dans une table.
SQLExec("select libblob from test",ReqT) SQLAvance(ReqT) HExtraitMémo( SQLLitMémo (ReqT, 1),"c:\test.xls")
Et ca fonctionne tres bien (toujours sans analyse)
Contribution le : 24/05/2005 18:07
|
|
|
Re: DEFI N°2 - LONGTEXT Mysql sans analyse de projet |
|
|
Grand merci, j'ai surement loupé un truc dans l'aide, mais je n'avais jamais essayé cette combinaison hextraitmemo(sqllitmemo...) qui fonctionne.
Contribution le : 24/05/2005 19:22
|
|
Vous ne pouvez pas débuter de nouveaux sujets.
Vous pouvez voir les sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.
|
Connexion
Menu
Chercher WDForge
Chercher Web
Partenaires
|