Newsgroup: it.comp.lang.delphi
Titolo: MyQuery.SQL.LoadFromFile

con un client per mysql ho creato alcune query, salvate ovviamente con 
estensione .sql
in una mia applicazione ho pensato di usare queste query
con una istruzione come in oggetto
MyQuery.SQL.LoadFromFile(....);
il tutto viene compilato ed eseguito tranne un *piccolissimo particolare*
la query caricata è composta da caratteri casuali.
ho provato a caricare la query in altra maniera con delphi e c++ builder
anche con altri comandi trattandola come un file di testo, ma il 
risultato non cambia...
forse la mia asserzione che i file .sql siano dei semplici file di testo 
.txt è falsa, o sbaglio evidentemente qualcosa
l'asserzione è dovuta al fatto che queste query si caricano,si leggono e 
si editano con normali editor di testo.
grazie gianmarco

 .txt è falsa, o sbaglio evidentemente qualcosa
con le frescure del mattino, ho scoperto la verità.
si sono file di testo ma ,credo si dica così, in carattere unicode
quindi occorrerebbe convertirli in semplici caratteri a 8 bit.
a questo punto mi domando?
LoadFromFile può farlo?? o devo trovare altre strade come
1) convertire i file sql che ho generato col client mysql in
file di testo (caratteri a 8 bit)
2) oppure non usare LoadFromFile e caricarli in una stringa a mezzo
di qualche funzione e quindi assegnarla a MyQuery.SQL.....
3) oppure.....................
grazie gianmarco

 grazie gianmarco
oppure aprili e salvali con il notepad e festa finita.
Ciao
C. 

 
ok,  così va bene però avrei preferito evitare questa conversione 
manuale (sono una sessantina di query + quelle che verrano)
un lavoro seccante ....
comunque lo faremo se non ci sono alte strade

 comunque lo faremo se non ci sono alte strade
Da esplora risorse le selezioni tutte e le apri tutte insieme, poi fa salva, salva, salva, salva, salva, ecc..
2 minuti ? forse meno.
Ciao
C. 

 di qualche funzione e quindi assegnarla a MyQuery.SQL.....
Ciao GianMarco, uso da poco MySQL ma non ho incontrato le tue difficoltà.
Non so se può esserti utile ma io leggo e costruisco le query utilizzando 
TStringList e TListBox.
In sostanza esporto dal server la tabella completa in formato .sql con il 
set di caratteri Latin1 (altrimenti alcuni caratteri non li riconosce), con 
Delphi carico in una TStringList il file .sql, effettuo delle comparazioni 
con dei file .csv ed eventualmente modifico gli items della TStringList che 
contiene il file .sql, visualizzo il tutto in una TListBox ed effettuo un 
SaveToFile come .sql. Tale file lo reimporto sul db MySQL senza alcun 
problema utilizzando DROP TABLE IF EXISTS che mi sovrascrive l'intera 
tabella.
V. 

Valter Buccinà ha scritto:

ho provato anche io questa strada ma l'importazione con TStringList non 
avveniva in maniera corretta poichè come detto e verificato la qsl è in 
firmato unicode
Volevo sapere che client usi per lavorare con le tabelle di MySQL??
io uso Navicat come client e tu???
ciao gianmarco

 Volevo sapere che client usi per lavorare con le tabelle di MySQL??
no, temo che il mio lavoro sia diverso dal tuo...
ho un listino prezzi sul web che si appoggia a MySQL e che devo aggiornare 
costantemente.
tramite phpmyadmin eseguo il dump dell'intera tabella da remoto ed in 
locale, come detto, rielaboro con Delphi il contenuto variando prezzi, 
descrizioni, eliminando e aggiungendo nuove righe, quindi "ricostruisco" il 
file .sql e lo reimporto sul db. Dunque niente accesso diretto ma via 
browser.
Ho voluto darti la mia testimonianza perchè inizialmente anch'io ho avuto 
problemi simili ai tuoi anche se i caratteri non riconosciuti erano pochi - 
il db si presenta in UTF8_unicode - ma tratto semplicemente la tabella in 
Latin1 e non mi ha più restituito errore nell'esecuzione della sql.
Qualcuno più ferrato in materia di me può senz'altro aiutarti, non parrebbe 
una cosa irrisolvibile automatizzare la procedura di conversione (che mi 
sembra sia quello che vorresti fare) o aggirare in qualche modo il problema.
Ciao
V