| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 6250 人关注过本帖
标题:CS0103: 当前上下文中不存在名称“user_name”
只看楼主 加入收藏
baozishi
Rank: 1
来 自:重庆
等 级:新手上路
帖 子:31
专家分:0
注 册:2007-10-13
收藏
 问题点数:0 回复次数:7 
CS0103: 当前上下文中不存在名称“user_name”
它对user_id没有出错.为什么这里会出错呢?
下面是代码:
<%@ Import Namespace="System.Data"%>
<%@ Import Namespace="System.Data.SqlClient"%>
<%@ Page Language="C#" Debug="true"%>
<%@ Import Namespace="System.Web.Mail" %>
<script language="C#" runat=server>
void Button1_click(object sender,EventArgs E)
 {
 SqlConnection conn=new SqlConnection("Persist Security Info=false;database=datac;server=.;uid=sa;pwd=sql");
 String insertCmd="insert into users(user_id,user_name,user_password,email) values
(@user_id,@user_name,@user_pwd,@email)";
 SqlCommand istCmd=new SqlCommand(insertCmd,conn);
 istCmd.Parameters.Add("@user_id",SqlDbType.VarChar,50).Value=user_id.Text;
 istCmd.Parameters.Add("@user_name",SqlDbType.VarChar,20).Value=user_name.Text;
 istCmd.Parameters.Add("@user_password",SqlDbType.VarChar,20).Value=user_password.Text;
 istCmd.Parameters.Add("@email",SqlDbType.VarChar,50).Value=email.Text;
 try
 {
 conn.Open();
 istCmd.ExecuteNonQuery();
 conn.Close();
 MailMessage myMail=new MailMessage();
 myMail.BodyFormat=MailFormat.Html;
 myMail.Subject="学生成绩系统注册";
 myMail.From="[email=ren1986q@swu.]ren1986q@swu.[/email]";
 myMail.To=email.Text;
 myMail.Body="您已成功注册!<br>您的账号是:"+user_id.Text+"<br>您的密码是:"+user_password.Text+"<p/>";
 SmtpMail.Send(myMail);
 Response.Redirect("index.htm");
 }
 catch(System.Data.SqlClient.SqlException e)
 {
 if(e.Number==2627)
  {
  RequiredFieldValidator2.ErrorMessage="用户ID已经存在,请重新输入!";
  RequiredFieldValidator2.IsValid=false;
  }
 Response.Write(e.ToString());
 }
 }
</script>
<html>
<head>
<title>学生注册</title>
<meta http-equiv="Content-Type" c>
</head>
<body bgcolor="#CACACA" text="green" link="#ffff00" vlin="#ffff00" alink="#00ff00">
<center><h1><font color="green" >学生成绩管理系统学生注册</font></h1></center>
<form method="post" id="form" runat="server">
<table width="400" border="0" align="center">
<tr>
 <td colspan="2">
 <div align="center"><font size="4" color="green"><<font face="宋体">您的个人资料</font>><font
size="4">      <font color="red" >*</font></font><font class="font9ptblack" face="宋体
" color="green"><font size="4">表示必填</font></font></div>
 </td>
</tr>
<tr>
 <td valign="top" align="right">
 <font color="red">*</font><font color="green"><font face="宋体">姓名</font>:</font>
 </td>
 <td>
 <asp:RequiredFieldValidator id="RequiredFieldValidator1"
 C Display="Dynamic"
 ErrorMessage="请输入姓名!" runat="server"/>
 </td>
</tr>
<tr>
 <td valign="top" align="right">
  <font color="red">*</font><font color="green">用户ID:</font>
 </td>
 <td>
 <asp:TextBox id="user_id" columns="20" maxlength="20" runat="server"/><br>
 <asp:RequiredFieldValidator id="RequiredFieldValidator2"
 C Display="Dynamic"
 ErrorMessage="请输入用户ID!" runat="server"/>
 </td>
</tr>
<tr>
 <td valign="top" align="right">
 <font color="red">*</font><font color="green" ><font face="宋体">密码</font>:</font>
 </td>
 <td>
 <asp:TextBox id="user_password" TextMode="Password" columns="20" maxlengh="20" runat="server"/><br>
 <asp:RequiredFieldValidator id="RequiredFieldValidator3"
 C Display="Dynamic"
 ErrorMessage="请输入密码!" runat="server" />
 </td>
</tr>
<tr>
 <td valign="top" align="right">
 <font color="red">*</font><font color="green" ><font face="宋体">确认密码</font>:</font>
 </td>
 <td>
 <asp:TextBox id="user_password1" TextMode="Password" columns="20" maxlengh="20" runat="server"/><BR/>
 <asp:RequiredFieldValidator id="RequiredFieldValidator4"
 C Display="Dynamic"
 ErrorMessage="请确认密码!" runat="server" />
 <asp:CompareValidator id="CompareValidator1"
 C C
 Type="String"
 Operator="Equal"
 Display="Dynamic"
 ErrorMessage="两次输入密码不一致,请重新输入!" runat="server"/>
 </td>
