Buongiorno, sono un nuovo utente e saluto tutti i componenti di questo forum a cui spero di poter dare anch'io il mio contributo.
Mi scuso anticipatamente degli eventuali errori che potrò fare ma sono sicuro che voi, pazientemente, mi correggerete
Premetto che uso gambas3 solo da poche settimane anche se, grazie alla sua semplicità e a una mia esperienza di vecchia data con il Visual Basic, sono riuscito in breve tempo a sviluppare un programma di accesso a database molto utile per il mio lavoro.
Non ho avuto alcuna difficolta a collegarmi a vari tipi di database, come sqlite3, mysql e MSSQL, ma ho riscontrato un unico, grosso problema con MSSQL nella lettura di dati di tipo 'float'; problema che penso di dover addebitare a gambas3, perchè la stessa query, con gli stessi driver freeTDS, utilizzata da terminale fornisce dati corretti.
Mi spiego meglio: questa query utilizzata da terminale (con isql) fornisce dei valori float decimali corretti per il campo ap_esist:
SQL> SELECT ap_codart, ap_magaz, ap_esist FROM artpro WHERE ap_codart = 'A-001-014-501'
+-------------------+-----------+-----------------------+
| ap_codart | ap_magaz| ap_esist |
+-------------------+-----------+-----------------------+
| A-001-014-501 | 1 | 1904,616 |
| A-001-014-501 | 2 | 0 |
| A-001-014-501 | 10 | 0 |
| A-001-014-501 | 293 | 0,8 |
+-------------------+-----------+-----------------------+
mentre la stessa query utilizzata con gambas3 mi da valori pari a ZERO! questo per qualsiasi campo di tipo float (i campi integer sono corretti). Ma la cosa strana è che se richiedo il valore del campo moltiplicato per 1000 il risultato è corretto:
SELECT ap_codart, ap_magaz, ap_esist, ap_esist*1000 AS ap_esist2 FROM artpro WHERE ap_codart = 'A-001-014-501'
ap_codart ap_magaz ap_esist ap_esist2
A-001-014-501 1 0 1904616
A-001-014-501 2 0 0
A-001-014-501 10 0 0
A-001-014-501 293 0 800
Purtroppo non ho trovato in questo forum molti post dedicati a MSSQL, ma spero che qualcuno di voi possa illuminarmi in merito a questo bug che mi sta letteralmente bloccando lo sviluppo del programma.
Concludo assicurando che la lettura di campi di tipo float per database mysql e sqlite3 fornisce dati assolutamente corretti.
Grazie anticipatamente per qualsiasi vostro intervento.