Newsgroup: it.comp.lang.visual-basic
Titolo: La miglior soluzione per questo problema ?

Dopo aver consegnato un programma (VB6 Sp6 con database access) il cliente
mi chiede di apportare una serie di modifiche che comportano l'inserimento
di uno o più campi ed in qualche caso di intere tabelle nel suo database.
Come faccio, consegnadogli il file EXE modificato, ad aggiornare il database
del cliente senza dover star lì a digitare le modifiche?
La mia miglior idea è (ma aspetto dritte e consigli):
1) Creo una tabella nel mio database che contiene Versione del programma,
Tabella di riferimento, Campo, tipo.....
2) verifico la versione consegnata in precedenza e quella (ovviamente
diversa) che gli consegnerò a modifiche fatte.
3) Prendo da apposita tabella che consegnerei insieme al nuovo EXE i campi
corrsipondenti alla versione da aggiornare
4) faccio l'update del db del cliente..
5) faccio distruggere il file mdb contenente la cartella con i dati ormai
aggiornati dal mio EXE
Controindicazioni:
1) sono costretto a consegnare oltre all'EXE anche il file mdb composto
dalla tabella che contiene le modifiche...
Problema secondari:
Vorrei evitare di dover scrivere a manina nel progetto da compilare, i campi
da aggiornare sul database del cliente, spererei di
automatizzare il processo in qualche modo..
grazie per l'attenzione

Mentre scavavo un nuovo loculo, ho sentitao tex che ha bisbigliato: in 
data 28/10/2004 15.16:

Quando hai fatto tutto il tuo aggiornamento a casina .. ti fai inviare 
il vecchio db .. gli modifichi la struttura e lo includi nel nuovo setup 
.. in questo modo quando lui reinstalla l'exe si sovrascrive anche il db 
.. e tutto fila liscio :D
Saluti ..
-- 
[CapoBecchino]
Cimiteri associati & Co.
ULTIME OFFERTE !!!!
Muori oggi ed avrai uno sconto del 50% / Muori domani ed avrai una 
sepoltura GRATIS!!!

Mentre scavavo un nuovo loculo, ho sentitao tex che ha bisbigliato: in 
data 28/10/2004 15.16:



Mentre scavavo un nuovo loculo, ho sentitao tex che ha bisbigliato: in 
data 28/10/2004 15.16:



 ha
scritto nel messaggio news:fr6gd.1368$mQ3....@tornado.fastwebnet.it...


 E i problemi inerenti la privacy???
Sinceramente non ti so dire in quanto è un'operazione che ho fatto ma 
parlare con il cliente se ne occupò il gran capo della società per cui 
lavoravo .. cioè a me arrivò semplicemente la base dati io la modificai 
e poi l'ho ridato al gran capo .. quindi non ti so essere d'aiuto ..
sorry ...


 ha
scritto nel messaggio news:tF6gd.1471$mQ3....@tornado.fastwebnet.it...


 .. e tutto fila liscio :D
E il cliente si perde tutte le modifiche effettuate tra l'invio dell'mdb e
la nuova installazione :)
Ciao

 ha scritto nel messaggio
news:ai6gd.28615$
B06....@news.edisontel.com
eheheh
...ma alla mia domanda per il Net non risponde nessuno????
Comunque...hai ragione per la privacy e menate varie....bisogna cominciare a
starci attenti...e fai bene a starci attento!
Per l'exe non c'è problema....basta sostituirlo e registrare deregistrare
eventuali componenti/dll  necessarie.....
per il database...la soluzione si chiama SQL
Basta spippolare un po con il codice ed ado...ti consiglio ADO se pensi ad
un eventuale porting/upgrade ad altro motore db!
Come si fa.....?
Io avevo il problema, lavorando con dei ricercatori universitari, che la
struttura del dB era una continua evoluzione...campi che venivano
aggiunti...altri tolti...tabelle di nuove caratteristiche....una vera
passione di Cristo!
Ad ogni viaggio dal capo ricerca tornavo con una caterva di appunti e
modifiche da fare...e versioni dell'EXE..etc etc
Fatti una tua procedura che:
Legge un file di testo opportunamente formattato...la fai tu come vuoi la
formattazione......io inserivo un [STARTCOMMAND] [ENDCOMMAND]...tu metti
quello che ti pare !
Una volta letta la query (di creazione,accodamento ALTER TABLE etc ect)
ADO oggetto COMMAND
ed è fatto!
Io facevo le modifiche all'exe....facevo le modifiche al databse e
registravo in un file di testo quello che facevo....
lo mettevo in uno zip lo spedivo per email
con la dicitura
"PER pinco pallino....MODIFICHE"
si copiava il nuovo exe al posto del vecchio....
e poi...
lui aveva un apposito menu nell'applicativo Tools-->Aggiorna applicazione
Protetto da password che li avevo dato che non faceva altro che richiamare
la routine Legge File --->esegue query in successione
in questo modo ho risparmiato qualche viaggio e guadagnato un aura di
professionalità . Il profano (alias utonto) infatti in genere non gradisce
vedere uno che torna 10 volte o spippola come un matto sul suo
pc!....preferisce beccarsi l'aggiornamento da internet o dalla posta
elettronica.....anche se fa le stesse cose!
Buon lavoro
-- 
Il Wodkino Nazionale è a : 
www.martek.it
Pagina Vb/Bestiario/Lamer Experience :
http://www.martek.it/go.asp?portamia=2
 Demo classe vb.NET :
