2017-02-21 2 views
1

Je l'extraction de données à l'aide d'une seule procédure stockée MS SQL à l'aide de deux requêtes SELECTcomment cartographier les une des deux tables de jeu de données à datagridview en C#

SELECT  setup_description, setup_name FROM Setup WHERE (setup_name = @setup_name) 
SELECT  vm_name, depends_on_vm_name, setup_name FROM Setup_Vm WHERE  (setup_name = @setup_name) 

ensuite dans la couche la 'accès aux données de je reçois données en jeu de données comme ci-dessous,

cmd.Parameters.AddWithValue("@setup_name", setupName); 
con.Open(); 
using (SqlDataAdapter da = new SqlDataAdapter(cmd)) 
{ 
    ds = new DataSet();             
    da.Fill(ds, "SetupDetails"); 
    return ds; 
} 

Ensuite, je veux obtenir des données dans les deux tables dans une zone de texte et vue Datagrid.

je peux obtenir les données à la zone de texte et vue DataGrid comme ci-dessous,

//fill text box 
txtSetupDescription.Text = dsSetupDetails.Tables[0].Rows[0 ["setup_description"].ToString(); 

//fill datagridview 
dataGridView.AutoGenerateColumns = false; 
dataGridView.DataSource = dsSetupDetails; 
dataGridView.DataMember = "SetupDetails; 

J'obtenu des données à la zone de texte avec succès. Mais je ne peux pas obtenir de données à la vue de grille de données.

+0

Est-ce une application Web ou une application de Windows? Aussi, avez-vous vérifié si vous obtenez le nom "SetupDetails" dans votre DataSet comme retour? Habituellement, il retourne comme Table1, Table2 etc. – A3006

Répondre

2

Avez-vous essayé d'ajouter la source de données via

dataGridView.DataSource = dsSetupDetails.Tables[0]; 

puis le lier

dataGridView.DataBind(); 
+0

En fait, je n'ai pas .. mais j'ai réussi à résoudre d'une autre manière ... merci beaucoup –