Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Opera Neon: il browser AI agentico di nuova generazione
Opera Neon: il browser AI agentico di nuova generazione
Abbiamo provato il nuovo web browser con intelligenza artificiale della serie Opera accessibile tramite abbonamento. Ecco le nostre prime impressioni sulle funzionalità di Opera Neon basate su AI e come funzionano
Wind Tre 'accende' il 5G Standalone in Italia: si apre una nuova era basata sui servizi
Wind Tre 'accende' il 5G Standalone in Italia: si apre una nuova era basata sui servizi
Con la prima rete 5G Standalone attiva in Italia, WINDTRE compie un passo decisivo verso un modello di connettività intelligente che abilita scenari avanzati per imprese e pubbliche amministrazioni, trasformando la rete da infrastruttura a piattaforma per servizi a valore aggiunto
OPPO Find X9 Pro: il camera phone con teleobiettivo da 200MP e batteria da 7500 mAh
OPPO Find X9 Pro: il camera phone con teleobiettivo da 200MP e batteria da 7500 mAh
OPPO Find X9 Pro punta a diventare uno dei riferimenti assoluti nel segmento dei camera phone di fascia alta. Con un teleobiettivo Hasselblad da 200 MP, una batteria al silicio-carbonio da 7500 mAh e un display da 6,78 pollici con cornici ultra ridotte, il nuovo flagship non teme confronti con la concorrenza, e non solo nel comparto fotografico mobile. La dotazione tecnica include il processore MediaTek Dimensity 9500, certificazione IP69 e un sistema di ricarica rapida a 80W
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 08-06-2003, 22:00   #1
luana.neri80
Member
 
Iscritto dal: May 2003
Messaggi: 56
problema in sql

devo selezionare il minimo tra alcune date:

select min(data_di_nascita)
form tabella_pippo
where nome='carlo' and cognome='neri'

data la presenza di condizioni in where la tabella risultato potrebbe essere vuota, come gestisco la cosa?

se nella tabella risultato ci sono almeno 1 data catturo la minima in una stringa, se invece è vuota la tabella?

aiuto!!!

luana.neri80 è offline   Rispondi citando il messaggio o parte di esso
Old 09-06-2003, 02:50   #2
matpez
Senior Member
 
L'Avatar di matpez
 
Iscritto dal: Aug 2002
Città: Biella
Messaggi: 1882
Ma a cosa vuoi applicare questa cosa?

Se ad un linguaggio tipo VB o ASP vericfichi se il nome (per esempio min(data_di_nascita) lo chiami "ciao" ->> min(data_di_nascita) as ciao):

if recorset("ciao") is null then

e via dicendo
matpez è offline   Rispondi citando il messaggio o parte di esso
Old 09-06-2003, 16:36   #3
lombardp
Senior Member
 
L'Avatar di lombardp
 
Iscritto dal: Jun 2002
Città: Firenze
Messaggi: 630
Premetto che non so se ho ben capito la domanda e che non sono esperto dell'argomento, comunque in JSP dopo aver eseguito una query, scrivo sempre un costrutto di questo tipo:

Codice:
while (rs.next())
   {
   // Lettura dei risultati della query
   // Utilizzo dei valori letti
   }
Perché se la query non ritorna niente, il codice non viene eseguito.
__________________
---> Lombardp
CSS Certified Expert (Master Level) at Experts-Exchange
Proud user of LITHIUM forum : CPU technology
Webmaster of SEVEN-SEGMENTS : Elettronica per modellismo
lombardp è offline   Rispondi citando il messaggio o parte di esso
Old 09-06-2003, 16:56   #4
fencer2000
Member
 
Iscritto dal: Mar 2002
Città: Udine e ogni tanto Catania
Messaggi: 27
Re: problema in sql

Quote:
Originally posted by "luana.neri80"

devo selezionare il minimo tra alcune date:

select min(data_di_nascita)
form tabella_pippo
where nome='carlo' and cognome='neri'

data la presenza di condizioni in where la tabella risultato potrebbe essere vuota, come gestisco la cosa?

se nella tabella risultato ci sono almeno 1 data catturo la minima in una stringa, se invece è vuota la tabella?

aiuto!!!

