2016-07-26 4 views
0

Я подключаюсь к серверу SQLExpress и пытается вернуть данные из таблицы. Код создает соединение, но когда я читаю результаты из моего запроса, данных нет. Я выполнил запрос в SSMS, и он работает нормально. Я также использую тот же код в другом приложении, и он отлично работает. Я сейчас так запутался. Вот мое подключение к рутине:SQLDataReader не возвращает никаких данных

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); 
     } 
    } 

Вот код для запроса таблицы:

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

любое исключение пришло? –

+0

как далеко вы получаете при отладке? он когда-либо входит в цикл while? Каков синтаксис с «@strConnection» в 'SqlConnection' ctor? – dlatikay

+0

Я так запутался прямо сейчас. Я только что запустил приложение, чтобы проверить, было ли исключено исключение и получить это сообщение, но оно не работает. Понятия не имею почему. Спасибо за помощь. – Cass

ответ

0

Я не знаю, что случилось, но я просто побежал приложение снова, чтобы проверить дважды, если исключение было бросить и получить это сообщение, а не работать. Понятия не имею почему. Спасибо за помощь.

Смежные вопросы