Autore Topic: [Risolto] errore dati PRIMARY KEY  (Letto 2095 volte)

Offline dex

  • Gran Maestro dei Gamberi
  • *****
  • Post: 872
    • Mostra profilo
[Risolto] errore dati PRIMARY KEY
« il: 22 Settembre 2015, 14:44:23 »
ciao raga
ho un problema su un database mysql che si è presentato dopo un aggiornamento di gambas.
dalle una delle prime versioni da gambas 3 ho creato un database mysql da codice e usato sempre lo stesso anche con i successivi aggiornamenti di gambas, l database ha sempre funzionato, ora ho aggiornato a gambas 3.8 e nel caricare i dati da quel database i campi id (numerici) delle tabelle diventano booleani.

per creare le tabelle ho usato questo codice :
Codice: [Seleziona]
If $hconn.Tables.Exist("lesenzione") = True Then
                Message.info("la tabella lesenzione esiste")
            Else
        If Message.Question("Creo la Tabella lesenzione?", "Si", "No") = 1 Then
        sql = "CREATE TABLE lesenzione ("
          sql &= "idlesenzione MEDIUMINT NOT NULL auto_increment,"
          sql &= "legge VARCHAR(55) DEFAULT NULL,"
          sql &= "testo VARCHAR(255) DEFAULT NULL,"
          sql &= "PRIMARY KEY(idlesenzione)"
          sql &= ")ENGINE = InnoDB AUTO_INCREMENT = 0 DEFAULT CHARSET = latin1;"
         
          hres = $hConn.EXEC(sql)
          $hConn.Commit
        Message.info("tabella lesenzione creata")
        Endif
      Endif

quando vado a leggere il campo "idlesenzione" mi ritorna un valore booleano, questo succede anche su altre tabelle ma non su tutte quelle che sono presenti nel database.
nel database ho creato tutte le tabelle (circa 60)  da codice come quello riportato sopra ma ora solo quelle meno popolate e che presentano da 1  a 4/5 record m ritornano i dati booleani, le tabelle con centinaia e migliaia di record funzionano.
« Ultima modifica: 29 Settembre 2015, 00:42:42 da dex »

Offline dex

  • Gran Maestro dei Gamberi
  • *****
  • Post: 872
    • Mostra profilo
Re:errore dati PRIMARY KEY
« Risposta #1 il: 22 Settembre 2015, 15:00:03 »
raga
appena verificato, tutte le tabelle che hanno meno di 10 record ritornano valori booleani, quelle che hanno da 10 a salire ritornano valori numerici.
su alcune tabelle che avevano mano di 10 record ho aggiunto record a caso e appena arrivato a 10 hanno ritornato valori numerici

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.166
  • Tonno verde
    • Mostra profilo
Re:errore dati PRIMARY KEY
« Risposta #2 il: 22 Settembre 2015, 15:04:50 »
Io MySql non lo conosco e probabilmente ti dico una scemenza, ma potresti provare a togliere “ = True” dal primo If e cambiare la domanda inserendo un integer così:
Codice: [Seleziona]
i = Message.Question("Creo la Tabella lesenzione?", "Si", "No")
If i = 1 … oppure Select Case i
Hai visto mai che gli dia fastidio Il True o If?
Altra cosa hai controllato i componenti? Non è che magari qualcuno è deprecato?

 :ciao:
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline dex

  • Gran Maestro dei Gamberi
  • *****
  • Post: 872
    • Mostra profilo
Re:errore dati PRIMARY KEY
« Risposta #3 il: 22 Settembre 2015, 15:09:06 »
ciao gianluigi
quello è il codice con cui ho creato l database, l'ho postato solo per far capire che tipo di database uso.

il codice per leggere la tabella è il seguente:
Codice: [Seleziona]
Public Sub getData()
   Dim sql As String
       
   sql = "select * from lesenzione order by idlesenzione"
   MyRS = MODMain.MyConn.Exec(sql)
   If MyRS.Available Then mystringa = Str(MyRS!idlesenzione)
 
End

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.166
  • Tonno verde
    • Mostra profilo
