2011-11-28 7 views
0

J'essaie de lire des données dans Visual Studio à partir de plusieurs tables.Lecture des données de plusieurs tables (VB)

Comment lisez-vous les données de différents tableaux? Dois-je créer

  • une connexion séparée,
  • une commande séparée,
  • un DataReader pour chaque SELECT?

Merci d'avance!

Répondre

0

Si les tables ont un lien, vous devez d'abord les JOINDRE dans le moteur de base de données.

SELECT 
    O.Col1, C.Col2, ... 
FROM 
    Orders O 
    JOIN 
    Customers C ON O.CustomerID = C.Customer 
WHERE 
    ... 

Si elles ne sont pas à joindre, vous pouvez émettre plusieurs SELECTs dans un appel et itérer plusieurs DataReaders. Ou charger un DataSet via un DataAdaptor

0

En fait c'est à propos de votre chaîne sql. Vous pouvez utiliser "jointures" pour rejoindre plusieurs tables. Permettez-moi de vous montrer un exemple de code:

String strConn = "Server = .\\SqlExpress;Database = Pubs;Integrated Security = SSPI;"; 
    DataTable dt = new DataTable(); 
    SqlConnection conn = new SqlConnection(strConn); 
    SqlDataAdapter da = new SqlDataAdapter("Select a.*,b.LoginID From atable a inner Join asecondtable b On a.userID=b.LoginID", conn); 
    da.Fill(dt); 
    GridView1.DataSource = dt; 
    GridView1.DataBind(); 
Questions connexes