日期:2014-05-17  浏览次数:20918 次

ExecuteReader: CommandText 属性尚未初始化
ExecuteReader: CommandText 属性尚未初始化 
说明: 执行当前 Web 请求期间,出现未经处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 

异常详细信息: System.InvalidOperationException: ExecuteReader: CommandText 属性尚未初始化

源错误: 


行 36:         SqlCommand cmd = new SqlCommand(selectStr, conn);
行 37:         conn.Open();
行 38:         SqlDataReader sdr = cmd.ExecuteReader();
行 39:         if (sdr.Read())
行 40:         {
 

源文件: d:\ASP.NET网站设计\WebSite\Login.aspx.cs    行: 38 
CommandText

------解决方案--------------------
cmd.CommandType = CommandType.Text;
------解决方案--------------------
行 36:         SqlCommand cmd = new SqlCommand(selectStr, conn);
 行 37:         conn.Open();
换成这样
conn.Open();
cmd.Connection = conn;
cmd.CommandType = CommandType.Text;
cmd.CommandText = selectStr;


selectStr有值吧?
------解决方案--------------------
断点看一下selectStr是什么
------解决方案--------------------
引用:
我在前边赋值有:
string selectStr="";
断点了一下selectStr为空。
不懂。。。


如果将:
 行 36:         SqlCommand cmd = new SqlCommand(selectStr, conn);
 行 37:         conn.Open();
换成这样
conn.Open();
cmd.……

string selectStr="select * from [table]";
------解决方案--------------------
string selectStr="select * from [table]";
cmd.Connection = conn;
cmd.CommandType = CommandType.Text;
cmd.CommandText = selectStr;
SqlCommand cmd = new SqlCommand(selectStr, conn);
conn.Open();





------解决方案--------------------
估计switch (userRole)这个userRole的值case的三种情况都不成立,所以为空。