Re:errore dati PRIMARY KEY
« Risposta #4 il: 22 Settembre 2015, 15:14:50 »
Scusa non ho capito, ma il dati all'interno delle tabelle create intendo la primary key è corretta oppure è booleana?
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.166
  • Tonno verde
    • Mostra profilo
Re:errore dati PRIMARY KEY
« Risposta #5 il: 22 Settembre 2015, 16:59:38 »
Ciao dex
Rileggendo adesso, forse ho capito  :rolleyes:  tu usi un database già creato, non lo stai ricreando con una nuova versione di Gambas.
Allora non posso proprio aiutarti, ma vedrai che fra poco si faranno sentire quelli in gamba(s)
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline Golia

  • Senatore Gambero
  • ******
  • Post: 1.298
  • no xe mai massa tardi
    • Mostra profilo
Re:errore dati PRIMARY KEY
« Risposta #6 il: 22 Settembre 2015, 20:42:29 »
Bentornato Dex!
Anch'io interrogo il db così, l'unica cosa io per il campo id uso INT o INTEGER ..non ricordo purtroppo a casa adesso ho solo winz :bad:
« Ultima modifica: 22 Settembre 2015, 20:53:57 da Golia »

Offline dex

  • Gran Maestro dei Gamberi
  • *****
  • Post: 872
    • Mostra profilo
Re:errore dati PRIMARY KEY
« Risposta #7 il: 23 Settembre 2015, 19:58:12 »
ciao golia
il dababase  gia fatto e non posso modificarl, secondo me è un bug di gambas e mi sta creando un sacco di problemi.

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.166
  • Tonno verde
    • Mostra profilo
Re:errore dati PRIMARY KEY
« Risposta #8 il: 23 Settembre 2015, 20:05:00 »
...
secondo me è un bug di gambas e mi sta creando un sacco di problemi.

Non puoi chiedere direttamente a Minisini?

 :ciao:
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline dex

  • Gran Maestro dei Gamberi
  • *****
  • Post: 872
    • Mostra profilo
Re:errore dati PRIMARY KEY
« Risposta #9 il: 23 Settembre 2015, 20:21:54 »
...
secondo me è un bug di gambas e mi sta creando un sacco di problemi.

Non puoi chiedere direttamente a Minisini?

 :ciao:

ci avevo pensato.
ma non è semplice spiegargli il problema senza qualche esempio, avevo pensto di creare un piccolo programmino e che replicasse il problema e allegarlo alla mail

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.422
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:errore dati PRIMARY KEY
« Risposta #10 il: 23 Settembre 2015, 20:24:41 »
avevo pensto di creare un piccolo programmino e che replicasse il problema e allegarlo alla mail

Solitamente nella M.L. preferiscono un programma esemplificativo che riproduce il problema. Quindi... vai !
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.166
  • Tonno verde
    • Mostra profilo
Re:errore dati PRIMARY KEY
« Risposta #11 il: 23 Settembre 2015, 20:34:54 »
ci avevo pensato.
ma non è semplice spiegargli il problema senza qualche esempio, avevo pensto di creare un piccolo programmino e che replicasse il problema e allegarlo alla mail

  :bravo: se poi hai problemi con la lingua chiedi pure ... a vuott   :rotfl:
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.422
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:errore dati PRIMARY KEY
« Risposta #12 il: 23 Settembre 2015, 20:36:23 »
se poi hai problemi con la lingua chiedi pure ... a vuott   :rotfl:
Non ci pensare proprio, Gianluigi, non intendo rischiare di dover versare 20000 soldi alla cassa del Monopoli !!!  >:(
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline dex

  • Gran Maestro dei Gamberi
  • *****
  • Post: 872
    • Mostra profilo
Re:errore dati PRIMARY KEY
« Risposta #13 il: 29 Settembre 2015, 00:41:58 »
raga
il mistero si infittisce.
avevo creato un piccolo programmino da allegare alla email usando lo stesso codice per far si che generasse l'errore.
ebbene usando lo stesso codice e creando il databse con gambas 3.8 funziona.
sono ritornato al mio programma e da codice, ho prima eliminato le tabelle che mi davano problemi e poi le ho ricreate, una soluzione empirica ma funziona.
é un problema di compatibilità fra le varie versioni di gambas