SqlDataReader dr = sqlCmd.ExecuteReader();用户代码未处理,找不到存储过程UserLogin,如何解决?!

breakaway3 2012-04-09 10:59:22
SqlConnection CN = new SqlConnection("server=IT-PC;uid=sa;pwd=123456;database=DiscreteMath1");  //初始化连接字符串   
SqlCommand sqlCmd = new SqlCommand("UserLogin", CN);
sqlCmd.Connection = CN;
CN.Open();//添加命令,从数据库中得到数据
string UserLogin = "select * from User_info where UserID= '" + UserID.Text.Trim() + "'and Pwd = '" + Pwd.Text.Trim() + "'";
SqlDataReader dr = sqlCmd.ExecuteReader();
while (dr.Read())
{
//判断用户名密码代码
}
...全文
259 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
breakaway3 2012-04-14
  • 打赏
  • 举报
回复
多级菜单实现了,非常感谢,想再请教一下如何通过后台实现前台treeview的添加和删除?[Quote=引用 6 楼 的回复:]
public partial class WebForm1 : System.Web.UI.Page
{
public void Page_Load(object sender, EventArgs e)
{
SqlConnection CN = new SqlConnection("server=IT-PC;uid=sa;pwd=123456;database=Discr……
[/Quote]
breakaway3 2012-04-10
  • 打赏
  • 举报
回复
非常感谢,成功解决了[Quote=引用 1 楼 的回复:]
UserLogin你是作为一个变量SQL语句,如果你加双引号的话,就编程存储过程名字了,要注意区别。
你这里是SQL语句,不是存储过程,这样修改

SqlConnection CN = new SqlConnection("server=IT-PC;uid=sa;pwd=123456;database=DiscreteMath1"); //初始化连接字符串

CN.Open();……
[/Quote]
myhope88 2012-04-10
  • 打赏
  • 举报
回复
楼上的正解
renyiqiu 2012-04-10
  • 打赏
  • 举报
回复
LS已经答完了
wjb2541225 2012-04-10
  • 打赏
  • 举报
回复
还有感觉你那个递归函数没有出口 估计会无限递归下去吧;你树上的节点应该都是从DataSet对象中获取的吧,既然你都用了foreach遍历DataSet中的所有节点并把它们加到树上了,那为什么还要再次调用AddTree函数来进行递归呢,建议将if(){}else()中的AddTree函数删除试试。如果我错了,请包涵哈
wjb2541225 2012-04-10
  • 打赏
  • 举报
回复
将你的代码放入一个函数内,假设名字叫LoadTree
然在Page_Load函数中写如下代码
if (!IsPostBack)
{
LoadTree();
}
暖枫无敌 2012-04-10
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 的回复:]

public partial class WebForm1 : System.Web.UI.Page
{
public void Page_Load(object sender, EventArgs e)
{
SqlConnection CN = new SqlConnection("server=IT-PC;uid=sa;……
[/Quote]
那是你TreeView递归得有一个初始条件
http://blog.csdn.net/taomanman/article/details/4816297

http://blog.csdn.net/taomanman/article/details/6561233
breakaway3 2012-04-10
  • 打赏
  • 举报
回复
public partial class WebForm1 : System.Web.UI.Page
{
public void Page_Load(object sender, EventArgs e)
{
SqlConnection CN = new SqlConnection("server=IT-PC;uid=sa;pwd=123456;database=DiscreteMath1");        //初始化连接字符串 
CN.Open();//添加命令,从数据库中得到数据 
SqlCommand sqlCmd = new SqlCommand();
sqlCmd.Connection = CN;
sqlCmd.CommandType = CommandType.Text;
SqlDataAdapter adp = new SqlDataAdapter("select * from Menu_info", CN);//获取树形目录节点
DataSet da = new DataSet();
adp.Fill(da);
this.ViewState["da"] = da;
//调用递归函数,完成树形结构的生成
AddTree(0, (TreeNode)null);
CN.Close();
}

//递归添加树的节点 参数ParentID为树的最大父节点
public void AddTree(int ParentID, TreeNode pNode)
{
DataSet da = (DataSet)this.ViewState["da"];
DataView dv_ = new DataView(da.Tables[0]);
dv_.RowFilter = "[Par_ID]=" + ParentID;//过滤ParentID,得到当前的所有子节点Par_ID为父节点ID
//循环递归
foreach (DataRowView Row in dv_)
{
//声明节点
TreeNode Node = new TreeNode();

//开始递归
if (pNode == null)
{
//添加根节点
Node.Text = Row["Menu_name"].ToString();
TreeView2.Nodes.Add(Node);
Node.Expanded = false;//
AddTree(Int32.Parse(Row["ID"].ToString()), Node);
//再次递归
}

else
{
//添加当前节点的子节点
Node.Text = Row["Menu_name"].ToString();
pNode.ChildNodes.Add(Node);
Node.Expanded = false;
AddTree(Int32.Parse(Row["ID"].ToString()), Node);
//再次递归
}
}
}




public MenuEventArgs e { get; set; }

public void TreeView2_SelectedNodeChanged(object sender, EventArgs e)//当单击树状菜单时触发事件
{
Session["MenuName"] = TreeView2.SelectedNode.Text;//利用Session,将TreeView2.SelectedNode.Text的值赋给全局对象Session["MenuName"]
Session["Value"] = TreeView2.SelectedNode.Value;//同理
Label2.Text = Session["MenuName"] as string;//读取Session["MenuName"] ,将其显式转化,作为字符串赋给label2
}每次点击菜单项后,菜单都会自动在生成一遍,导致菜单无限长,您帮我看看是怎么回事吧~~~[Quote=引用 2 楼 的回复:]
修改楼主代码并整理了一下。
SqlConnection CN = new SqlConnection("server=IT-PC;uid=sa;pwd=123456;database=DiscreteMath1"); //初始化连接字符串
string UserLogin = "select * from User_info where UserID= '" + UserID.Text.T……
[/Quote]
yuji821 2012-04-09
  • 打赏
  • 举报
回复
UserLogin 要改成变量
dalmeeme 2012-04-09
  • 打赏
  • 举报
回复
修改楼主代码并整理了一下。
SqlConnection CN = new SqlConnection("server=IT-PC;uid=sa;pwd=123456;database=DiscreteMath1"); //初始化连接字符串
string UserLogin = "select * from User_info where UserID= '" + UserID.Text.Trim() + "'and Pwd = '" + Pwd.Text.Trim() + "'";
SqlCommand sqlCmd = new SqlCommand(UserLogin, CN);
CN.Open();//添加命令,从数据库中得到数据
SqlDataReader dr = sqlCmd.ExecuteReader();
while (dr.Read())
{
//判断用户名密码代码
}
dr.Close();
CN.Close();
暖枫无敌 2012-04-09
  • 打赏
  • 举报
回复
UserLogin你是作为一个变量SQL语句,如果你加双引号的话,就编程存储过程名字了,要注意区别。
你这里是SQL语句,不是存储过程,这样修改

SqlConnection CN = new SqlConnection("server=IT-PC;uid=sa;pwd=123456;database=DiscreteMath1"); //初始化连接字符串

CN.Open();//添加命令,从数据库中得到数据
string UserLogin = "select * from User_info where UserID= '" + UserID.Text.Trim() + "' and Pwd = '" + Pwd.Text.Trim() + "'";
SqlCommand sqlCmd = new SqlCommand(UserLogin, CN);
sqlCmd.Connection = CN;
SqlDataReader dr = sqlCmd.ExecuteReader();
while (dr.Read())
{
//判断用户名密码代码
}

62,268

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