Connettersi a database SQL Server e Fill DataGridView

In questo momento vedremo, molto sensilli e con pochissimo codice, possiamo stabilire in Visual Basic. NET connessione a un server SQL, nel mio caso SQL Server Express 2005, quindi per recuperare i dati da un tabelle per riempire un DataGridView con loro.

La prima cosa da fare è importare due namespace come indicato di seguito:

 Imports System.Data
 Imports System.Data.SqlClient

Per questo esempio useremo un form con un pulsante (Button1) e una DataGridView (DataGridView1). In l'evento click di button1 una copia il seguente codice e modificare alcuni parametri (nome o IP del server, il nome del database e il nome della tabella nella dichiarazione SELEZIONARE ) in modo che tutto funziona bene.

 Dim cnn As New SqlConnection ("Data Source = MyServidor; Initial Catalog = MyDatabase; Integrated Security = SSPI;")

 Da As New SqlDataAdapter ("SELECT * FROM Prodotti", cnn)
 Dim ds As New DataSet

 da.Fill (ds)

 DataGridView1.DataSource ds.Tables = (0)

Beh, in realtà non molto da spiegare ... si crea una connessione (CNN), poi un DataAdapter (bis) che hanno come parametro la dichiarazione per recuperare i dati ( SELEZIONA ) e la connessione da utilizzare (CNN). Se si desidera selezionare solo alcuni record bisogno di aggiungere una condizione WHERE della select.

Nelle righe seguenti lasceremo alcune definizioni brevi nel caso in cui qualcuno di voi erano necessari e per saperne di più sulle diverse opzioni per la creazione di una connessione a SQL Server 2005 Vi lascio anche il seguente link: http://www.connectionstrings.com/sql -server-2005 .

DataAdapter

Rappresenta un insieme di comandi SQL e una connessione a un database utilizzati per riempire l'oggetto DataSet e aggiornare l'origine dati.
DataAdapter funge da ponte tra il DataSet e un'origine dati per il recupero e la memorizzazione dei dati. Per agire come un ponte, DataAdapter Fill assegna metodo, modificando i dati di DataSet per abbinare l'origine dei dati, e assegna il metodo Update, che modifica i dati nell'origine dati a coincidere con quelli del DataSet.

DataSet

Rappresenta una memoria cache di dati. Si tratta di un componente fondamentale dell'architettura ADO.NET. DataSet è costituito da un insieme di oggetti DataTable.

DataTable

Rappresenta una tabella di dati in memoria.
DataTable è un oggetto centrale della libreria ADO.NET. Tra gli oggetti che utilizzano DataTable e DataSet DataView inclusi.

Quando si accede a oggetti DataTable, è necessario tenere a mente che queste sono case-sensitive condizionale. Per esempio, se un DataTable è denominato "MyDataTable" e altri "MyDataTable", la stringa che viene utilizzato per cercare una delle tabelle sono considerate case-sensitive. Tuttavia, se c'è "MyDataTable" ma no "MyDataTable" è considerato la stringa di ricerca non è case sensitive. Un DataSet può contenere due oggetti DataTable che hanno lo stesso valore della proprietà TableName e diversi valori per la proprietà Namespace. <

