Я подключаюсь к серверу 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;
}
}
}
любое исключение пришло? –
как далеко вы получаете при отладке? он когда-либо входит в цикл while? Каков синтаксис с «@strConnection» в 'SqlConnection' ctor? – dlatikay
Я так запутался прямо сейчас. Я только что запустил приложение, чтобы проверить, было ли исключено исключение и получить это сообщение, но оно не работает. Понятия не имею почему. Спасибо за помощь. – Cass