</tr>
<tr>
 <td valign="top" align="right">
 <font color="red">*</font><font color="green">E-mail:</font>
 </td>
 <td>
 <asp:TextBox id="email" columns="30" maslength="50" runat="server"/><BR/>
 <asp:RequiredFieldValidator id="RequiredFieldValidator6"
 C Display="Dynamic"
 ErrorMessage="请输入e-mail!哈哈" runat="server"/>
 <asp:RegularExpressionValidator id="RegularExpressionValidator2"
 C Display="Dynamic"
 Validati
 ErrorMessage="E-mail格式输入错误!" runat="server"/>
 </td>
</tr>
<tr align="center">
 <td colspan=2>
 <asp:Button id="Button1" Text="注册"  runat="server" />
 </td>
</tr>
</table></form>
</body>
</html>
搜索更多相关主题的帖子: asp 
2007-11-30 22:23
冰彩虹
Rank: 4
来 自:上海
等 级:贵宾
威 望:14
帖 子:806
专家分:44
注 册:2007-6-28
收藏
得分:0 
页面有服务器端控件的ID是user_name嘛?仔细看看吧楼主

Flying without wings
2007-12-01 01:42
baozishi
Rank: 1
来 自:重庆
等 级:新手上路
帖 子:31
专家分:0
注 册:2007-10-13
收藏
得分:0 
回复 2# 的帖子
这个问题已经找到了哈....还是谢谢你的回答............
2007-12-01 23:37
baozishi
Rank: 1
来 自:重庆
等 级:新手上路
帖 子:31
专家分:0
注 册:2007-10-13
收藏
得分:0 
回复 1# 的帖子
但是现在在这里面还是有点错.

我用页面跟踪法,应该是数据库写入那个地方的错.写不进去...
知道怎么回事吗?
System.Data.SqlClient.SqlException: 必须声明变量 '@user_pwd'。 在 System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection) 在 System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection) 在 System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) 在 System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) 在 System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString) 在 System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async) 在 System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result) 在 System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe) 在 System.Data.SqlClient.SqlCommand.ExecuteNonQuery() 在 ASP.register_aspx.Button1_click(Object sender, EventArgs E) 位置 e:\sys\register.aspx:行号 20
学生成绩管理系统学生注册
   
<您的个人资料>      *表示必填
*姓名:   请输入姓名!  
*用户ID:  
请输入用户ID!  
*密码:  
请输入密码!  
*确认密码:  
请确认密码! 请注意两次的密码必须一致!  
*E-mail:
2007-12-01 23:55
川流不息
Rank: 6Rank: 6
等 级:贵宾
威 望:27
帖 子:2000
专家分:47
注 册:2006-11-8
收藏
得分:0 
'@user_pwd'  是不是你在存储过程中,用到这个变量,但是没有声明。

日月更替,天地輪回,人間已是幾回春。 江山不老,人正少年,只手能擎半邊天。
2007-12-02 15:27
baozishi
Rank: 1
来 自:重庆
等 级:新手上路
帖 子:31
专家分:0
注 册:2007-10-13
收藏
得分:0 
回复 5# 的帖子
现在这个问题已经好了哈.....
但现在的问题是我注册成功后返回登陆界面,数据库在有这些注册行.但它总是提示没有这个用户名.....登陆页面的提交button的ONCLICK事件函数是下面这个...
<script language="C#" runat="server">
void Submitbtn_click(Object sender,EventArgs E)
    {
    SqlConnection conn=new SqlConnection("Persist Security Info=false;database=datac;server=.;uid=sa;pwd=sql");
    string queryStr="select * from [users] where user_id=' "+Request.Form["UserID"]+" ' ";
    SqlDataAdapter userAdapter= new SqlDataAdapter(queryStr,conn);
    DataSet userSet=new DataSet();
    userAdapter.Fill(userSet, "users");
    if(userSet.Tables["users"].Rows.Count==0)
        {
        Message.Text="没有这个用户,请重新输入";
        return;
        }
    if(UserPassword.Value!=userSet.Tables["users"].Rows[0]["user_password"].ToString())
        {
        Message.Text="密码输入错误,请重新输入";
        return;
    }
    Response.Write("连接");
    //FormsAuthenticationTicket ticket=new FormsAuthenticationTicket(UserID.Value,false,1800);
    //FormsAuthentication.RedirectFromLoginPage(UserID.Value,false);
    return;
    }
</script>
2007-12-03 13:33
sean88
Rank: 1
等 级:新手上路
帖 子:146
专家分:0
注 册:2007-3-27
收藏
得分:0 
string queryStr="select * from [users] where user_id=' "+Request.Form["UserID"]+" ' ";

在这设个断点,你把这句sql语句,放到数据库执行一下,看有没结果?

Knowledge is infinite.
2007-12-03 15:59
baozishi
Rank: 1
来 自:重庆
等 级:新手上路
帖 子:31
专家分:0
注 册:2007-10-13
收藏
得分:0 
回复 7# 的帖子
这里有问题....就是'   '间多了一个空隔...........
呵呵...不过高断点调试还没有试过哈........
2007-12-03 17:05
快速回复:CS0103: 当前上下文中不存在名称“user_name”
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.064503 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved