Visualizza post

Questa sezione ti permette di visualizzare tutti i post inviati da questo utente. N.B: puoi vedere solo i post relativi alle aree dove hai l'accesso.


Post - milio

Pagine: [1] 2 3 ... 85
1
Ciao vuott.... il link indirizza al traduttore deepl, non al post sulla mailing list

2

Per Milio: potresti fornirci qualche dettaglio in più sul tuo scenario operativo? (quali ODBC e versioni Gambas/Distro linux?)

Grazie


Distro: Kubuntu 22.04
Versione Gambas: 3.19.1
ODBC: FreeTDS (versione pacchetto 1.3.6-1)
           tdsodbc (versione pacchetto 1.3.6-1)

Per il collegamento al Database nel file freetds.conf:

Codice: [Seleziona]
[Mago]
        host = 192.168.1.75
        port = 1305
        tds version = 8.0
        client charset = UTF-8

Parametri nel file odbcinst.ini:

Codice: [Seleziona]
[Ms-Sql]
Description=
Driver=/usr/lib/x86_64-linux-gnu/odbc/libtdsodbc.so
Driver64=/usr/lib/x86_64-linux-gnu/odbc/libtdsodbc.so
Setup=/usr/lib/odbc/libtdsS.so
Setup64=/usr/lib/x86_64-linux-gnu/odbc/libtdsS.so
UsageCount=1
CPTimeout=
CPTimeToLive=
DisableGetFunctions=
DontDLCLose=
ExFetchMapping=
Threading=
FakeUnicode=
IconvEncoding=
Trace=
TraceFile=
TraceLibrary=
CPReuse=

parametri nel file odbc.ini:

Codice: [Seleziona]
[Mago]
Description=Ms-Sql
Driver=Ms-Sql
Servername=Mago
Database=LavanderiaNET
UID=######
PWD=######
Port=1305


...con FreeTDS il raggruppamento funziona correttamente, ma va in crash nel caso in cui uno dei campi di aggregazione della select contiene un valore null.


Io ho provato a fare dei test in questo modo:
ho modifcato il dato nel database mettendo il valore Null nel campo 'UM'  in un record a caso contenente l'articolo '29'
poi ho eseguito questo codice:

Codice: [Seleziona]
 hRes = DbMago.Exec("SELECT SUM(ritirato) as somma, cliente, UM FROM SI_BolletteRighe WHERE articolo = '29' group by cliente, UM;")
 
  For Each hRes
    Print hRes["somma"], hRes["cliente"], IIf(IsNull(hRes["UM"]), "NULL", hRes["UM"])
  Next

e mi ritorna correttamente in console senza andare in crash:

Codice: [Seleziona]
2       1887    NULL
1       1034    PZ
274     1862    PZ
5       1887    PZ
22      1911    PZ
245     2278    PZ
361     2311    PZ

3

Scusa se mi intrometto, ma sembra che Simo ti abbia risposto così:
Citazione
Grazie per la celere risposta.

Ho provato anche col For Each come da te suggerito, ma non entra nel ciclo FOR come se il recorset fosse vuoto...

Ci sono altri suggerimenti o test che posso fare?
:-\  :ciao:


Esatto... infatti io ho tolto il raggruppamento e siccome nel post precedente ha detto che non c'erano problemi con query semplici, volevo verificare che il lotto n. 722078 esistesse per davvero, in modo da non correre dietro a problemi che non esistono (già avuto queste esperienze.... )

4
Curiosità....

collicar, anaetichette, lotto

Lavori per caso in o per una lavanderia industriale?


5
A parte la proprietà count che mi ritorna sempre -1 anche se il recordset contiene di fatto dei dati, ho provato anch'io a fare dei test di raggruppamento... A me non da problemi la query...

Ma se esegui questa query:

Codice: [Seleziona]
rs = $con.Exec("SELECT * FROM anaetichette WHERE lotto = '722078' ;")

For Each rs
  PRINT "record trovato: " & rs[0]
Next

ti ritorna dei dati?


6

Quando tento di eseguire una query di selezione con raggruppamento:
SQL = "SELECT SUM(collicar) as Tot_Colli FROM anaetichette WHERE lotto = '722078' GROUP BY lotto"

L'oggetto result sembra essere sempre vuoto, la proprietà rs.Available è sempre = False.

Qui di seguito il codice:

         rs = $con.Exec("SELECT SUM(collicar) as Tot_Colli FROM anaetichette WHERE lotto = '722078' GROUP BY lotto")
         WHILE (rs.Available)
               PRINT "record trovato: Tot colli:" & rs!Tot_Colli
               rs.MoveNext()
         WEND

