2016-07-26 42 views
0

Ich verbinde mich mit einem SQLExpress-Server und versuche, Daten aus einer Tabelle zurückzugeben. Der Code stellt die Verbindung her, aber wenn ich die Ergebnisse meiner Abfrage lese, sind keine Daten vorhanden. Ich habe die Abfrage in SSMS ausgeführt und es funktioniert gut. Ich benutze den gleichen Code auch in einer anderen Anwendung und es funktioniert gut. Ich bin gerade so verwirrt. Hier ist meine Verbindungsroutine:SQLDataReader gibt keine Daten zurück

private void ConnectToDatabase() 
    { 
     string strConnection = null; 


     try 
     { 
      if (sqlConn != null) 
      { 
       sqlConn.Close(); 
      } 


      strConnection = "Data Source=CASS-LAPTOP\\SQLEXPRESS; Initial Catalog=NBFoodPantry;Integrated Security=true"; 

      sqlConn = new SqlConnection(@strConnection); 
      try 
      { 
       sqlConn.Open(); 

      } 
      catch (Exception ex) 
      { 
       string strMsg; 

       strMsg = "ConnectToDatabase: SQL Open failed with error, " + ex.Message + "."; 
       System.Windows.MessageBox.Show(strMsg); 
      } 
     } 
     catch (Exception ex) 
     { 
      string strMsg; 

      strMsg =" ConnectToDatabase: failed with error, " + ex.Message + "."; 
      System.Windows.MessageBox.Show(strMsg); 
     } 
    } 

Hier wird der Code die Tabelle abzufragen:

private void LoadCitys() 
    { 
     bool blnSuccess = false; 
     int intItemCnt; 
     string strQuery; 


     if (sqlConn != null && sqlConn.State == ConnectionState.Open) 
     { 
      intItemCnt = 0; 
      strQuery = "select distinct city from zipcodes order by city"; 

      try 
      { 
       using (SqlCommand sqlCmd = new SqlCommand(strQuery, sqlConn)) 
       { 
        SqlDataReader sqlDataRead = sqlCmd.ExecuteReader(); 

        while (sqlDataRead.Read()) 
        { 
         string strDBNme = sqlDataRead.GetString(intItemCnt); 
         cmbxACCity.Items.Add(strDBNme); 
        } 

        sqlDataRead.Close(); 
        sqlCmd.Dispose(); 
        cmbxACCity.SelectedItem = cmbxACCity.Items.GetItemAt(0); 
       } 

       blnSuccess = true; 
      } 
      catch (Exception exQuery) 
      { 
       System.Windows.MessageBox.Show("LoadCitys: Error, " + exQuery.Message + ", has occurred."); 
       blnSuccess = false; 
      } 
     } 
    } 
+0

irgendeine Ausnahme kommt? –

+0

Wie weit kommen Sie beim Debuggen? kommt es jemals in die While-Schleife? Wie lautet die Syntax mit "@strConnection" im 'SqlConnection' ctor? – dlatikay

+0

Ich bin gerade so verwirrt. Ich habe gerade die Anwendung erneut ausgeführt, um zu überprüfen, ob eine Ausnahme ausgelöst wurde, und diese Nachricht zu erhalten, und nicht, dass sie funktioniert. Ich habe keine Idee warum. Danke für die Hilfe. – Cass

Antwort

0

Ich weiß nicht, was passiert ist, aber ich lief nur die Anwendung erneut zu überprüfen, ob eine Ausnahme geworfen und bekomme diese Nachricht und es funktioniert nicht. Ich habe keine Idee warum. Danke für die Hilfe.

Verwandte Themen