Pagina 1 di 5 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 50
  1. #1

    Errore visualizzazione Mysql/ODBC Delphi

    Ciao a tutti,
    ho un problema con la visualizzazione del contenuto di una tabella Mysql in un dbgrid Delphi XE3.

    MYSQL
    Struttura Database molto semplice composto da 1 tabella contenente 2 campi (ID, COGNOME).

    Inserisco dei dati nella tabella in MySql:
    1, Russo
    2, Bianchi
    3, Di Gennaro
    .
    .
    .
    Server XAMPP

    Delphi XE3
    Creo una Tform e inserisco i componenti Ttable , TDataSource , TDBGrid
    Collego il Ttable al database mysql, il TDataSource al TTable e il DBGrid al Datasource.
    A questo punto nel DBGRID visualizzo due volte i nominativi che ho inserito, dal primo all'ultimo e nuovamente dal primo all'ultimo, quindi il doppio delle reali righe.
    Cosa ancora più strana è che se mi posiziono dopo l'ultima riga (quindi riga vuota), poi mi sposto sull'ultima riga che contiene dati (quindi la precedente) e poi mi sposto nuovamente sulla successiva che dovrebbe essere vuota, mi ritrovo invece altre righe duplicate del database e quindi non più vuote per poi scrollare fino alla riga vuota per ritrovarmi alle stesse condizioni di prima.....

    Controllo in MySql e tutto è corretto cioè non esistono DOPPIE righe uguali, quindi presumo che sia un problema di collegamento tra i componenti Delphi e il database MySql/XAMPP/ODBC.

    Utilizzo Windows 7 Ultimate 32bit.

    Spero qualcuno mi aiuti a risolvere questo problema per me importante......
    Ps. non posso cambiare database o utilizzare altro del tipo IbExpert/Firebird ecc..ecc.. Devo utilizzare la tebella creata in MySql.
    Grazie

  2. #2
    Utente bannato
    Registrato dal
    Dec 2012
    Messaggi
    679
    Uso ZEOS (o mydac) come componenti per il collegamento a mysql.

  3. #3
    Grazie per la risposta
    quindi utilizzi MySql e Xampp e colleghi i componenti visuali di Delphi tramite la libreria Zeos?
    Attendo tua risposta e magari se hai qualche link per una guida o se mi indichi i componenti da utlizzare per il collegamento.
    Nell'attesa c'è qualcuno che può rispondere alla mia richiesta di aiuto iniziale? c'è qualcuno che sa dirmi come risolvere il problema che ho esposto?
    Grazie
    Gianni

  4. #4
    Utente bannato
    Registrato dal
    Dec 2012
    Messaggi
    679
    Originariamente inviato da gianni73na
    Grazie per la risposta
    quindi utilizzi MySql e Xampp e colleghi i componenti visuali di Delphi tramite la libreria Zeos?
    A dir la verità uso mariadb, prevalentemente, ma in certi casi anche mysql
    E sì, uso i componenti ZEOS per il mio gestionale.
    Li trovi qui
    http://sourceforge.net/projects/zeoslib/

    I componenti son proprio semplici: c'è una connessione (coi dati del db, nome utente, password, protocollo mysql usato etc), poi componenti tabelle e componenti query (più altri per operazioni batch, ma non è che ti interessino).

    Non uso XE3 quindi non so risponderti per tale ambiente, posso però dirti che Zeos funziona.

    PS se usi mysql ti serve la libreria DLL dentro la cartella dell'eseguibile.
    libmysql.dll, che è quella tra l'altro che impedisce la vendita di programmi eseguibili con MySQL se non paghi le royalties a Oracle, a meno che non rilasci tutti i sorgenti del tuo programma come GPL.

  5. #5
    Grazie per le informazioni davvero interessanti,
    fammi capire meglio il problema della vendita di software e MySql.
    Premetto che il software che sto per terminare sarà installato da me su un numero di macchine, quindi posso tranquillamente copiare DLL manualmente senza dover inglobare il tutto in un un file di installazione.

    PS se usi mysql ti serve la libreria DLL dentro la cartella dell'eseguibile. libmysql.dll, che è quella tra l'altro che impedisce la vendita di programmi eseguibili con MySQL se non paghi le royalties a Oracle, a meno che non rilasci tutti i sorgenti del tuo programma come GPL.
    Copiando la DLL libmysql.dll nella cartella dell'eseguibile avrò comunque problemi per l'utilizzo del software su altri computer?

    Grazie mille, sei davvero di aiuto, spero di poter ricambiare per altre problematiche già risolte da me.

  6. #6
    Utente bannato
    Registrato dal
    Dec 2012
    Messaggi
    679
    Originariamente inviato da gianni73na
    Grazie per le informazioni davvero interessanti,
    fammi capire meglio il problema della vendita di software e MySql.
    Premetto che il software che sto per terminare sarà installato da me su un numero di macchine, quindi posso tranquillamente copiare DLL manualmente senza dover inglobare il tutto in un un file di installazione.

    Copiando la DLL libmysql.dll nella cartella dell'eseguibile avrò comunque problemi per l'utilizzo del software su altri computer?

    Grazie mille, sei davvero di aiuto, spero di poter ricambiare per altre problematiche già risolte da me.
    Non puoi vendere un software che utilizza il codice GPL di Oracle.
    Se NON nel caso di abbinamento a un server web.

    Supponiamo che fai un gestionale, quindi brutalmente un EXE, e vuoi venderlo mettendo come db mysql.
    I casi sono 2)
    1) rilasci come codice GPL tutto il tuo programma (quindi opensource)
    2) compri, per ogni installazione, una licenza di mysql da Oracle (ho anche i prezzi, ma non li indico, tanto sono un troll)

    Il caso 2) si applica anche qualora utilizzassi solo la DLL (per la precisione anche la libreria statica, non solo dinamica) libmysql.dll (o l'equivalente statico, se usi C) perchè a sua volta la licenza non consente l'utilizzo.

    Non puoi, per capirci, usare mariadb+libmysql.dll

    Le alternative sono un certo numero
    - paghi a oracle il costo di un server mysql per ogni installazione, oppure ti accordi per un tot % sul costo del tuo programma (fanno anche questi accordi, te lo dico per esperienza)
    - tenti di utilizzare l'accoppiata mariadb + lib LGPL (con la L di "less"), è uscita da pochissimo - qualche mese - e non l'ho mai testata
    - [come faccio io] fanculizzi del tutto oracle e mysql a favore di mariadb e di una libreria di collegamento (non Zeos) che non richiede la libmysql nè statica nè dinamica (si connette brutalmente sulla porta TCP e buonanotte)
    - [altra possibilità] fanculizzi mysql a favore di Postgres (che è freebsd) + Zeos. Però dipende dai casi, ad esempio per integrazioni di interfaccine PHP non è il massimo (mysql molto più supportato e diffuso in questo caso)

  7. #7
    La libreria LGPL funziona molto bene con MariaDB, e dovrebbe funzionare anche con MySQL
    STK/Unit: Unit Test framework per MariaDB
    http://stk.wikidot.com/stk-unit

  8. #8
    Utente bannato
    Registrato dal
    Dec 2012
    Messaggi
    679
    Originariamente inviato da in the web
    La libreria LGPL funziona molto bene con MariaDB, e dovrebbe funzionare anche con MySQL
    Si chiama però libmariadb.dll, per la precisione.
    A parte quello non è in realtà identica, come funzioni, seppure molto simile.

    Agevolo il confronto, anche se immagino che non interesserà a nessuno
    http://www.pdfhost.net/index.php?Act...3bd08f2101425a

    PS tra l'altro è quasi 10 volte più piccola

  9. #9
    Non riesco ad aprire il pdf, puoi controllare se è un problema del pdf o mio? Grazie.

    All'atto pratico, quali funzioni mancano? A me sembra che funzioni benissimo con MariaDB...

    PS come vedi alcuni tuoi interventi interessano: dipende cosa scrivi.
    STK/Unit: Unit Test framework per MariaDB
    http://stk.wikidot.com/stk-unit

  10. #10
    Grazie franzauker2.0,

    Supponiamo che fai un gestionale, quindi brutalmente un EXE, e vuoi venderlo mettendo come db mysql. I casi sono 2)
    1) rilasci come codice GPL tutto il tuo programma (quindi opensource)
    2) compri, per ogni installazione, una licenza di mysql da Oracle (ho anche i prezzi, ma non li indico, tanto sono un troll)
    Non mi è chiara una cosa, scusami franzauker2.0 , il punto 2) è legato al funzionamento del programma oppure è solo una questione di licenza intesa come permesso di utilizzo? non pagare corrisponde a non far funzionare il programma su altri computer (intendo compilato in file .exe)?? o cosa???
    Grazie ancora e grazie anche a "in the web" per essere intervenuto.

    Qualcuno sa rispondere al mio primo quesito? perché in Delphi vedo linee doppie nel DBGrid se collego il database creato con MySql/Xampp e pubblicato tramite ODBC?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.