求解 为什么运行一下代码时总是出现“ExecuteReader: CommandText 属性尚未初始化”这样的问题,请问是什么原因,求大神解答?

问题描述

usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Web;usingSystem.Web.UI;usingSystem.Web.UI.WebControls;usingSystem.Data;usingSystem.Data.SqlClient;publicpartialclass_Default:System.Web.UI.Page{protectedvoidbtnLogin_Click(objectsender,EventArgse){//接收用户输入的参数stringuserName=txtUserName.Text.Trim();//登录名stringuserPwd=txtPwd.Text.Trim();//密码stringuserRole=rbtnlUserRole.SelectedValue.Trim();//身份stringselectStr="";switch(userRole){case"0":selectStr="select*from普通用户where学号='"+userName+"'";break;case"1":selectStr="select*from管理员whereAdminID='"+userName+"'";break;}SqlConnectionconn=newSqlConnection();conn.ConnectionString="server=DMC-PC;database=submitsys;uid=sa;pwd=713808dmc";SqlCommandcmd=newSqlCommand(selectStr,conn);conn.Open();SqlDataReadersdr=cmd.ExecuteReader();//执行查询if(sdr.Read()){if(sdr.GetString(1)==userPwd)//密码正确{Session["userName"]=userName;Session["userRole"]=userRole;conn.Close();switch(userRole){case"0"://身份为普通用户时Response.Redirect("Home.aspx");break;case"1"://身份为管理员时Response.Redirect("Administrator_Page.aspx");break;}}else{lblMsg.Text="您输入的密码有错误,请检查后重新输入!";}}elselblMsg.Text="该用户不存在或用户名输入有错误,请检查后重新输入!";conn.Close();}protectedvoidbtnRegister_Click(objectsender,EventArgse){Response.Redirect("Register.aspx");}}

解决方案

解决方案二:
SqlCommandcmd=newSqlCommand(selectStr,conn);conn.Open();换下顺序conn.Open();SqlCommandcmd=newSqlCommand(selectStr,conn);
解决方案三:
跟一下你的sql语句,可能是空了..
解决方案四:
感觉selectStr这个没赋值
解决方案五:
目测selectStr是空,单步调试看下
解决方案六:
你的UserRole没取到值,非0也非1,导致swtch语句没执行而selectStr为空。看下你那个下拉菜单值

时间: 2024-10-06 19:43:51

求解 为什么运行一下代码时总是出现“ExecuteReader: CommandText 属性尚未初始化”这样的问题,请问是什么原因,求大神解答?的相关文章

请问这段代码为什么输出null,求大神解答程序执行的顺序?

问题描述 请问这段代码为什么输出null,求大神解答程序执行的顺序? public class xieCheng { private String baseName="Base"; public xieCheng(){ this.callName(); } public void callName(){ System.out.println(baseName); } } public class Sub extends xieCheng { private String baseNam

html-AngularJS监听时间代码我看不懂,求大神解答

问题描述 AngularJS监听时间代码我看不懂,求大神解答 angular.module("ezstuff",[]) .directive("ezNamecardEditor",function(){ return { restrict : "E", template : " ", replace : true, link : function(scope,element,attrs){ //获得变量名称 var model

debug-VS2013下运行的MFC程序和直接从exe打开的不一样,是怎么回事,求大神解答

问题描述 VS2013下运行的MFC程序和直接从exe打开的不一样,是怎么回事,求大神解答 VS下运行时这样 然而直接从debug文件夹或者release文件夹下的exe打开是这样: 后者没有棋子,为什么会出现这种区别呢,打开的不都同一个文件吗?VS有特殊的技能? 解决方案 屏幕和资源文件的地方读取不一样 解决方案二: 恭喜.恭喜.恭喜.恭喜.

jsp 中用jfreechart 运行出错 求大神解答 或求折线例子

问题描述 jsp 中用jfreechart 运行出错 求大神解答 或求折线例子 代码如下 DefaultCategoryDataset linedataset = new DefaultCategoryDataset();// 各曲线名称String series1 = ""订单量与时间"";String series2 = ""发生金额与时间""; // DefaultCategoryDataset dataset = ne

基于51单片机频率计的代码问题,求大神解答啦~

问题描述 基于51单片机频率计的代码问题,求大神解答啦~ 基于51单片机的频率计设计 软件设计原理:利用单片机内部资源,定时器0定时一秒,计数器1在1s内计数,从而计算得频率. 这样能测得1hz~450khz. 我想设定当频率小于10hz时,定时器0定时10s,计数器1在10s内计数,结果测得的数据除以10就得到频率,从而获得0.1hz~10hz更精确的频率. 现在代码测试的情况是:被测频率大于10hz没有问题,如果被测频率小于10hz,结果显示为10倍的频率,意思就是程序中没有除以10,怎么改

编程-我这代码怎么输出个0.0?求大神解答

问题描述 我这代码怎么输出个0.0?求大神解答 #include #include #include static int stnum; char hint[80]="请按提示输入!"; struct Score { double yuwen,math,english,tiyu,sum; }; struct Student { char num[10],name[20],sex[10]; int age; struct Score score; }stu[5]; void prints

svn-通过SVN更新别人的代码到我的eclipse中为什么报错,求大神解答

问题描述 通过SVN更新别人的代码到我的eclipse中为什么报错,求大神解答 解决方案 这个不影响项目运行的, 解决方案二: 这是纠错器的原因,并不影响运行.有时候莫名其妙就好了. 解决方案三: 你看看是什么错误, 有些是因为对你的xml 文件进行合法性验证. 解决方案四: 谢谢.csdn真强大,第一次用就有答案 解决方案五: 这是纠错器的原因,并不影响运行.有时候莫名其妙就好了. 解决方案六: myeclipse对xml以及js验证问题,,可以忽略 解决方案七: 不影响运行的话不用过于在意.

新手求助!树莓派内核编译时出错!求大神解答

问题描述 新手求助!树莓派内核编译时出错!求大神解答 树莓派编译时显示重复的case常量 找到相应代码有下面这样的说明,但是不知道该怎么改,有没有知道的大神,求教啊-- 解决方案 你的源码跟编译环境是否匹配

android开发-请问里面 的strResult如何给主线程用啊,求大神解答,最好简单写下代码

问题描述 请问里面 的strResult如何给主线程用啊,求大神解答,最好简单写下代码 new Thread(new Runnable() { @Override public void run() { Looper.prepare(); // TODO Auto-generated method stub String path = "http://www.shopmanage.com/landlady/spm"; // String path = "http://221.