2014-05-06 4 views
0

Lorsque je sélectionne la DataGrid1, il affiche une erreur commeRéférence objet non défini erreur

object reference not set 

S'il vous plaît aidez-moi à résoudre. Je suis nouveau dans wpf.

private void dataGrid1_SelectedCellsChanged(object sender, SelectedCellsChangedEventArgs e) 
     { 
      if (this.dataGrid1.SelectedItems == null || this.dataGrid1.SelectedItems.Count <= 0) return; 
      this.db = new DbAccess(); 
      string str = this.dataGrid1.SelectedCells[0].Item.ToString(); 
      DataTable dataTable = 
       this.db.DataTab(
        @"SELECT [SeriesNo], [SeriesDescription], [Instances] 
         FROM [Roamani].[dbo].[View_Study123] 
         WHERE[StudyUID] = '" + str +"'"); 
      string[] strArray = new string[4]; 
      if (dataTable.Rows.Count > 0) 
      { 
       strArray[0] = str; 
       strArray[1] = dataTable.Rows[0]["SeriesNo"].ToString(); 
       strArray[2] = dataTable.Rows[0]["SeriesDescription"].ToString(); 
       strArray[3] = dataTable.Rows[0]["Instances"].ToString(); 
      } 
     } 
+0

exatly à quelle ligne ur obtenir cette erreur? – Neel

+0

et qu'est-ce que DataTab? – Neel

+0

obtenir l'erreur dans si (dataTable.Rows.Count> 0) – user3592261

Répondre

0

Remplacez votre méthode avec la méthode ci-dessous mentionné et changer la chaîne de conncetion.

public DataTable DataTab(string query) 
    { 
     string conncetion = "Data Source=(local);Initial Catalog=Temp;User ID=sa;Password=sa123*"; 
     SqlConnection cnn = new SqlConnection(conncetion); 

     string str = string.Empty; 
     SqlCommand cmd = new SqlCommand(); 
     cmd.CommandType = CommandType.Text; 
     cmd.Connection = cnn; 
     if (cnn.State == ConnectionState.Closed) 
      cnn.Open(); 

     DataTable dataTable = new DataTable(); 
     SqlDataAdapter adp = new SqlDataAdapter(query, cnn); 
     adp.Fill(dataTable); 
     return dataTable; 

    } 

et encore vous obtenir nulle puis essayez avec cette requête

@"SELECT [SeriesNo], [SeriesDescription], [Instances] 
        FROM [View_Study123].[dbo].[Roamani] 
        WHERE[StudyUID] = '" + str +"'"); 

ici View_study123 est le nom de votre base de données et Romani est votre nom de table

Questions connexes