Login mot de passe
forum - Tous les messages
   Tous les messages (emenard2)

 Bas   Précédent   Suivant

(1) 2 3 4 ... 25 »


#1 Re: SQLite4WD - MySQLConnecte
emenard2 Posté le : 2021/10/1 14:39
pour information, le programme est installé dans C:\Program x86\TEST et les fichiers de données dans C:\Program x86\TEST\Datas

Alain


#2 SQLite4WD - MySQLConnecte
emenard2 Posté le : 2021/10/1 14:30
Bonjour,

J'utilise Windev 18.

Si je génère l'exécutable avec l'option "Mon application utilisera les privilèges maximums de l'utilisateur courant" le programme fonctionne très bien (mais j'ai un bouclier sur l'icône de lancement sur le bureau)

Si je génère l'exécutable avec l'option "Mon application ne nécessite pas de privilège particulier", je' n'ai pas le bouclier sur l'icône de lancement. mais l'application plante à l'initialisation sur la ligne :

SI PAS MaBase:mySQLConnecte(ComplèteRep(SansEspace(fRepExe))+"Datas\test.s3db","","test","TEST") ALORS


Je ne souhaite pas que chaque utilisateur aille modifier ses paramètres UAC pour ne pas afficher le bouclier car cela abaisse le niveau de protection. Je voudrais comprendre pourquoi cette modification de privilège fait planter mysqlconnecte, et je voudrais y remédier.

Merci par avance

Alain


#3 Re: Requetes trop lentes. Comment optimiser ?
emenard2 Posté le : 2014/7/31 10:18
Je suspend ma demande car je pense avoir trouvé la cause du problème qui détruisait mes retours chariots dans les commentaires


#4 Requetes trop lentes. Comment optimiser ?
emenard2 Posté le : 2014/7/31 9:12
Bonjour à tous,

Je souhaite remplacer en Windev tous les retours chariots par un "pipe" dans un champ BLOB

Le code suivant met de longues minutes, et je n'ai pas eu la patience d'attendre la fin de l'exécution car ce n'est pas viable pour mes clients.

retb est un booléen

//MonCatalogue:mySQLTransaction(MonCatalogue:mySQLDebut,3)

gRequeteSQL = "SELECT col_idauto, col_commentaire FROM coll_collection where col_no_collection = %1"

gRequeteSQL=ChaîneConstruit(gRequeteSQL, gNoCollectionEnCours)
retb = MonCatalogue :mySQLExec(gRequeteSQL, 3)

SI retb = Faux ALORS
Erreur("Sauvegarde - Lecture commentaires")
FIN
MonCatalogue:mySQLPremier(3)

// Traitement de la requête
//MonCatalogue:mySQLTransaction(MonCatalogue:mySQLDebut,4)

TANTQUE PAS MonCatalogue:mySQLEnDehors
gRequeteSQL = [
UPDATE coll_collection set col_commentaire = "%2" where col_idauto = %1
]
gRequeteSQL=ChaîneConstruit(gRequeteSQL, MonCatalogue:mySQLCol(3,1), Remplace(MonCatalogue:mySQLCol(3,2), "\par"+RC), Caract(124))
retb = MonCatalogue :mySQLExec(gRequeteSQL, 4)
MonCatalogue :mySQLFerme(4)


FIN
////MonCatalogue:mySQLTransaction(MonCatalogue:mySQLfin,4)
//
MonCatalogue :mySQLFerme(3)

//MonCatalogue:mySQLTransaction(MonCatalogue:mySQLFin,3)



Nota :
Le remplacement ne concerne que peu de lignes mais je crois qu'il est impossible de faire un critère sur un blob (ceux qui contiendraient un RC) donc il y a 7000 lignes à modifier dans mon exemple.


#5 SQLLitMemo et Windev 18
emenard2 Posté le : 2014/7/11 18:36
Bonjour à tous,

J'utilise SQLITE4WD, Windev 18 et une zone répétée.

Dans un champ image normal j'utilise habituellment :

MonCatalogueP:mySQLLitMemo(1,1, "eMIN_Image")

Mais aujourd'hui j'essaie d'utiliser cette méthode pour alimenter le champ Image d'une zone répétée.

Dans la description de la zone répétée j'ai créé des attributs dont Attribut_Image qui fait référence au champ eMIN_ZR_Image avec comme type "Valeur"

MonCatalogueP:mySQLLitMemo(1,1, "Attribut_Image[ZRIndice]")

==> ne fonctionne pas. Le champ des différents indices reste vide

MonCatalogueP:mySQLLitMemo(1,1, "ACC_ZR_Mini[ZRIndice].eMIN_ZR_Image")

==> Ne fonctionne pas. Le champ des différents indices reste vide

J'ai alors décidé de créer un champ Image dans le même Plan pour y insérer l'image avant de l'affecter au champ Image de la zone répétée.

MonCatalogueP:mySQLLitMemo(1,1, "eMIN_Image")
Attribut_Image[ZRIndice] = eMIN_Image

==> Les images apparaissent.
==> Mais si je change de plan et revient, tous les textes sont toujours présents, mais les images ont toutes disparues, sauf la dernière affectée.

Avez vous une idée pour me dépanner.

Merci par avance

Icho78


#6 Re: SQLAttacheMemo
emenard2 Posté le : 2014/7/11 15:59
Bonjour Firetox,

Je réponds avec beaucoup de retard ^^

Merci de cette confirmation de limite à 2 Mo.

Icho78
Frangin de emenard2


#7 SQLAttacheMemo
emenard2 Posté le : 2013/5/8 17:52
Bonjour,

