Welcome to Sign in | Help
in Search

cautare in mai multe tabele

Last post 04-21-2009, 1:45 PM by rsocol. 2 replies.
Sort Posts: Previous Next
  •  04-21-2009, 11:05 AM 7067

    cautare in mai multe tabele

    Salut,
        AM o bd cu mai multe tabele (ex: pc - host, ip, user... printer: host, ip, model...switch: host, ip...) si vreau sa fac o cautare de genul: dintr-un singur form (c#) se introduce host sau ip sau serial number si sa returneze in functie de ce gaseste informatiile. deci daca gaseste host in table pc returneaza de acolo, daca gaseste in table printer returneaza de acolo. Cum sa conditionez interogarea dupa host/ip/sn in functie de unde gaseste rezultatul?
  •  04-21-2009, 12:04 PM 7068 in reply to 7067

    Re: cautare in mai multe tabele

    Specifica pe formul de C# tipul cautarii (host, IP, etc...) - de exemplu cu un "radio button". Apoi foloseste un query dinamic si un sp_executesql. Te poti inspira din http://www.sommarskog.se/dynamic_sql.html - vezi de exemplu sectiunea "Dealing with Dynamic Table and Column Names".

    Nu uita sa verifici datele introduse prin formul tau (validatori .NET, regexp......).  

  •  04-21-2009, 1:45 PM 7069 in reply to 7067

    Re: cautare in mai multe tabele

    Poţi să faci ceva de genul:

    SELECT 'Calculator' as Tip, Denumire, Locatie, IP
    FROM Calculatoare
    WHERE Denumire=@Valoare OR IP=@Valoare

    UNION ALL

    SELECT 'Imprimanta' as Tip, Denumire, Locatie, IP
    FROM Imprimante
    WHERE Denumire=@Valoare OR IP=@Valoare OR Model=@Valoare

    ... şi aşa mai departe. Ideea este să returnezi acelaşi set de coloane din toate tabelele (chiar dacă poţi să cauţi pe coloane diferite).

    Răzvan
View as RSS news feed in XML
Powered by Community Server (Commercial Edition), by Telligent Systems