我了解这个问题已被问过很多次,但出现错误
连接让我很难受。


  ExecuteReader:连接属性尚未初始化


我正在尝试从表格中搜索电话号码。我已经尝试了其他线程中提供的几乎所有解决方案,但似乎无法弄清楚如何纠正错误。我必须将命令与sqlconnection关联,但是我不能这样做。

SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["Connection"].ConnectionString);

using( SqlCommand cmd1 = new SqlCommand() )
{
conn.Open();

cmd1.CommandType = System.Data.CommandType.StoredProcedure;
cmd1.CommandText = "SearchName";
SqlParameter p1 = new SqlParameter();
p1.ParameterName = "@Name";//Stored Proc
p1.Value = SearchbyName.Name;
cmd1.Parameters.Add(p1);

using (SqlDataReader dr = cmd1.ExecuteReader())
{
 if (dr.Read())
 {
   while (dr.Read())
   {
   Console.WriteLine(dr[0] + " " + dr[1]);
   }
   SearchExit();
   }
 else
   {
   Console.WriteLine("No contact found with name {0}", SearchbyName.Name);
   }

   cmd1.ExecuteNonQuery();
   cmd1.Connection = conn;
   conn.Close();
   SearchExit();
   }
 }

最佳答案

cmd1.Connection = conn;


实例化后应该正确,甚至更好,在SqlCommand构造函数中传递conn对象。

关于c# - ExecuteReader:连接属性尚未初始化,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40455128/

10-12 13:07