Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# SQLDataReader未返回任何数据_C#_Sql Server_Ado.net - Fatal编程技术网

C# SQLDataReader未返回任何数据

C# SQLDataReader未返回任何数据,c#,sql-server,ado.net,C#,Sql Server,Ado.net,我正在连接到SQLExpress服务器并尝试从表返回数据。代码正在建立连接,但当我从查询中读取结果时,没有数据。我已经在SSMS中执行了这个查询,它运行得很好。我还在另一个应用程序中使用了相同的代码,效果很好。我现在很困惑。以下是我的连接例程: private void ConnectToDatabase() { string strConnection = null; try { if (sqlConn !=

我正在连接到SQLExpress服务器并尝试从表返回数据。代码正在建立连接,但当我从查询中读取结果时,没有数据。我已经在SSMS中执行了这个查询,它运行得很好。我还在另一个应用程序中使用了相同的代码,效果很好。我现在很困惑。以下是我的连接例程:

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循环?
SqlConnection
ctor中的“@strConnection”的语法是什么?我现在很困惑。我只是再次运行该应用程序,以仔细检查是否引发了异常,并获取该消息,但它没有工作。我不知道为什么。感谢您的帮助。您是否确实获得了数据库连接,如果没有连接,它只会断开-添加一些消息框,告诉您数据库是否已连接,您能否在调试中运行它并点击断点?代码中没有任何错误。你有什么异常吗?有什么异常吗?调试时你得到了多少?它是否曾经进入while循环?
SqlConnection
ctor中的“@strConnection”的语法是什么?我现在很困惑。我只是再次运行该应用程序,以仔细检查是否引发了异常,并获取该消息,但它没有工作。我不知道为什么。感谢您的帮助。您是否确实获得了数据库连接,如果没有连接,它只会断开-添加一些消息框,告诉您数据库是否已连接,您能否在调试中运行它并点击断点?代码中没有任何错误。你有什么例外吗?