none
Select da codice su Tabella mdf RRS feed

  • Domanda

  • Buongiorno,
    Premetto che sono alle prime armi, sono un sistemista non un programmatore.
    Sicuramente la mia domanda è di facile soluzione vi chiedo solo una risposta per capire come completare il mio programma:
    Ho creato un Tabella mdf con Sql ho realizzato il mio programma visualizzando i dati tramite un Datagridview
    ed ho creato le select sul mio dataset seguendo la procedura aggiungi query ecc..
    e fin qui tutto bene, il programma funziona e visualizza i risultati correttamente.
    Adesso volevo chiedervi se io ho un form dove tramite dei text e combo box inserisco dei dati come faccio a fare la select da codice indicando che le condizioni di ricerca sono quelle dei campi sopracitati. Mi spiego meglio
    ho una Database Soluzioni.mdf con dentro una tabella Criteri
    ho criteriTableAdapter con dentro tutte le mie select FillBy funzionanti
    ho il mio CriteriDataGridView
    vorrei per esempio su un form ricerche scrivere direttamente da codice una select che legga le textbox e combobox ed esegua la select sulla mia tabella criteri secondo questi valori inseriti e li visualizzi sul mio CriteriDataGridView.
    Scusatemi se mi esprimo in maniera semplice ma sono alle prime armi e non riesco a capire come scrivere una semplice select da codice.

    venerdì 3 agosto 2012 09:41

Risposte

  • Ciao toninoma, per prima cosa vorrei farti notare che solitamente non è cosa buona consentire all'utente di inserire queries direttamente. Si creerebbe una grossa falla di sicurezza. Però se l'applicazione è ad uso di utenti particolari, che hanno cioè un alto grado di attendibilità, la cosa si potrbbe accettare.

    In parole povere, semplificando al massimo, per ottnere un accesso ai dati di un DB SqlServer c'è bisogno dei seguenti oggetti:

    un oggetto SqlClient.SqlConnection, che rappresenta la connessione al DB Di tipo SqlServer;

    un oggetto SqlClient.SqlCommand, che rappresenta appunto il comando da eseguire sul DB;

    Un oggetto SqlClient.SqlCommand, accetta tra l'altro, insiemi di oggetti SqlClient.SqlParameter per ad esempio filtrare la restituzione dei dati o per stabilire ad esempio quali dati si devono modificare.

    Un oggetto SqlClient.SqlCommand, espone la proprietà di tipo stringa CommandText, che contiene il codice T-Sql della query, Ad esempio :"SELECT Nome,Cognome,DataDiNAscita FROM Persone"

    Anche se ritengo importante una lettura approfondita sull'argomento che potresti iniziare da qui , ti indico questo thread nel quale ho postato un piccolo esempio pratico,sicuramente non esaustivo, di utilizzo dell'accesso ai dati, senza dataset.

    Ciao.


    mario formosa

    • Contrassegnato come risposta Irina Turcu venerdì 10 agosto 2012 06:18
    sabato 4 agosto 2012 08:43

Tutte le risposte

  • Ciao toninoma, per prima cosa vorrei farti notare che solitamente non è cosa buona consentire all'utente di inserire queries direttamente. Si creerebbe una grossa falla di sicurezza. Però se l'applicazione è ad uso di utenti particolari, che hanno cioè un alto grado di attendibilità, la cosa si potrbbe accettare.

    In parole povere, semplificando al massimo, per ottnere un accesso ai dati di un DB SqlServer c'è bisogno dei seguenti oggetti:

    un oggetto SqlClient.SqlConnection, che rappresenta la connessione al DB Di tipo SqlServer;

    un oggetto SqlClient.SqlCommand, che rappresenta appunto il comando da eseguire sul DB;

    Un oggetto SqlClient.SqlCommand, accetta tra l'altro, insiemi di oggetti SqlClient.SqlParameter per ad esempio filtrare la restituzione dei dati o per stabilire ad esempio quali dati si devono modificare.

    Un oggetto SqlClient.SqlCommand, espone la proprietà di tipo stringa CommandText, che contiene il codice T-Sql della query, Ad esempio :"SELECT Nome,Cognome,DataDiNAscita FROM Persone"

    Anche se ritengo importante una lettura approfondita sull'argomento che potresti iniziare da qui , ti indico questo thread nel quale ho postato un piccolo esempio pratico,sicuramente non esaustivo, di utilizzo dell'accesso ai dati, senza dataset.

    Ciao.


    mario formosa

    • Contrassegnato come risposta Irina Turcu venerdì 10 agosto 2012 06:18
    sabato 4 agosto 2012 08:43
  • Ciao toninoma,

    Buongiorno,
    Premetto che sono alle prime armi, sono un sistemista non un programmatore.
    Sicuramente la mia domanda è di facile soluzione vi chiedo solo una risposta per capire come completare il mio programma:
    Ho creato un Tabella mdf con Sql ho realizzato il mio programma visualizzando i dati tramite un Datagridview
    ed ho creato le select sul mio dataset seguendo la procedura aggiungi query ecc..
    e fin qui tutto bene, il programma funziona e visualizza i risultati correttamente.
    Adesso volevo chiedervi se io ho un form dove tramite dei text e combo box inserisco dei dati come faccio a fare la select da codice indicando che le condizioni di ricerca sono quelle dei campi sopracitati. Mi spiego meglio
    ho una Database Soluzioni.mdf con dentro una tabella Criteri
    ho criteriTableAdapter con dentro tutte le mie select FillBy funzionanti
    ho il mio CriteriDataGridView
    vorrei per esempio su un form ricerche scrivere direttamente da codice una select che legga le textbox e combobox ed esegua la select sulla mia tabella criteri secondo questi valori inseriti e li visualizzi sul mio CriteriDataGridView.
    Scusatemi se mi esprimo in maniera semplice ma sono alle prime armi e non riesco a capire come scrivere una semplice select da codice.

    oltre a quanto suggerito da Mario anchi io ti consiglio evitare assolutamente di scrivere delle query se e questo che intendi, ma un altra soluzione che ti posso consigliare e LinqToDataSet , puoi scrivere delle query Select in maniera estremamente semplice evitando pericoli per la sicurezza dei dati e attacchi di SqlJniection , puoi trovare qui di seguito degli esempi http://msdn.microsoft.com/en-us/vstudio/bb688086.aspx ed un articolo qui di seguito http://code.msdn.microsoft.com/Esempio-applicazione-dati-494c129a .

    Inoltre aggiungo se decidi di utilizzare quanto suggerito da Mario utilizza per scrivere le query i parameters , trovi degli esempi qui di seguito.

    http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlcommand.parameters.aspx

    Ciao.


    sabato 4 agosto 2012 10:53
  • Grazie per i consigli, cmq si i dati che trattano il programma sono intanto di pubblico dominio e comunque solo alcune persone ci lavoreranno.. Leggerò con attenzione le Vs risposte e vi terrò aggiornati.
    lunedì 6 agosto 2012 07:27