Risposta da una query

di il
3 risposte

Risposta da una query

Buonasera neofita sql

eseguendo una query, è   possibile ricevere come messaggio di ritorno ….   record non presenti

mi spiego meglio se cerco utenti delle città di roma

e la query non soddisfa….. come si fa a far uscire il mess

spero che mi sia espresso bene

3 Risposte

  • Re: Risposta da una query

    Ma come chiami la query e come ricevi il risultato?

  • Re: Risposta da una query

    Salve,

    solitamente, “NO”, in quanto una query restituisce “risultati” e non “messaggi”, e quindi un “set”, sia esso un “empty set" (0 righe) o “popolato”, quindi “n righe”…

    quindi la domanda e' d'obbligo… come “vuoi” questo messaggio, che tecnicamente non ha neanche “troppo” senso… brutalmente potresti (ma non dovresti), eventualmente scrivere

    DECLARE @param int = x;
    
    IF (NOT EXISTS(SELECT 1
    				FROM dbo.tabella
    				WHERE colonnaPk = @param)) BEGIN
    	PRINT 'tuo messaggio per nessun risultato';
    	RETURN;
    END;
    
    SELECT .....
    	FROM dbo.tabella
    	WHERE colonnaPk = @param;

    e catturare via Ado.NET (non credo EntityFramework lo permetta… e qui “kudos to Ado.NET” :D ) similarmente a https://stackoverflow.com/questions/1880471/capture-stored-procedure-print-output-in-net

    ma NON ha senso… potresti eventualmente anche evitare la la ricerca iniziale IF (NOT EXISTS….) e proiettare subito la tua query di SELECT…

    quindi

    DECLARE @param int = x;
    
    SET @@ROWCOUNT ON;
    DECLARE @r int = NULL;
    
    SELECT .....
    	FROM dbo.tabella
    	WHERE colonnaPk = @param;
    	
    SELECT @r = @@ROWCOUNT;
    
    IF (@r = 0) BEGIN
    	PRINT 'tuo messaggio per nessun risultato';	
    END;

    e di nuovo catturare come sopra il risultato… anche SE eviti la “doppia” ricerca, non ha senso in quanto, comunque, dopo la proiezione, lato client, tu hai il risultato… quindi puoi ispezionare il set ritornato e agire di conseguenza…

    e' vuoto?? sollevi eccezione o gestisci “come preferisci”…
    e' pieno?? popoli il tuo model come meglio credi…

    quindi, di nuovo… a che pro???

    salutoni romagnoli
    – 
    Andrea

  • Re: Risposta da una query

    Ti devi affidare al linguaggio del codice che stai ssCeivendo.

    Esegui la query, ottieni un risultato e in base a quello, con una If il tuo codice fa apparire il messaggio.

Devi accedere o registrarti per scrivere nel forum
3 risposte