Credo di sbagliare qualcosa, vi sarei grato se poteste darmi qualche dritta o consiglio in merito al problema.
Più in generale volevo sapere se qualcuno aveva già usato gambas3 con Microsoft SQL SERVER e/o aveva avuto un problema simile.

Ringrazio anticipatamente.


Prova in questo modo e vedi se ti ritorna qualcosa:
Codice: [Seleziona]
 rs = $con.Exec("SELECT SUM(collicar) as Tot_Colli FROM anaetichette WHERE lotto = '722078'  GROUP BY lotto;")

For Each rs
  PRINT "record trovato: Tot colli:" & rs!Tot_Colli
Next

7
Confermo...

Ho testato sul desktop che ho a casa con versione 3.18.1

Comunque penso di non vederlo come un bug.... Probabilmente il bug era prima della versione 3.18.4,.
Penso sia più corretto che un oggetto invisibile non debba interagire con il programma....

Era solo per farlo notare....


8
pusteria.... hai ragione.... hai per caso una VM con la 3.18.2? io scrivo sempre 3.18.4 che e' quella che c'era su server ma effettivamente sui client avevo la 3.18.2


Scusa ancora...


9
Con la versione 3.18.4 e precedenti ho sempre utilizzato dei menu, costruiti con l'editor del menu del Form. sfruttando la proprietà Shortcut per accettare comandi veloci da tastiera.
Mettovo poi il Menu principale non visibile in modo da non inserirlo sulla barra del menu in alto al form.

Con la versione 3.19.1 bisogna settare la proprietà Visible a True altrimenti non vengono prese in considerazione le scorciatoie da tastiera, e lasciare vuota la proprietà Caption del menu principale per non visualizzarlo nella barra dei menu del  form.

Non so se è un bug o meno ma lo faccio solo presente...



10
Piccolo aggiornamento: ho inglobato dentro la funzione CDate() tutte le parti di codice dove utilizzavo il segno aritmetico per aggiungere o diminuire di un giorna le date.
Per aggiornare il tutto mi sono fatto una piccola utility che mi va a spulciare tutto il codice e mi ritorna classe riga e testo dove ho fatto operazioni con le date

Metto risolto anche se il bug c'e' ancora..

Grazie mille Gianluigi

11
Immaginavo che fossero tanti i pc da aggiornare.
Il PPA con la versione master è disponibile dopo 24 ore dal fix.

Vuoi dire che domani se do un sudo apt-get install gambas3 mi aggiornera' i pacchetti?


Non sapendo come sei organizzato, ho accennato alla compilazione più che altro nel caso tu fossi stato interessato a ritornare alla versione precedente.
Ma penso che tu abbia un backup  :)

 :ciao:

No   :nonono: :hatecomputer: :hatecomputer: :rotfl: :rotfl: :rotfl: :rotfl:

Comunque la versione 3.19.2 e' solo sul mio pc....  Mi son fermato alla prima installazione per fortuna

12
Siccome ho 35 pc da aggiornare, pensavo di aspettare i pacchetti sul server ppa.

Oppure, visto questi problemi, sarebbe bene che mi faccia io un server interno per caricare eventuali pacchetti modificati...

O, terza opzione, esiste un repository con pacchetti .deb e versione 'di giornata'?

13
Segnalazione bug / Re:Gambas 3.19.1: Now() + 1 = Float
« il: 18 Aprile 2024, 13:53:30 »
 :ok:
Codice: [Seleziona]
Public Sub Main()

  Do
    Print "Milio è un minchiosauro"
    Break
  Loop

end

 ;D

14
Segnalazione bug / Re:Gambas 3.19.1: Now() + 1 = Float
« il: 18 Aprile 2024, 10:19:54 »
Perchè?

perchè:  :-\
Codice: [Seleziona]
Public Sub Main()

  Do
    Print "Milio è un minchiosauro"
  Loop

end


Ho dato per scontato, senza provare, che la funzione Now() As Date restituisse una data e non un Float...

Comunque sia io ho sempre utilizzato una Variabile Date che poi veniva caricata con Now(), non ho mai usato la funzione Now() da sola come ho erroneamente scritto nell'esempio del primo post.

Scusate....

15
Segnalazione bug / Re:Gambas 3.19.1: Now() + 1 = Float
« il: 18 Aprile 2024, 06:49:39 »
Mi puoi eseguire questo codice sulla due versioni e vedere se sono io pazzo o no?  :rolleyes:

Codice: [Seleziona]
Public Sub Main()
 
  Dim dDate As Date
 
 
  dDate = Now()
  Print dDate
 
  dDate += 1
 
  Print dDate
 
End

Pagine: [1] 2 3 ... 85