Newsgroup: it.comp.lang.delphi
Titolo: Gestione tabelle MySQL

Ho creato una form collegata con i componenti ADO tramite MyODBC ad una
tabella.
Tramite il field editor ho aggiunto i campi della tabella alla form, ho
messo un DBNavigator,
ma dopo aver testato la procedura ho notato questo :
1) il campo descrizione č un VARCHAR(100), ma dopo che l'ho memorizzato con
alcune parole
non riesco piů ad aggiungerne altre se uso un DBedit, perchč ?
2) lo stesso campo con il DBMemo se aggiungo delle parole mi da un'errore e
mi blocca il programma, perchč ?
Ciao e grazie
Enrico

 mi blocca il programma, perchè ?
Ancora!
Sempre la stessa storia! Uff!
Ti da un errore, ok?
Ma QUALE errore? 
Quale è la prima cosa che chiedi ad un tuo cliente che per
telefono ti segnala che una applicazione è andata in errore?
Non ti viene spontaneo chiedere "Hai una finestra con un messaggio?
me lo leggi x favore?"
Bye
AS
"Se è Microsoft non funziona"
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 Ma QUALE errore?
Hai ragione, scusa ho peccato, ma in quel momento ero arrabbiato perchè mi
dicevo che
se avevo tutti quei problemi all'inizio per cose così banali figuriamoci in
futuro .....
Comunque ora proverò a rifare il tutto ed eventualmente a riprodurre
l'errore per poi postarlo.

 Ma QUALE errore?
Bene, ho riprodotto la cosa e ora posso essere più preciso.
Ho creato un Form e un Data Module dove ho messo una ADOConnection,
un ADOTable e un DataSet.
Ho messo un DBNavigator sul form collegato al DataSet come di consueto.
Ho messo un DBEdit per il campo codice e uno per il campo descrizione.
La mia tabella MySQL contiene questi due campi rispettivamente
codice=varchar(20)
e descrizione=varchar(100).
A questo punto dal form a runtime ho iniziato ad inserire i valori e ho
notato che nel
campo codice posso inserire al massimo 16 caratteri e in descrizione posso
inserirne
al massimo 20.
C'è qualche proprietà del DBEdit da impostare per rimediare ?
Scusate ma se c'è io non l'ho trovata.
Ho poi provato a sostituire i DBEdit con dei DBMemo e così ho avuto la
possibilità
di superare il limite imposto, ma mi viene generanto questo famoso errore
che ora riporto :
Project codiciPr.exe raised exception class EOleException with message 'The
specified row could not be located
for updating: Some values may have been changed since it was last read'.
Process stopped.
Use Step or Run to continue.
Spero che riusciate a darmi una mano.
Perdonate se ho dei problemi magari per delle banalita, spero di acquisire
al più
presto l'esperienza necessaria.
Ciao e grazie.
Enrico

 al massimo 20.
Ho avuto problemi simili con ODBC, Delphi 5 e MySql, nei campi varchar mi
prendeva, come lunghezza massima, la lunghezza del testo inserito nel primo
record......non sò se questo ti può aiutare in qualche modo, ma io (prima di
passare ha componenti Zeos) avevo rimediato smanettando nei driver ODBC di
MySql, impostando l'opzione "Don't optimize column width"....... lo sò che
non è il tuo caso, ma il problema mi sembra simile e magari da qualche parte
hai un parametro simile.
Ciao
Gianni Giusti

 hai un parametro simile.
Grazie, cosě ho risolto.
Ciao

 passare ha componenti Zeos)
Toglimi una curiosità, perchè hai abbandonato MyODBC per passare ai
componenti Zeos ?
Non vorrei lavorare tanto su MyODBC per niente.

 Non vorrei lavorare tanto su MyODBC per niente.
1) Ho iniziato con l'avere i tuoi stessi problemi, poi se ne sono
aggiunti
altri tipo:
non mi aggiornava i campi autoinc, durante un inserimento, fino a quando
non facevo un refresh (questo è quello più grave, per me).
Allora ho comprato un componente per l'accesso diretto a mysql
(MySQLASAC). Questo componente era alla versione 1 e mi ha dato altri
problemi (problemini di gioventù :-), ma usandolo mi sono accorto che
l'accesso diretto (senza ODBC, DBE o cose simili) era molto più veloce,
inoltre mi consentiva di dare l'eseguibile senza installare o
configurare nulla (senza librerie, DBE da installare o ODBC da
configurare)....
A quel punto ho provato i componenti ZEOS (simili MySQLASAC) e con MySql
funzionano che è una meraviglia. Finquando non passerò a delphi 6 non ho
intenzione di cambiarli con nulla....poi vedremo.
2)Inoltre la griglia dei componenti ZEOS mi permette di fare ricerche,
ordinamenti,filtri con il semplice clik destro del mouse.....insomma, un
bel po' di codice in meno da scrivere.
3) Uso sia windows che Linux e quindi preferisco usare strumenti che mi
permettano di passare a linux (forse in futuro) senza troppi traumi
Ciao
Gianni Giusti
