Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - vb.net 2010 - select from where
Forum - C# / VB.NET - vb.net 2010 - select from where

Avatar
trattobasso (Normal User)
Pro


Messaggi: 89
Iscritto: 02/05/2007

Segnala al moderatore
Postato alle 2:07
Martedì, 17/01/2012
ciao a tutti eccomi alla disperata presa con db access. sto riuscnedo bene o male e fin'ora con il seguente codice riesco a leggere il contenuto di una tabelle:
Codice sorgente - presumibilmente C# / VB.NET

  1. Dim selezione = New OleDbDataAdapter("SELECT * FROM Docenti", archivio)
  2.            selezione.Fill(DataSet1, "Docenti")
  3.            archivio.Close()
  4.            DataGridView1.DataSource = DataSet1.Tables("Docenti")


e fin qui ci sono arrivato senza problemi ma, se avessi delle relazioni tra tabelle e la mia select includesse quindi WHERE, il Fill di DataSet1 non sarà più la tabella Docenti ma il risultato della query giusto? Come dovrei cambiare di conseguenza secondo voi a questo punto
Codice sorgente - presumibilmente Plain Text

  1. selezione.Fill(DataSet1, "??????????")
  2. DataGridView1.DataSource = DataSet1.??????



grazie in anticipo per i suggerimenti
ciao

Ultima modifica effettuata da trattobasso il 17/01/2012 alle 2:07
PM
Avatar
Renny (Normal User)
Expert


Messaggi: 231
Iscritto: 30/07/2011

Up
0
Down
V
Segnala al moderatore
Postato alle 9:46
Martedì, 17/01/2012
Ciao.
Il fatto che tu abbia relazioni tra le tabelle (del tipo 1 a molti, in genere) si ripercuote sulla struttura del database e sulla conseguente scrittura delle query. Se devi ottenere dati posti in relazione tra tabelle diverse devi usare la parola sql JOIN (se usi access, devi importare il tipo di JOIN quando definisci la relazione)
Qui ci sono degli esempi:
http://www.vbsimple.net/index.htm?/database/db_08_09.htm

A suo tempo avevo un po studiato la cosa ma avevo lasciato perdere perché, almeno credo, non si possono eseguire in vb.net query di aggiornamento o inserimento di dati che contengono la JOIN, ma solo le query di SELECT...
Se invece tu ci riesci.. bhe fammi sapere che mi interessa come! :-|
Per quanto riguarda il tuo dubbio.. Dovresti riguardati il concetto di Dataset.
Nella istruzione, che presumo tu abbia preso da qualche esempio, il secondo argomento che passi al metodo fill è per dare un nome alla tabella che viene create nel dataset (che per definizione è un raccoglitore di tabelle). Ne non specifichi niente lui conterrà dati della tua query. Poi quanto imposti il datasource della gridview prova a mettere "selezione(0)"...
EDIT: Delle volte, cercando per gli altri si trovano anche soluzione che per i propri progetti non si erano viste..
http://www.asp.net/web-forms/tutorials/data-access/advance ...

Ultima modifica effettuata da Renny il 17/01/2012 alle 10:35
vorrei rispondere con del codice ma trovo solo "Aggiungi commento" scusate la domanda ma appunto il metodo giusto per rispondere? - trattobasso - 17/01/12 11:45
Hai aperto una domanda.. Devi riscrivere il thread come discussione - Renny - 17/01/12 11:48
PM