J'utilise SQLAttacheMemo pour récupérer le contenu d'une image du disque et la stocker dans la base.

i_t_Picture est un c_picture (MonCatalogue, "Pictures", "i_t_Picture")

i_t_Picture:SQLLitRecherche("Pc_ID=" + vMaxID)

i_t_Picture:SQLAttacheMemo("Pc_Picture",vCheminScan)
i_t_Picture:SQLUpdate()

On me fait savoir que la sauvegarde des images de grande taille ne se fait pas.

Par exemple une image de dimensions 3000 x 2000 n'arrive pas a être enregistrée, alors qu'une image de 2000 x 1000 peut l'être.

Est ce un problème de taille (octets) ou de format largeur et hauteur), je ne le sais pas encore.

Je crois avoir lu un jour une limite de 2 Mo mais je ne me rappelle plus si cela concernait SQLITE 2 db, SQLManagerX, etc.


Une idée ?

Merci

Icho


#8 Re: Version de SQLManagerX
emenard2 Posté le : 2013/5/6 13:15
Pour information, j'avais essayé de passer par SQLITE4WD pour afficher les images dans un état, puisque cela fonctionne très bien sur des fenêtres mais :

gRequeteSQL = "SELECT Pic_Picture, Pic_Titre from Pictures WHERE Pic_ID = %1"
gRequeteSQL=ChaîneConstruit(gRequeteSQL,FenMain.IMP_TableDonnees.PicID)

Retcode = MonCatalogueP :mySQLExec(gRequeteSQL, 2)
SI Retcode = Faux ALORS
Erreur("Etat Miniatures - Affiche image - " + MonCatalogueP:mySQLGetErrorMessage())
FIN
MonCatalogueP:mySQLPremier(2)

MonCatalogueP:mySQLLitMemo(2,1, "eImage")
// La ligne du dessus affiche l'erreur suivante :
//Erreur à la ligne 20 du traitement Méthode mySQLLitMemo.
//Propriété interdite

MonCatalogueP:mySQLFerme(2)


Avec SQLChargeMemo les images s'affichent bien dans l'état mais elles ne sont pas l'exacte réplique des images stockées dans la base. Des incohérences de couleur s'affichent dans l'image, des décalages de pixels, etc.

Voici un exemple de dégradation :

http://www.philatelix.fr/Divers/ImageDefectueuse.jpg

Pour rappel, sur les fenetres je n'utilise que SQLLitMemo et tout est parfait.

La meme image lue par SQLLitMemo dans une fenetre dans un champ Liste image et dans un champ image est parfaitement affichée, et le zoom à volonté sur l'image de même.


Hors sur les états le SQLitMemo ne fonctionne pas comme expliqué plus haut

Icho


#9 Version de SQLManagerX
emenard2 Posté le : 2013/5/6 12:56
Bonjour à tous,

J'utilise le plus souvent SQLITE4WD mais aussi SQLManagerX pour l'affichage des images.

Je me rends compte aujourd'hui qu'avec ma version 5.1.0.0 de SQLManagerX, je ne peux afficher correctement les images sur un état, elles sont dégradées aléatoirement.

Question 1 :

La version 5.7.1.0 va t'elle corriger ce problème d'affichage grâce au nouveau paramètre VRAI de SQLChargeMemo ?

Question 2 :

Le fait de passer en 5.7.1.0 va t'il affecter le fonctionnement de ma version de SQLITE4WD ?

J'ai renoncé il y a quelques temps à utiliser la derniere version de SQLITE4WD car cela faisait planter l'ensemble de l'appli. Je me demande donc si les versions de SQLManagerX et SQLITE4WD sont interdépendantes.

Merci de vos réponses

Icho


#10 Re: [SQLITE4WD] Stockage images dans un champ BLOB
emenard2 Posté le : 2013/4/5 12:11
Bonjour,

A force d'avoir des problèmes et de chercher on fini forcément par dire des bétises.


Pour les requetes d'insert sur un blob, j'arrive à insérer des données texte ou numériques seulement avec SQLITE4WD sans renseigner le champ BLOB, et je suis obligé de faire un UPDATE de la ligne avec SQLManagerx pour renseigner le BLOB. C'est une méthode affreuse mais les images fonctionnent très bien.

Précision : Je n'arrive pas à insérer d'enregistrement avec SQLManagerX

Le code suivant ne crée pas d'enreg

//sauvegarde de l'image dans la base avec SQLManagerX
i_t_Picture est un c_Picture (MoncatalogueP, "Pictures", "i_t_Picture")

i_t_Picture:m_Pic_CatID = eMSQ_TableID.CatID
i_t_Picture:m_Pic_Titre = "Pas de titre"
i_t_Picture:SQLAttacheMemo("Pic_Picture",vCheminScan)
i_t_Picture:SQLInsert()


Le code suivant fait bien l'update

i_t_Picture est un c_picture (MonCatalogueP, "Pictures", "i_t_Picture")

i_t_Picture:SQLLitRecherche("Pic_ID=" + vMaxID)

i_t_Picture:SQLAttacheMemo("Pic_Picture",vCheminScan)
i_t_Picture:SQLUpdate()


Mes autres problèmes cités sur le post précédent tont été résolus avec la mise en place de transactions.

Donc CONCLUSION : Quand FIRETOX dit qu'il faut systematiquement cerner les requetes par une transaction, IL A RAISON !

Je passe en résolu.

(Fin du monologue)

Zagam2



 Haut
(1) 2 3 4 ... 25 »