38 Responses to "Connessione al server database SQL e Fill DataGridView"

  1. [...] Nel precedente post, sensilli molto e con pochissimo codice, vedremo come connettersi con [...]

    • Vaneagas Harvy dice:

      Ciao, per la pubblicazione Io in realtà è stato molto utile per realizzare la connessione senza ulteriori errori vi ringrazio molto e spero davvero un giorno di ricambiare il favore presto

  2. [...] Per scrivere l'esempio di connessione a SQL Server e Microsoft Access Connection mi sono reso conto che anche se questi sono i due tipi di [...]

  3. [...] Mostra in che modo siamo in grado di filtrare i record in un datagridview. Questo esempio si basa su questo prima, ma la differenza è che invece di passare come datagridview datasource ad una tabella, è [...]

  4. Polledo Armando ha detto:

    Ciao, ho un preguta vedo il metodo per ricaricare i dati nel controllo DataGridView sono efecivos, allora a che serve serve l'aggiornamento o l'aggiornamento che ha messo ESU non aggiornare i dati o semplicemente rinfresca e non fa nulla per provare diversi modi di applicare, ma non servire. La mia domanda specifica è per servire l'aggiornamento

    • Elisha ha detto:

      Quello che sto facendo ejemple destra è la lettura dei dati da una query SQL e riempire un datagridview. Ma se cambio qualsiasi di queste informazioni, io faccio solo nella memoria. Questi cambiamenti non sono mai andare al database. Per loro Updatey necessario utilizzare per usarlo avrebbe bisogno di creare il metodo di aggiornamento dei SqlDataAdapter con CommandBuilder. Scriverò qualche esempio.

  5. Requejo Marco dice:

    Sto lavorando su un sistema di trasporto, e filtrare le informazioni dei driver nesecito in una griglia di dati che, scrivendo in una casella di testo un nome e allo stesso tempo questo filtro e visualizzati sulla griglia di dati. Esempio. quando si inizia a digitare nella casella di testo la parola Roger viene visualizzata nel datagrid tutti i nomi con r.

  6. Carlos Cardozo ha detto:

    Boss.

    una domanda come detto dice l'utente e pass? PORQ in tal modo si connette a SQL come Guest.

    Saluti -.

  7. Il pozzo ha detto:

    COME FACCIO A ME RISULTA CHE SE UN PROGRAMMA IN EFFETTI DATABASE UNN, SE UN ESEMPIO PERSONASTA CON SOLO METTERE IL NUMERO DI PROGRAMMA

    • AlbertoJ dice:

      Ciao,
      Si potrebbe mettere una casella di testo in cui si dovrebbe inserire il numero della carta d'identità
      e la query:

      ("SELECT * FROM Impiegati WHERE cedula = '" + Me.txtcedula.Text + "'", cnn)
      Non ho speranza qui VB.net alcun errore nella sintassi.
      txtcedula sarebbe il nome della vostra casella di testo
      Un saluto.

  8. Il pozzo ha detto:

    Sono nuovo di QUESTO

  9. David Marin ha detto:

    Hey dispiace per fastidio, ma ho un dubbio e spero che qualcuno risponda perché è piuttosto urgente, Habra come un modo per riempire una nuova tabella con i dati ho un datagridview che è il mio datagridview riempito con una tabella "x" e poi riempire con la tabella "x" tali dati sul mio tavolo datagridview "x" Lo passare ad una nuova tabella "e". Puoi????? aiuto.

  10. Erwin ha detto:

    Ottimo punto

  11. Paolo dice:

    Ho il seguente problema, se utilizzare la proprietà DataSource della griglia, che mi caricare il dataset con i dati provenienti dal database come l'esempio precedente, quello che voglio ora è quello di modificare le colonne datagrid come larghezza e roba, poi ho fatto è stato aggiungere colonne a datagrid, ma ora quando compilare ed eseguire il programma e utilizzare le colonne datagrid che ho aggiunto ci sono, ma vuoto!
    e oltre a quelle colonne, che ho aggiunto sono dovuti al dataset, ora voglio fare è q q ho aggiunto le colonne sono vuote con i dati delle colonne che ho aggiunto attraverso queste colonne datasource e andare ... ma come?

    • Elisha ha detto:

      Si tratta di un problema abbastanza comune, ma non spiega come risolvere il problema. La verità è che merita un intero post per dimostrare come funziona, ma come spiegare brevemente cosa dovete fare:
      A. - Creare un oggetto con tutti i campi della tabella
      2 -. Aggiungere una nuova origine dati utilizzando l'oggetto precedente
      3 -. In DataGridView selezionare l'origine dati come datasource. Questo oggetto Queara uno databinding
      4 -. Modificare le colonne del datagridview per nascondere, visualizzare e formattare le colonne che si desidera
      5 -. Dal codice riempie l'oggetto DataSource databinding

      bene, spero di non complicare troppo con questo. Luck.

  12. gina ha detto:

    Aprire modo per ottenere informazioni da un database mentre la visualizzazione come un biglietto.??

    Sto iniziando su questo, ma trovo

  13. Jose Cruz ha detto:

    Molte grazie per il vostro auyda mi ha servito bene.
    Spero di sì compartinedo seguire la vostra conoscenza agli altri toarlos puedamos.

  14. Legna dice:

    ciao posso creare un form figlio in Visual Basic, ad esempio, premo un pulsante e farmi vedere un'altra forma

  15. Massey dice:

    Disculpaa ..

    Aggiungere, modificare e cancellare record dalla stessa datagridview

    Con il set di dati, in modo che quando si aggiungono modificare o eliminare, anche essere rimosso dal db.

    Graças di antemanoo!

  16. Ricardo ha detto:

    Mi dispiace utilizzando Visual 2008, la stringa di connessione lo faccio con ADODB, che ha importato la Biblioteca "Importa ADODB" la connessione va bene, ma quando ho riempire un datagridview non funziona se non ci sono altre cose, AYUDAAAA per favore!

  17. Cristian dice:

    Sto lavorando con VB 2010, e quando voglio mostrare la datagridview con l'esempio query. "SELECT column1 come 'Nome1, column2 come' Name2 'dalla tabella"
    la datagridview.datasource = dataset.table (0)
    DataGridView non visualizza la selezione e mi mostra l'osso prima tabella, è l'intera tabella, senza pseudonimi, come mi capita di vedere.
    Come risolvere questo problema

  18. VJUNIOR dice:

    GRAZIE AMICI a questi STEP PUO 'IMPARARE ... Nulla è stato veramente non ZERO ... GRAZIE ........

  19. Imelda ha detto:

    hey grazie!

  20. Luis ha detto:

    Great post, buona cosa che fate. Andare avanti! .... Bene, ora la domanda.
    Ho un DataGridView denominato dgv_Aclaraciones, e ho 3 colonne di default (il primo è di tipo checkbox, la seconda una casella di testo e il terzo tipo è il pulsante di tipo), nonché, d'altro canto nel mio database ho una tabella " Chiarimenti "con 2 campi, di cui solo uno mi interessavano, perché è quello che io mostro in DataGridView.

    Ho cercato di fare con l'origine dati, ma ciò che non fa altro che aggiungere ulteriori colonne alla datagridview. Sarebbe bello se avete la risposta, ma io continuerò indagare, grazie.

    Ottimo post! (Ancora!! ... XD)

  21. Alexander Hernandez dice:

    buono
    qualcuno dovrebbe gentilmente dirmi come recuperare da un DB SQL due campi, quali nomi e altri nomi, texboxt come query.
    VB10 uso è urgente vi ringrazio per la collaborazione

  22. Bugbear ha detto:

    Ciao, grazie per il tuo sito, ho una domanda se ci sono due tabelle che desiderano combinare una octener unico datagrid Ho una domanda, ma non mi mostra i dati che posso fare. grazie

  23. cherry32 ha detto:

    Ciao
    Ho seguito l'esempio. Si riempie la dataridview, dice "System.IndexOutOfRangeException non controllata
    Message = Impossibile trovare 0 tavolo ".
    Che cosa potrebbe accadere? Il mio set di dati è vuota?

    • Elisha ha detto:

      il problema potrebbe essere che, non è il tuo daaset contenere tutta la tabella ...
      Ricontrollare il codice e verificare che non si confonda le DataAdapter variabile (d bis) dal DataSet (ds) o qualche altro errore di battitura.
      Invocando il metodo Fill DataAdapter riempie la ds DataSet con la tabella risultato della query SQL.
      E 'davvero pochissimo codice e molto facile da capire. Controllare questo e farlo funzionare se non si può bloccare tutto e ricominciare da capo. Certo che funziona. ;)

  24. omar_judai dice:

    Ciao come sono!
    la ragione della mia visita è quello di vedere se posso aiutarti
    q è il motivo per cui ho fatto come un programma in VB 2010 e sql server 2008
    tutto andava bene fino a quando ho voluto mettere alla prova la mia applicazione su un altro pc e ho avuto errori quando si desidera salvare i dati, sono venuto

    Impossibile aprire il file fisico "C: \ Users \ Omar \ Documents \ Visual Studio 2010 \ Projects \ Costo del progetto \ Costo del progetto \ bin \ Debug \ Database1.mdf". Errore del sistema operativo 32: "32 (non è riuscito a recuperare il testo di questo errore Motivo:. 15.105)".
    Impossibile aprire il file fisico "C: \ Users \ Omar \ Documents \ Visual Studio 2010 \ Projects \ Costo del progetto \ Costo del progetto \ bin \ Debug \ Database1_log.ldf". Errore del sistema operativo 32: "32 (non è riuscito a recuperare il testo di questo errore Motivo:. 15.105)".
    Impossibile aprire 'Database1' database, perché non si può accedere ai file o la memoria o spazio su disco è insufficiente. Vedere il log degli errori di SQL Server. (Microsoft SQL Server, Error: 5120)

    la verità è uscito questo errore è dovuto al fatto
    sarà il nome del PC dell'utente o
    Se la Guida mepudieran saremmo molto grati

  25. Lugrarz dice:

    Q Basta qualcosa da aggiungere, se si modifica la visuale System.Data.OleDb System.Data.SqlClient una t permette di fare lo stesso con una connessione OLE (come l'accesso)

  26. Pietro dice:

    Ciao contributo molto buono! Ho una domanda del genere che proprio non ho messo il mio nome utente e la password in un form di login di dati aparescan me nella mia datagri q si trova in un'altra forma??
    Grazie mille in anticipo!

  27. Luis Glez dice:

    Molto ben spiegato, ma posso utilizzare questo collegamento e l'origine dei dati, e si desidera creare un programma di installazione per la mia applicazione su altri computer all'interno della stessa rete?

  28. CARLOS ESTRADA dice:

    Ciao Mi chiedo se qualcuno mi può aiutare, ho un programma realizzato in Visual Basic 2010, che si connette a un server e ho confrontato il trasferimento di beni da due rami e mi dice che ho le differenze tra di loro in un datagridview per il gestore può rivedere velocemente deposito dal quale l'errore, funziona bene sul ramo principale perché l'informazione è centralizzata, il problema è quando lo faccio in un altro negozio, perché il mio programma voglio collegare due server locali e server da dove le informazioni, come faccio a collegare entrambi i server che eseguono la query e mi mostri le differenze nel datagridview. La query è Select cod_articulo, descrizione, transferencia1, transferencia2 da (select cod_articulo, sum (n_cantidad) a titolo di caparra transferencia1 WHERE = 'uni03dpgp' e c_concepto = 'lavoro' unione gruppo selezionato da cod_articulo cod_articulo, sum (n_cantidad) come transferencia2 WHERE deposito = 'uni01' e c_concepto = gruppo di 'lavoro' da cod_articulo) da tr_inventario gruppo cod_articulo, descrizione. Qualcosa non qui, ma ho più o meno è così quello che faccio è la ricerca sullo stesso server sia l'origine del trasferimento e la destinazione dei codici a barre raggruppati e poi con elevate quantità di unione e mi dà il risultato ma come dovrebbe essere fatto per confrontare due server. Mi rendo conto che posso aiutare.

  29. Maria dice:

    Ho bisogno di esportare un campo in una tabella a una casella di testo, ho visto diverse risposte, ma tutti despleigan in un DataGridView e ho bisogno di visualizzare in una casella di testo. Grazie per l'aiuto.

  30. Maria dice:

    Ciao ho bisogno di sapere come eseguire una query da Visual il valore di un campo in una tabella SQL e portarlo a Visual assegnare a un incremento variabile, e ri-salvare il database in SQL. Qualcuno mi può aiutare? Mi spinge a continuare con un progetto. Grazie!

Commento