Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it L'avatar di barnico
    Registrato dal
    Oct 2001
    Messaggi
    490

    [vb.net]query select con riferimento a due tabelle

    devo popolare un DataGridView utilizzando un DataSet, solo che nella tabella dove leggo i dati ho una colonna che contiene il codice numerico di riferimento di una stringa in un'altra tabella, come posso fare in modo che il dataset riempi il DataGridView con la stringa della seconda tabella e non il codice di riferimento?
    spero di essere stato chiaro

  2. #2
    Devi usare la clausola JOIN
    Esempio:
    codice:
    SELECT t01.campo01, t02.campo02
    FROM tabella01 AS t01
    INNER JOIN tabella02 AS t02
    ON t01.CODICE = t02.CODICE

  3. #3
    Utente di HTML.it L'avatar di barnico
    Registrato dal
    Oct 2001
    Messaggi
    490
    si grazie funziona, solo che può capitare che ci sia qualche campo vuoto e questo non viene visualizzato, ho provato a fare cosi ma va in errore:
    codice:
    SELECT t01.campo01, t02.campo02 
    FROM tabella01 AS t01 
    INNER JOIN tabella02 AS t02 
    ON t01.CODICE = t02.CODICE OT t01.CODICE = ''

  4. #4
    codice:
    SELECT t01.campo01, t02.campo02
    FROM tabella01 AS t01
    LEFT OUTER JOIN tabella02 AS t02
    ON t01.CODICE = t02.CODICE
    Con LEFT OUTER prelevi tutto da sinistra (LEFT) e quello che non corrisponde a destra, viene presentato come NULL.


  5. #5
    Utente di HTML.it L'avatar di barnico
    Registrato dal
    Oct 2001
    Messaggi
    490
    veramente grazie, funziona tutto alla perfezione.

  6. #6
    Se hai tempo io darei uno sguardo qui:

    http://www.w3schools.com/SQl/default.asp

    Ti spiega molto molto bene le basi di T-SQL (SQL Server).

  7. #7
    Utente di HTML.it L'avatar di barnico
    Registrato dal
    Oct 2001
    Messaggi
    490
    si grazie, gli darò sicuramente un'occhiata

  8. #8
    Utente di HTML.it L'avatar di barnico
    Registrato dal
    Oct 2001
    Messaggi
    490
    solo che adesso ho un problema quando tento di eliminare una riga dal DataGridView, uso il codice:
    codice:
    'Leggo i campi della riga del DataGridView che nella tabella del db sono come chiave primaria
    Dim codice(1) As Object        
     codice(0) = dgwElenco.Rows(dgwElenco.CurrentRow.Index).Cells(0).Value         
    codice(1) = dgwElenco.Rows(dgwElenco.CurrentRow.Index).Cells(1).Value
    
    'Faccio la ricerca della riga del DataGridView 
    riga = dataSet.Tables("Aziende").Rows.Find(codice)
    
    'elimino la riga
    riga.Delete()
    solo che mi restituisce l'errore:
    System.Data.MissingPrimaryKeyException: La tabella non ha una chiave primaria.
    ecc...

    solo che prima di inserire la left Joinn nella select tutto funzionava

  9. #9
    Perche' prima creavi tutto in automatico adesso hai cambiato la select e quindi cambia la musica. Ma scusa non fai prima a cambiare la SELECT di fill con la tua nel designer del dataset?

  10. #10
    Utente di HTML.it L'avatar di barnico
    Registrato dal
    Oct 2001
    Messaggi
    490
    potrei farlo, se solo sapessi come farlo, non sò come associare a fill la select così come l'abbiamo cambiata con il tuo aiuto

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.