Se le tabella e' vuota, come dice lombardp il codice non viene eseguito per cui non te ne devi preoccupare. Se vuoi fare una cosa piu' elegante puoi usare la funzione mysql_affected_rows() che restituisce il numero di righe interessate dalla query; se e' maggiore di 0 allora visualizzi la minima data altrimenti un messaggio che dica che non ci sono dati restituiti per quella query.
Ricordati piuttosto di usare un alias nella query..qualcosa del tipo
"SELECT min(data_di_nascita) AS min_date
FROM tabella_pippo
WHERE nome='carlo' AND cognome='neri'" altrimenti non riesci a visualizzarlo. Buon lavoro
__________________
Mi son guardato allo specchio e mi sono accorto che non mi somigliavo
fencer2000 è offline   Rispondi citando il messaggio o parte di esso
Old 09-06-2003, 17:30   #5
luana.neri80
Member
 
Iscritto dal: May 2003
Messaggi: 56
se faccio if invece di while invece cambia qualcosa....
luana.neri80 è offline   Rispondi citando il messaggio o parte di esso
Old 09-06-2003, 17:38   #6
fencer2000
Member
 
Iscritto dal: Mar 2002
Città: Udine e ogni tanto Catania
Messaggi: 27
Quote:
Originally posted by "luana.neri80"

se faccio if invece di while invece cambia qualcosa....
Logicamente no, comunque sia nell'uno che nell'altro caso non viene eseguito il codice..pero' con l'if puoi visualizzare un'alternativa, che nel tuo caso sarebbe il messaggio che non e' stato trovato alcun record
__________________
Mi son guardato allo specchio e mi sono accorto che non mi somigliavo
fencer2000 è offline   Rispondi citando il messaggio o parte di esso
Old 09-06-2003, 18:41   #7
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Re: problema in sql

Quote:
Originally posted by "fencer2000"

Se le tabella e' vuota, come dice lombardp il codice non viene eseguito per cui non te ne devi preoccupare. Se vuoi fare una cosa piu' elegante puoi usare la funzione mysql_affected_rows() che restituisce il numero di righe interessate dalla query; se e' maggiore di 0 allora visualizzi la minima data altrimenti un messaggio che dica che non ci sono dati restituiti per quella query.
Attenzione che non è PHP...e non è nemmeno detto che usi MySQL
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 09-06-2003, 18:55   #8
luana.neri80
Member
 
Iscritto dal: May 2003
Messaggi: 56
sto parlando di oracle e jsp
con l'if genera un errore se si usa min e la tabella è vuota

cmq penso di aver risolto catturando il valore con getDate, io facevo con getString...
luana.neri80 è offline   Rispondi citando il messaggio o parte di esso
Old 10-06-2003, 15:57   #9
alphacygni
Senior Member
 
L'Avatar di alphacygni
 
Iscritto dal: Mar 2002
Città: Roma - Milano - Lagos
Messaggi: 8579
il problema non e' recuperarla come stringa o come data, semplicemente inizializza la stringa a ""

String data = "";

poi fai

while (rs.next()) {
data = rs.getString("nomecampo");
}

tanto la select min() torna o un record o nessuno...
se non ne ha tornato nessuno la stringa rimane a "" perche' il blocco nel while non viene eseguito
altrimenti viene valorizzata col valore estratto....
__________________
--- --- VENDO AppleCare per Macbook Pro 15"/17" a 200E --- ---
Ho trattato con mezzo forum, per l'altra meta' mi sto attrezzando... tutto ok, tranne con quel diversamente onesto di drwebby
Perditempo di professione: signirr
alphacygni è offline   Rispondi citando il messaggio o parte di esso
Old 10-06-2003, 16:20   #10
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Io non ci capisco niente di JSP, ma non è che rs.next() torna comunque falso ? Se anche c'è un solo record facendo rs.next() raggiunge l'EOF e di conseguenza dovrebbe ritornare falso...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 10-06-2003, 16:29   #11
lombardp
Senior Member
 
L'Avatar di lombardp
 
Iscritto dal: Jun 2002
Città: Firenze
Messaggi: 630
Quote:
Originally posted by "cionci"

Io non ci capisco niente di JSP, ma non è che rs.next() torna comunque falso ? Se anche c'è un solo record facendo rs.next() raggiunge l'EOF e di conseguenza dovrebbe ritornare falso...
E' la stessa cosa che pensai quando vidi usare questo metodo per la prima volta. Poi leggendo il manuale (e anche non mettendolo a causa di una svista), ho scoperto che rs.next() deve essere richiamato anche prima di leggere il primo record.