WodkaThumb 
www.villaceleste.it
  click su "spippolando e
Programmando"
---
Messaggio scannerizzato e certificato "Virus free" da AVG free edition.
Checked by AVG anti-virus system (
http://www.grisoft.com
).
Version: 6.0.775 / Virus Database: 522 - Release Date: 08/10/2004

 del cliente senza dover star lě a digitare le modifiche?
Io per un progetto piůttosto piccolo facevo le modifiche anzichč
direttamente in struttura di Access tramite SQL.
In questo modo tutte le istruzioni SQL per la ristrutturazione le copiavo in
un semplice file di testo che veniva letto ed eseguito all'avvio dell'app (e
poi cancellato).
Qui per un progetto molto piů ampio č stata scritta un'utility che
1) confronta tabella per tabella e campo per campo il DB di arrivo con
quello di partenza e aggiunge o eventualmente modifica il campo.
2) stessa operazione con i DB invertiti per verificare che sia stato tolto
qualcosa.
3) Stesse operazioni con indici e chiavi primarie
4) Volendo anche tutte le relazioni vengono rivalutate
La seconda č sicuramente piů automatizzata ma piů complessa e lunga da
realizzare.
Con la prima hai anche un controllo maggiore su ciň che fai.
Ciao


m'hai battuto sul tempo....non son + veloce come una volta!
Comunque fa piacere che per percorsi diversi....si faccia tutti suppergiù la
medesima cosa!
:-)
P.s.
Un mio collega ha copiato la soluzione da un sito inglese
La descrizione di un database e di una form......fa parte di un mdb.....
in questo modo con un bel po di codice ha parametrizzato l'80% di una
applicazione VB...che è l'interfaccia!
Lui usa le vecchie trudbgrid e il datacontrol a raffica....
se deve usare tabelle di SQL si fa il link da un mdb...cose...oscene...
però una volta presa la mano...ha tempi di sviluppo abbastanza
rapidi...anche s ele applicazioni si assomigliano un po tutte!


 Il Wodkino Nazionale č a : 
www.martek.it


 ha scritto nel messaggio
news:2ucc8pF...@uni-berlin.de...


 ha scritto nel messaggio
news:Sb7gd.28622$
B06....@news.edisontel.com
uguale cambia solo il modo di usare l'sql.....
-- 
Il Wodkino Nazionale è a : 
www.martek.it


 Il Wodkino Nazionale č a : 
www.martek.it


 Una volta letta la query (di creazione,accodamento ALTER TABLE etc ect)
Io ho fatto la stessa cosa, ma le istruzioni sono situate in un file di
risorse (cosě l'utonto non va a curiosare nelle query) e in piů il
linguaggio che uso č PiluccoSQL che wrappa SQL con il vantaggio di essere
indipendente dal tipo di DB.
Gli dici cosa vuoi fare e lui lavora.
Per esempio, per trasformare un long in contatore, in Oracle crea un
sequence e un trigger, mentre in Access fa una serie di passaggi sulla
struttura della tabella montando e smontando campi per ottenere lo stesso
risultato.
termoPilucco
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

poi cancellato).
Voleveo ben dire, c'era qualcuno che lo aveva suggerito prima di me...
:)))
--
Ciao!
Luca Menegotto

 termoPilucco
Ciao!

 è questione di gusti!
Certo, alla fine le cose doveno semplicemente funzionare :)