In altre parole: se c'è solo un record, richiamando rs.next() ci si posiziona su di esso.
__________________
---> Lombardp
CSS Certified Expert (Master Level) at Experts-Exchange
Proud user of LITHIUM forum : CPU technology
Webmaster of SEVEN-SEGMENTS : Elettronica per modellismo
lombardp è offline   Rispondi citando il messaggio o parte di esso
Old 10-06-2003, 16:35   #12
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Un po' contorto...non trovi ?

In pratica hanno incluso un test sul EOF e l'istruzioni epr spostarsi sul record successivo nella stessa funzione...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 10-06-2003, 16:54   #13
matpez
Senior Member
 
L'Avatar di matpez
 
Iscritto dal: Aug 2002
Città: Biella
Messaggi: 1882
Quote:
Originally posted by "cionci"

Un po' contorto...non trovi ?

In pratica hanno incluso un test sul EOF e l'istruzioni epr spostarsi sul record successivo nella stessa funzione...

In effetti...è una cosa che nn ha un gran senso, se nn c'è record fai un bel while not rs.EOF , cosi nn entra nemmeno nel ciclo!!

Va be, ogni linguaggio poi la pensa a modo suo
matpez è offline   Rispondi citando il messaggio o parte di esso
Old 10-06-2003, 17:01   #14
lombardp
Senior Member
 
L'Avatar di lombardp
 
Iscritto dal: Jun 2002
Città: Firenze
Messaggi: 630
Quote:
Originally posted by "cionci"

Un po' contorto...non trovi ?
In pratica hanno incluso un test sul EOF e l'istruzioni epr spostarsi sul record successivo nella stessa funzione...
E' vero che è contorto, ma anche molto pratico, perché puoi letteralmente risparmiarti di verificare EOF a parte. Con while (rs.next()) hai in pratica un loop su tutti i record che funziona anche nel caso di 0 record, perché in tale caso semplicemente non esegue il loop.
__________________
---> Lombardp
CSS Certified Expert (Master Level) at Experts-Exchange
Proud user of LITHIUM forum : CPU technology
Webmaster of SEVEN-SEGMENTS : Elettronica per modellismo
lombardp è offline   Rispondi citando il messaggio o parte di esso
Old 10-06-2003, 18:37   #15
Duncan
Senior Member
 
L'Avatar di Duncan
 
Iscritto dal: Nov 1999
Città: Sesto Fiorentino, Firenze
Messaggi: 8444
A me non pare contorto anzi...

giustamente rende l'oggetto con cursore che punta a BOF se c'è almeno un record si sposta sul primo, altrimenti potendo spostare il cursore solo su EOF non entra nemmeno nel ciclo... (opinione personale )

probabilmente mi sbaglio, ma la funzine .next() usata in questo modo non rientra tra gli iteratori? (curiosità personale )
__________________
Nikon user
Le mie foto su Flickr
Duncan è offline   Rispondi citando il messaggio o parte di esso
Old 10-06-2003, 18:40   #16
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Quote:
Originally posted by "Duncan"

A me non pare contorto anzi...
Contorto il ragionamento che ci sta dietro, ma buona dal punto di vista pratico...
cionci è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Opera Neon: il browser AI agentico di nuova generazione Opera Neon: il browser AI agentico di nuova gene...
Wind Tre 'accende' il 5G Standalone in Italia: si apre una nuova era basata sui servizi Wind Tre 'accende' il 5G Standalone in Italia: s...
OPPO Find X9 Pro: il camera phone con teleobiettivo da 200MP e batteria da 7500 mAh OPPO Find X9 Pro: il camera phone con teleobiett...
DJI Romo, il robot aspirapolvere tutto trasparente DJI Romo, il robot aspirapolvere tutto trasparen...
DJI Osmo Nano: la piccola fotocamera alla prova sul campo DJI Osmo Nano: la piccola fotocamera alla prova ...
Scoperto un difetto hardware nei process...
Adeia cita in giudizio AMD: nel mirino l...
Attacco a OpenAI dal Giappone: Sora avre...
OpenAI annuncia un accordo strategico co...
Black Friday per e-bike Engwe: fino a 40...
Una PS5 grande come un tostapane: dove n...
Intel aveva pronta una scheda video di f...
Filippo Luna, CEO di Aira Italia: "...
Task Manager non si chiude e si moltipli...
Il CEO di OpenAI si lamenta della sua Te...
Shadow AI: il lato invisibile dell’innov...
Windows 7 ridotto a soli 69 MB: l'esperi...
Ancora problemi per i dischi SMR di West...
IA, zero trust, cifratura post quantum: ...
Accise diesel, la Legge di Bilancio 2026...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 08:12.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v