首页上一页 1 下一页尾页 4 条记录 1/1页
在进行注册调试时,出现下列错误,请指教。谢谢。
发表在ASP.NET图书答疑
2011-06-29
是否精华
是
否
版块置顶:
是
否
设置时间:
非永久
永久
起始时间:
结束时间:
是否扣分:
是
否
请教老师们
我在进行注册页面的调试时出现下列的错误,不知如何修改?
'tb_Register' 附近有语法错误。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.Data.SqlClient.SqlException: 'tb_Register' 附近有语法错误。
源错误:
行 133: SqlCommand com = new SqlCommand(sqlSel,con);
行 134: //判断ExecuteScalar方法返回的参数是否大于0,大于表示用户名已存在
行 135: if(Convert.ToInt32(com.ExecuteScalar())>0)
行 136: {
行 137: blIsName = true;
源文件: f:\HTUmbrella\Register.aspx.cs 行: 135
堆栈跟踪:
[SqlException (0x80131904): 'tb_Register' 附近有语法错误。]
System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection) +946986
System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection) +821638
System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) +186
System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) +1932
System.Data.SqlClient.SqlDataReader.ConsumeMetaData() +31
System.Data.SqlClient.SqlDataReader.get_MetaData() +62
System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString) +297
System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async) +1005
System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result) +132
System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method) +32
System.Data.SqlClient.SqlCommand.ExecuteScalar() +137
Regist.isName() in f:\HTUmbrella\Register.aspx.cs:135
Regist.txtUserName_Textchanged(Object sender, EventArgs e) in f:\HTUmbrella\Register.aspx.cs:193
System.Web.UI.WebControls.TextBox.OnTextChanged(EventArgs e) +105
System.Web.UI.WebControls.TextBox.RaisePostDataChangedEvent() +134
System.Web.UI.WebControls.TextBox.System.Web.UI.IPostBackDataHandler.RaisePostDataChangedEvent() +7
System.Web.UI.Page.RaiseChangedEvents() +137
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint,
后台代码是:
protected bool isName()
{
//创建一个布尔型变量并初始化为false
bool blIsName = false;
// 创建SQL语句,该语句用来判断用户名是否存在
string sqlSel = "select count(*)form tb_Register where username='" + txtUserName.Text + "'";
//创建数据库连接
SqlConnection con = new SqlConnection("server=.;database=db_LX;uid=sa;pwd=;");
//打开数据库连接
con.Open();
//创建sqlcommand对象
SqlCommand com = new SqlCommand(sqlSel,con);
//判断ExecuteScalar方法返回的参数是否大于0,大于表示用户名已存在
if(Convert.ToInt32(com.ExecuteScalar())>0)
{
blIsName = true;
}
else
{
blIsName = false;
}
//返回布尔值变量
return blIsName;
}
我在进行注册页面的调试时出现下列的错误,不知如何修改?
'tb_Register' 附近有语法错误。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.Data.SqlClient.SqlException: 'tb_Register' 附近有语法错误。
源错误:
行 133: SqlCommand com = new SqlCommand(sqlSel,con);
行 134: //判断ExecuteScalar方法返回的参数是否大于0,大于表示用户名已存在
行 135: if(Convert.ToInt32(com.ExecuteScalar())>0)
行 136: {
行 137: blIsName = true;
源文件: f:\HTUmbrella\Register.aspx.cs 行: 135
堆栈跟踪:
[SqlException (0x80131904): 'tb_Register' 附近有语法错误。]
System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection) +946986
System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection) +821638
System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) +186
System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) +1932
System.Data.SqlClient.SqlDataReader.ConsumeMetaData() +31
System.Data.SqlClient.SqlDataReader.get_MetaData() +62
System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString) +297
System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async) +1005
System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result) +132
System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method) +32
System.Data.SqlClient.SqlCommand.ExecuteScalar() +137
Regist.isName() in f:\HTUmbrella\Register.aspx.cs:135
Regist.txtUserName_Textchanged(Object sender, EventArgs e) in f:\HTUmbrella\Register.aspx.cs:193
System.Web.UI.WebControls.TextBox.OnTextChanged(EventArgs e) +105
System.Web.UI.WebControls.TextBox.RaisePostDataChangedEvent() +134
System.Web.UI.WebControls.TextBox.System.Web.UI.IPostBackDataHandler.RaisePostDataChangedEvent() +7
System.Web.UI.Page.RaiseChangedEvents() +137
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint,
后台代码是:
protected bool isName()
{
//创建一个布尔型变量并初始化为false
bool blIsName = false;
// 创建SQL语句,该语句用来判断用户名是否存在
string sqlSel = "select count(*)form tb_Register where username='" + txtUserName.Text + "'";
//创建数据库连接
SqlConnection con = new SqlConnection("server=.;database=db_LX;uid=sa;pwd=;");
//打开数据库连接
con.Open();
//创建sqlcommand对象
SqlCommand com = new SqlCommand(sqlSel,con);
//判断ExecuteScalar方法返回的参数是否大于0,大于表示用户名已存在
if(Convert.ToInt32(com.ExecuteScalar())>0)
{
blIsName = true;
}
else
{
blIsName = false;
}
//返回布尔值变量
return blIsName;
}
精彩评论 4
2011-06-29
沙发
读者您好:
这个问题可能是您在操作tb_Register表时的错误。
您可以在“string sqlSel = "select count(*)form tb_Register where username='" + txtUserName.Text + "'";”处插入断点,看一下您是否查到username为txtUserName.Text的用户。
将select count(*)form tb_Register where username='';这条语句在sql中执行一下,看看是否可以查询到指定用户。
如果没有解决您的问题您可以具体发一下您这是在我们公司哪本书的哪个程序中出现的问题,我们可以根据具体情况为您解答。
这个问题可能是您在操作tb_Register表时的错误。
您可以在“string sqlSel = "select count(*)form tb_Register where username='" + txtUserName.Text + "'";”处插入断点,看一下您是否查到username为txtUserName.Text的用户。
将select count(*)form tb_Register where username='';这条语句在sql中执行一下,看看是否可以查询到指定用户。
如果没有解决您的问题您可以具体发一下您这是在我们公司哪本书的哪个程序中出现的问题,我们可以根据具体情况为您解答。
2011-06-29
板凳
[FIELDSET][LEGEND]引自:1楼[/LEGEND]
读者您好:
这个问题可能是您在操作tb_Register表时的错误。
您可以在“string sqlSel = "select count(*)form tb_Register where username='" + txtUserName.Text + "'";”处插入断点,看一下您是否查到username为txtUserName.Text的用户。
将select count(*)form tb_Register where username='';这条语句在sql中执行一下,看看是否可以查询到指定用户。
如果没有解决您的问题您可以具体发一下您这是在我们公司哪本书的哪个程序中出现的问题,我们可以根据具体情况为您解答。
[/FIELDSET]
回复:
按老师提供的解决方法,在“string sqlSel = "select count(*)form tb_Register where username='" + txtUserName.Text + "'";”处插入断点,并进行逐语句和逐过程运行调试时,均出现下列错误
错误 36 未能加载类型“Maticsoft.Web.DictionaryInfo.Modify”。 F:\HTUmbrella\Maticsoft\Web\DictionaryInfo\Modify.aspx 1
错误 37 未能加载类型“Maticsoft.Web.DictionaryInfo.List”。 F:\HTUmbrella\Maticsoft\Web\DictionaryInfo\List.aspx 1
错误 38 未能加载类型“Maticsoft.Web.DictionaryInfo.delete”。 F:\HTUmbrella\Maticsoft\Web\DictionaryInfo\delete.aspx 1
错误 39 未能加载类型“Maticsoft.Web.DictionaryInfo.Show”。
错误 40 未能加载类型“Maticsoft.Web.DictionaryInfo.Add”。 F:\HTUmbrella\Maticsoft\Web\DictionaryInfo\Add.aspx 1
双击上述错误
均指向由动软.NET生成的SQL2005数据库的数据表批量生成的代码,并加载及保存进VS2008中创建的确Web网站中Maticsoft文件夹中Web文件夹中所有的页面的前台源码的第一行
<%@ Page Language="C#" MasterPageFile="~/FatherMasterPage.master" AutoEventWireup="true" CodeBehind="Modify.aspx.cs" Inherits="Maticsoft.Web.DictionaryInfo.Modify" Title="修改页" %>
<%@ Page Title="1" Language="C#" MasterPageFile="~/FatherMasterPage.master" AutoEventWireup="true" CodeBehind="List.aspx.cs" Inherits="Maticsoft.Web.DictionaryInfo.List" %>
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="delete.aspx.cs" Inherits="Maticsoft.Web.DictionaryInfo.delete" %>
<%@ Page Language="C#" MasterPageFile="~/FatherMasterPage.master" AutoEventWireup="true" CodeBehind="Show.aspx.cs" Inherits="Maticsoft.Web.DictionaryInfo.Show" Title="显示页" %>
<%@ Page Language="C#" MasterPageFile="~/FatherMasterPage.master" AutoEventWireup="true"
CodeBehind="Add.aspx.cs" Inherits="Maticsoft.Web.DictionaryInfo.Add" Title="增加页" %>
在脚本的黄色箭头指向的190行
<input name="txtUserCode" type="text" id="txtUserCode" onfocus="tUserCode();" onfoucs="tUserCode()" style="height:16px;width:93px;" /> 中的 tUserCode() 处出现黄色背景,控制台中出现 “ 缺少对象 Register.aspx 行190.字符81” 的提示,
我是按《ASP.NET编程宝典(C#)》中的DVD上的视频教学中的基础视频录像中的<注册与登录>中的教学内容进行照本练习时,出现上述错误的。
敬请老师赐教,
读者您好:
这个问题可能是您在操作tb_Register表时的错误。
您可以在“string sqlSel = "select count(*)form tb_Register where username='" + txtUserName.Text + "'";”处插入断点,看一下您是否查到username为txtUserName.Text的用户。
将select count(*)form tb_Register where username='';这条语句在sql中执行一下,看看是否可以查询到指定用户。
如果没有解决您的问题您可以具体发一下您这是在我们公司哪本书的哪个程序中出现的问题,我们可以根据具体情况为您解答。
[/FIELDSET]
回复:
按老师提供的解决方法,在“string sqlSel = "select count(*)form tb_Register where username='" + txtUserName.Text + "'";”处插入断点,并进行逐语句和逐过程运行调试时,均出现下列错误
错误 36 未能加载类型“Maticsoft.Web.DictionaryInfo.Modify”。 F:\HTUmbrella\Maticsoft\Web\DictionaryInfo\Modify.aspx 1
错误 37 未能加载类型“Maticsoft.Web.DictionaryInfo.List”。 F:\HTUmbrella\Maticsoft\Web\DictionaryInfo\List.aspx 1
错误 38 未能加载类型“Maticsoft.Web.DictionaryInfo.delete”。 F:\HTUmbrella\Maticsoft\Web\DictionaryInfo\delete.aspx 1
错误 39 未能加载类型“Maticsoft.Web.DictionaryInfo.Show”。
错误 40 未能加载类型“Maticsoft.Web.DictionaryInfo.Add”。 F:\HTUmbrella\Maticsoft\Web\DictionaryInfo\Add.aspx 1
双击上述错误
均指向由动软.NET生成的SQL2005数据库的数据表批量生成的代码,并加载及保存进VS2008中创建的确Web网站中Maticsoft文件夹中Web文件夹中所有的页面的前台源码的第一行
<%@ Page Language="C#" MasterPageFile="~/FatherMasterPage.master" AutoEventWireup="true" CodeBehind="Modify.aspx.cs" Inherits="Maticsoft.Web.DictionaryInfo.Modify" Title="修改页" %>
<%@ Page Title="1" Language="C#" MasterPageFile="~/FatherMasterPage.master" AutoEventWireup="true" CodeBehind="List.aspx.cs" Inherits="Maticsoft.Web.DictionaryInfo.List" %>
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="delete.aspx.cs" Inherits="Maticsoft.Web.DictionaryInfo.delete" %>
<%@ Page Language="C#" MasterPageFile="~/FatherMasterPage.master" AutoEventWireup="true" CodeBehind="Show.aspx.cs" Inherits="Maticsoft.Web.DictionaryInfo.Show" Title="显示页" %>
<%@ Page Language="C#" MasterPageFile="~/FatherMasterPage.master" AutoEventWireup="true"
CodeBehind="Add.aspx.cs" Inherits="Maticsoft.Web.DictionaryInfo.Add" Title="增加页" %>
在脚本的黄色箭头指向的190行
<input name="txtUserCode" type="text" id="txtUserCode" onfocus="tUserCode();" onfoucs="tUserCode()" style="height:16px;width:93px;" /> 中的 tUserCode() 处出现黄色背景,控制台中出现 “ 缺少对象 Register.aspx 行190.字符81” 的提示,
我是按《ASP.NET编程宝典(C#)》中的DVD上的视频教学中的基础视频录像中的<注册与登录>中的教学内容进行照本练习时,出现上述错误的。
敬请老师赐教,
2011-06-29
地板
[FIELDSET][LEGEND]引自:2楼[/LEGEND]
[FIELDSET][LEGEND]引自:1楼[/LEGEND]
读者您好:
这个问题可能是您在操作tb_Register表时的错误。
您可以在“string sqlSel = "select count(*)form tb_Register where username='" + txtUserName.Text + "'";”处插入断点,看一下您是否查到username为txtUserName.Text的用户。
将select count(*)form tb_Register where username='';这条语句在sql中执行一下,看看是否可以查询到指定用户。
如果没有解决您的问题您可以具体发一下您这是在我们公司哪本书的哪个程序中出现的问题,我们可以根据具体情况为您解答。
[/FIELDSET]
回复:
按老师提供的解决方法,在“string sqlSel = "select count(*)form tb_Register where username='" + txtUserName.Text + "'";”处插入断点,并进行逐语句和逐过程运行调试时,均出现下列错误
错误 36 未能加载类型“Maticsoft.Web.DictionaryInfo.Modify”。 F:\HTUmbrella\Maticsoft\Web\DictionaryInfo\Modify.aspx 1
错误 37 未能加载类型“Maticsoft.Web.DictionaryInfo.List”。 F:\HTUmbrella\Maticsoft\Web\DictionaryInfo\List.aspx 1
错误 38 未能加载类型“Maticsoft.Web.DictionaryInfo.delete”。 F:\HTUmbrella\Maticsoft\Web\DictionaryInfo\delete.aspx 1
错误 39 未能加载类型“Maticsoft.Web.DictionaryInfo.Show”。
错误 40 未能加载类型“Maticsoft.Web.DictionaryInfo.Add”。 F:\HTUmbrella\Maticsoft\Web\DictionaryInfo\Add.aspx 1
双击上述错误
均指向由动软.NET生成的SQL2005数据库的数据表批量生成的代码,并加载及保存进VS2008中创建的确Web网站中Maticsoft文件夹中Web文件夹中所有的页面的前台源码的第一行
<%@ Page Language="C#" MasterPageFile="~/FatherMasterPage.master" AutoEventWireup="true" CodeBehind="Modify.aspx.cs" Inherits="Maticsoft.Web.DictionaryInfo.Modify" Title="修改页" %>
<%@ Page Title="1" Language="C#" MasterPageFile="~/FatherMasterPage.master" AutoEventWireup="true" CodeBehind="List.aspx.cs" Inherits="Maticsoft.Web.DictionaryInfo.List" %>
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="delete.aspx.cs" Inherits="Maticsoft.Web.DictionaryInfo.delete" %>
<%@ Page Language="C#" MasterPageFile="~/FatherMasterPage.master" AutoEventWireup="true" CodeBehind="Show.aspx.cs" Inherits="Maticsoft.Web.DictionaryInfo.Show" Title="显示页" %>
<%@ Page Language="C#" MasterPageFile="~/FatherMasterPage.master" AutoEventWireup="true"
CodeBehind="Add.aspx.cs" Inherits="Maticsoft.Web.DictionaryInfo.Add" Title="增加页" %>
在脚本的黄色箭头指向的190行
<input name="txtUserCode" type="text" id="txtUserCode" onfocus="tUserCode();" onfoucs="tUserCode()" style="height:16px;width:93px;" /> 中的 tUserCode() 处出现黄色背景,控制台中出现 “ 缺少对象 Register.aspx 行190.字符81” 的提示,
我是按《ASP.NET编程宝典(C#)》中的DVD上的视频教学中的基础视频录像中的<注册与登录>中的教学内容进行照本练习时,出现上述错误的。
敬请老师赐教,
[/FIELDSET]
回复:
前台脚本是:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Register.aspx.cs" Inherits="Regist" %>
<%@ Register assembly="AjaxControlToolkit" namespace="AjaxControlToolkit" tagprefix="asp" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>无标题页</title>
<script type="text/C#" language="C#" src="/calendar.js">
function passHint()
{
var txt=document.getElementById("txtPassword").Value;
if(txt.length<6)
{
document.all("tab").rows[0].cells[1].bogColor="red";
document.all("tab").rows[0].cells[2].bogColor="";
}
else
{
document.all("tab").rows[0].cells[2].bogColor="red";
document.all("tab").rows[0].cells[1].bogColor="";
}
//显示会员编号输入揭示
function tUserCode()
{
document.getElementById("sp").innerHTML="请按指定的格式输入员工编号";
}
//显示会员名输入揭示
function tUserName()
{
document.getElementById("sp").innerHTML="只能输入数字、字母、下划线,<br>例如:Mr_2008";
}
//显示密码输入揭示
function tPassword()
{
document.getElementById("sp").innerHTML="为了密码的安全性,<br>建议密码设为6位以上";
}
//显示昵称输入揭示
function tPetName()
{
document.getElementById("sp").innerHTML="在公司内部使用的昵称,<br>如:春满人间";
}
//显示电话输入揭示
function tHandPhone()
{
document.getElementById("sp").innerHTML="请输入11位手机号码";
}
//显示电子邮箱输入揭示
function tEmail()
{
document.getElementById("sp").innerHTML="请按指定的格式输入电子邮箱,如:2008@sina.com";
}
//显示所在城市输入揭示
function tCity()
{
document.getElementById("sp").innerHTML="请输入你所在城市:天津市";
}
}
function rusure()
{
question = confirm("确实要去进入吗?")
if (question !="0")
{
window.open("","测试公告窗口","width=340,height=163,toolbar=0,status=0,menubar=0,resize=0");
}
}
</script>
<style type="text/css">
.style7
{
color: #FF0066;
font-weight: bold;
font-size: x-large;
text-align: center;
font-family: 华文隶书;
}
.style34
{
font-size: xx-small;
}
.style39
{
width: 100%;
}
.style41
{
width: 165px;
}
</style>
</head>
<body>
<a href="" onclick="rusure() ;return false;">欢迎进入注册页面</a>
<form id="form1" runat="server">
<div>
</div>
<table class="style39">
<tr>
<td colspan="8">
<span class="style34">
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
</span>
</td>
</tr>
<tr>
<td class="style7" colspan="8">
用户注册与登录 </td>
</tr>
<tr>
<td>
<asp:Label ID="Label1" runat="server" Text="用户编号:"></asp:Label>
</td>
<td class="style41">
<asp:TextBox ID="txtUserCode" onfocus="tUserCode();" runat="server"
Height="16px" Width="93px"></asp:TextBox>
</td>
<td>
<asp:RegularExpressionValidator ID="RegularExpressionValidator4" runat="server"
ControlToValidate="txtUserCode" ErrorMessage="请输入编号">*</asp:RegularExpressionValidator>
</td>
<td>
</td>
<td>
</td>
<td colspan="3" rowspan="9">
*必填内容</td>
</tr>
<tr>
<td>
<asp:Label ID="Label2" runat="server" Text="用户姓名:"></asp:Label>
</td>
<td class="style41">
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:TextBox onfocus="tUserName();" ID="txtUserName"
runat="server" AutoPostBack="True"
ontextchanged="txtUserName_Textchanged" Height="16px" Width="94px"></asp:TextBox>
</ContentTemplate>
</asp:UpdatePanel>
</td>
<td>
<asp:RegularExpressionValidator ID="RegularExpressionValidator5" runat="server"
ControlToValidate="txtUserName"
ErrorMessage="限制只能输入由数字、字母、汉字或下划线组成的6到9位字符串"
ValidationExpression="[\w\u4e00_\u9fa5]{3,8}">*</asp:RegularExpressionValidator>
<asp:RequiredFieldValidator ID="RFum" runat="server"
ControlToValidate="txtUserName" Display="Dynamic" ErrorMessage="用户名不能为空">*</asp:RequiredFieldValidator>
</td>
<td>
<asp:Label ID="labIsName" runat="server" BackColor="#00CC99" Text="请查看用户名是否可用"></asp:Label>
</td>
<td>
</td>
</tr>
<tr>
<td>
<asp:Label ID="Label3" runat="server" Text="用户昵称:"></asp:Label>
</td>
<td class="style41">
<asp:TextBox ID="txtPetName" onfocus="tPetName();" runat="server"
Height="16px" Width="91px"></asp:TextBox>
</td>
<td>
<asp:RegularExpressionValidator ID="RegularExpressionValidator6" runat="server"
ControlToValidate="txtPetName" ErrorMessage="请输入昵称">*</asp:RegularExpressionValidator>
</td>
<td>
<asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server"
ControlToValidate="txtPetName" Display="Dynamic" ErrorMessage="请输入昵称"></asp:RequiredFieldValidator>
</td>
<td>
</td>
</tr>
<tr>
<td>
<asp:Label ID="Label4" runat="server" Text="性 别:"></asp:Label>
</td>
<td class="style41">
<asp:RadioButtonList ID="radlistSex" runat="server" Font-Size="12px"
Height="16px" RepeatDirection="Horizontal" Width="212px">
<asp:ListItem Selected="True"> 男</asp:ListItem>
<asp:ListItem>女</asp:ListItem>
</asp:RadioButtonList>
</td>
<td>
<asp:RegularExpressionValidator ID="RegularExpressionValidator8" runat="server"
ControlToValidate="radlistSex" ErrorMessage="请选择性别">*</asp:RegularExpressionValidator>
</td>
<td>
</td>
<td>
</td>
</tr>
<tr>
<td>
<asp:Label ID="Label5" runat="server" Text="密 码:"></asp:Label>
</td>
<td class="style41">
<asp:TextBox ID="txtPasswrod" runat="server" onfocus="tPassword();"
onchange="passHint" texmode="Password" width="88px" Height="16px"></asp:TextBox>
</td>
<td>
<asp:RegularExpressionValidator ID="RegularExpressionValidator7" runat="server"
ControlToValidate="txtPasswrod" ErrorMessage="请输入密码">*</asp:RegularExpressionValidator>
<span style="color:#ff0000">*</span>
</td>
<td>
<asp:Label ID="Label10" runat="server" Text="密码强度:"></asp:Label>
<asp:Label ID="LabEbb" runat="server" Text="弱" BackColor="White"
Font-Bold="True" Font-Size="XX-Small" ForeColor="Lime"
style="text-align: center" Width="36px"></asp:Label>
<asp:Label ID="LabStrong" runat="server" Text="强" BackColor="White"
Font-Bold="True" Font-Size="Larger" ForeColor="#FF0066" Width="36px"></asp:Label>
</td>
<td>
<asp:CustomValidator ID="CustomValidator1" runat="server"
ClientValidationFunction="checkpassword" ControlToValidate="txtPasswrod"
Display="Dynamic" ErrorMessage="CustomValidator"></asp:CustomValidator>
<asp:RequiredFieldValidator ID="RequiredFieldValidator3" runat="server"
ControlToValidate="txtPasswrod" Display="Dynamic" ErrorMessage="请输入密码"></asp:RequiredFieldValidator>
</td>
</tr>
<tr>
<td>
<asp:Label ID="Label6" runat="server" Text="确认密码:"></asp:Label>
</td>
<td class="style41">
<asp:TextBox ID="txtPassword2" runat="server" Height="16px" Width="81px"></asp:TextBox>
</td>
<td>
<asp:RegularExpressionValidator ID="RegularExpressionValidator9" runat="server"
ControlToValidate="txtPassword2" ErrorMessage="请输入确认密码">*</asp:RegularExpressionValidator>
</td>
<td>
<asp:CompareValidator ID="CompareValidator1" runat="server"
ControlToCompare="txtPasswrod" ControlToValidate="txtPassword2"
Display="Dynamic" ErrorMessage="两次密码不一致"></asp:CompareValidator>
</td>
<td>
<asp:RequiredFieldValidator ID="RequiredFieldValidator4" runat="server"
ControlToValidate="txtPasswrod" Display="Dynamic" ErrorMessage="请重新输入密码"></asp:RequiredFieldValidator>
</td>
</tr>
<tr>
<td>
<asp:Label ID="Label7" runat="server" Text="手机号码:"></asp:Label>
</td>
<td class="style41">
<asp:TextBox onfocus="tHandPhone();" ID="txtHandPhone" runat="server"
Height="16px" Width="85px"></asp:TextBox>
</td>
<td>
<asp:RegularExpressionValidator ID="RegularExpressionValidator10"
runat="server" ControlToValidate="txtHandPhone" ErrorMessage="请输入手机号码">*</asp:RegularExpressionValidator>
</td>
<td>
</td>
<td>
</td>
</tr>
<tr>
<td>
<asp:Label ID="Label8" runat="server" Text="电子邮箱:"></asp:Label>
</td>
<td class="style41">
<asp:TextBox ID="txtEmail" onfocus="tEmail();" runat="server" Height="16px"
Width="95px"></asp:TextBox>
</td>
<td>
<asp:RequiredFieldValidator ID="RequiredFieldValidator5" runat="server"
ControlToValidate="txtEmail" Display="Dynamic"
ErrorMessage="RequiredFieldValidator">*</asp:RequiredFieldValidator>
</td>
<td>
<asp:RegularExpressionValidator ID="RegularExpressionValidator11"
runat="server" ControlToValidate="txtEmail" Display="Dynamic"
ErrorMessage="请输入电子邮箱"
ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*"></asp:RegularExpressionValidator>
</td>
<td>
</td>
</tr>
<tr>
<td>
<asp:Label ID="Label9" runat="server" Text="所在城市:"></asp:Label>
</td>
<td class="style41">
<asp:TextBox ID="txtCity" onfocus="tCity();" runat="server" Height="16px"
Width="94px"></asp:TextBox>
</td>
<td>
<asp:RegularExpressionValidator ID="RegularExpressionValidator12"
runat="server" ControlToValidate="txtCity" ErrorMessage="请输入所在城市">*</asp:RegularExpressionValidator>
</td>
<td>
</td>
<td>
</td>
</tr>
<tr>
<td>
</td>
<td class="style41">
<asp:Button ID="btnRegister" runat="server" BackColor="#FF0066"
onclick="Button3_Click" Text="注 册" CausesValidation="False" />
</td>
<td>
</td>
<td>
<asp:Button ID="butLogin" runat="server" BackColor="#3333FF"
CausesValidation="False" PostBackUrl="~/Login.aspx" Text="登 录"
ForeColor="Yellow" onclick="butLogin_Click" />
</td>
<td>
</td>
<td>
</td>
<td>
</td>
<td>
</td>
</tr>
</table>
</form>
</body>
</html>
后台.cs代码
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Data.SqlClient;
using System.Web.Caching;
using System.Text.RegularExpressions;
public partial class Regist : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
txtUserCode.Attributes.Add("onfoucs", "tUserCode()");
txtUserName.Attributes.Add("onfoucs", "tUserName()");
txtPetName.Attributes.Add("onfoucs", "tPetName()");
txtPasswrod.Attributes.Add("onfoucs", "tPassword()");
txtEmail.Attributes.Add("onfoucs", "tEmail()");
txtHandPhone.Attributes.Add("onfoucs", "tHandPhone()");
txtCity.Attributes.Add("onfoucs", "tCity()");
}
}
protected void Button3_Click(object sender, EventArgs e)
{
//调用isNameFormar自定义方法判断用户输入的是否满足要求
if (isNameFormar())
{
//调用isName方法判断用户名是否已存在
if (isName())
{
//使用label控件显示提示信息
labIsName.Text = "用户名已存在!";
//设置label控件的颜色
labIsName.ForeColor = System.Drawing.Color.Red;
ClientScript.RegisterStartupScript(this.GetType(), "", "<script>window.open('请输入正确信息!');</script>");
}
else
{
//获取用户填写的会员名
string username = txtUserName.Text;
//获取用户填写的密码并使用MD5进行加密
String password = FormsAuthentication.HashPasswordForStoringInConfigFile(txtPasswrod.Text, "MD5");
//获取昵称
string petname = txtPetName.Text;
//获取性别
string sex = "";
//获取用户选择的性别
if (radlistSex.SelectedValue.Trim() == "男")
{
sex = "男";
}
else
{
sex = "女";
}
//获取手机号码
string hamdphone = txtHandPhone.Text;
// 获取电子邮箱
string email = txtEmail.Text;
//获取所在城市
string city = txtCity.Text;
//创建SQL语句,该语句用来添加用户的详细信息
string sqlIns = "insert into tb_Register values('" + username + "','" + password + "','" + petname + "','" + sex + "','" + hamdphone + "','" + city + "')";
//创建数据库连接
SqlConnection con = new SqlConnection("server=pc-201009111555;database=db_LX;uid=sa;pwd=halftheumbrella;");
//打开数据库连接
con.Open();
//创建sqlcommand对象
SqlCommand com = new SqlCommand(sqlIns,con);
//判断ExecutNonQuery方法返回值是否大于0,大于0表示注册成功
if (com.ExecuteNonQuery() > 0)
{
ClientScript.RegisterStartupScript(this.GetType(), "", "<script>window.open('注册成功!');</script>");
//清空文本框中的信息
txtUserName.Text = txtPetName.Text = txtHandPhone.Text = txtEmail.Text = txtCity.Text = txtPasswrod.Text = txtPassword2.Text = txtUserCode.Text = "";
labIsName.Text = "";
}
else
{
ClientScript.RegisterStartupScript(this.GetType(), "", "<script>window.open('请输入正确信息!');</script>");
}
}
}
else
{
ClientScript.RegisterStartupScript(this.GetType(), "", "<script>window.open('请输入正确信息!');</script>");
}
}
protected bool isName()
{
//创建一个布尔型变量并初始化为false
bool blIsName = false;
// 创建SQL语句,该语句用来判断用户名是否存在
string sqlSel = "select count(*)form tb_Register where username='" + txtUserName.Text + "'";
//创建数据库连接
SqlConnection con = new SqlConnection("server=pc-201009111555;database=db_LX;uid=sa;pwd=halftheumbrella;");
//打开数据库连接
con.Open();
//创建sqlcommand对象
SqlCommand com = new SqlCommand(sqlSel,con);
//判断ExecuteScalar方法返回的参数是否大于0,大于表示用户名已存在
if(Convert.ToInt32(com.ExecuteScalar())>0)
{
blIsName = true;
}
else
{
blIsName = false;
}
//返回布尔值变量
return blIsName;
}
protected bool isNameFormar()
{
//创建一个布尔型变量并初始化为false
bool blNameFormar=false;
//设置正则表达式
Regex re = new Regex("^\\w+$");
//使用Regex对象中的确IsMatch方法判断用户名是否满足正则表达式
if (re.IsMatch(txtUserName.Text))
{
//设置布尔变量为true
blNameFormar = true;
//设置label控件的颜色
labIsName.ForeColor=System.Drawing.Color.Black;
}
else
{
labIsName.ForeColor=System.Drawing.Color.Red;
blNameFormar=false;
}
//返回布尔型变量
return blNameFormar;
}
protected void txtUserName_Textchanged(object sender, EventArgs e)
{
//判断用户名是否为空
if (txtUserName.Text == "")
{
//使用Label控件给出提示
labIsName.Text = "用户名不能为空";
//设置Label控件的颜色
labIsName.ForeColor = System.Drawing.Color.Red;
}
else
{
//调用isNameFormar自定义方法判断用户名是否满足格式要求
if (isNameFormar())
{
//调用isName自定义方法判断用户名是否注册
if (isName())
{
labIsName.Text = "用户名已存在!";
labIsName.ForeColor = System.Drawing.Color.Red;
}
else
{
labIsName.Text = "可以注册!";
labIsName.ForeColor = System.Drawing.Color.Blue;
}
}
else
{
labIsName.Text = "";
}
}
}
protected void butLogin_Click(object sender, EventArgs e)
{
Response.Redirect("~/Login.aspx");
}
}
[FIELDSET][LEGEND]引自:1楼[/LEGEND]
读者您好:
这个问题可能是您在操作tb_Register表时的错误。
您可以在“string sqlSel = "select count(*)form tb_Register where username='" + txtUserName.Text + "'";”处插入断点,看一下您是否查到username为txtUserName.Text的用户。
将select count(*)form tb_Register where username='';这条语句在sql中执行一下,看看是否可以查询到指定用户。
如果没有解决您的问题您可以具体发一下您这是在我们公司哪本书的哪个程序中出现的问题,我们可以根据具体情况为您解答。
[/FIELDSET]
回复:
按老师提供的解决方法,在“string sqlSel = "select count(*)form tb_Register where username='" + txtUserName.Text + "'";”处插入断点,并进行逐语句和逐过程运行调试时,均出现下列错误
错误 36 未能加载类型“Maticsoft.Web.DictionaryInfo.Modify”。 F:\HTUmbrella\Maticsoft\Web\DictionaryInfo\Modify.aspx 1
错误 37 未能加载类型“Maticsoft.Web.DictionaryInfo.List”。 F:\HTUmbrella\Maticsoft\Web\DictionaryInfo\List.aspx 1
错误 38 未能加载类型“Maticsoft.Web.DictionaryInfo.delete”。 F:\HTUmbrella\Maticsoft\Web\DictionaryInfo\delete.aspx 1
错误 39 未能加载类型“Maticsoft.Web.DictionaryInfo.Show”。
错误 40 未能加载类型“Maticsoft.Web.DictionaryInfo.Add”。 F:\HTUmbrella\Maticsoft\Web\DictionaryInfo\Add.aspx 1
双击上述错误
均指向由动软.NET生成的SQL2005数据库的数据表批量生成的代码,并加载及保存进VS2008中创建的确Web网站中Maticsoft文件夹中Web文件夹中所有的页面的前台源码的第一行
<%@ Page Language="C#" MasterPageFile="~/FatherMasterPage.master" AutoEventWireup="true" CodeBehind="Modify.aspx.cs" Inherits="Maticsoft.Web.DictionaryInfo.Modify" Title="修改页" %>
<%@ Page Title="1" Language="C#" MasterPageFile="~/FatherMasterPage.master" AutoEventWireup="true" CodeBehind="List.aspx.cs" Inherits="Maticsoft.Web.DictionaryInfo.List" %>
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="delete.aspx.cs" Inherits="Maticsoft.Web.DictionaryInfo.delete" %>
<%@ Page Language="C#" MasterPageFile="~/FatherMasterPage.master" AutoEventWireup="true" CodeBehind="Show.aspx.cs" Inherits="Maticsoft.Web.DictionaryInfo.Show" Title="显示页" %>
<%@ Page Language="C#" MasterPageFile="~/FatherMasterPage.master" AutoEventWireup="true"
CodeBehind="Add.aspx.cs" Inherits="Maticsoft.Web.DictionaryInfo.Add" Title="增加页" %>
在脚本的黄色箭头指向的190行
<input name="txtUserCode" type="text" id="txtUserCode" onfocus="tUserCode();" onfoucs="tUserCode()" style="height:16px;width:93px;" /> 中的 tUserCode() 处出现黄色背景,控制台中出现 “ 缺少对象 Register.aspx 行190.字符81” 的提示,
我是按《ASP.NET编程宝典(C#)》中的DVD上的视频教学中的基础视频录像中的<注册与登录>中的教学内容进行照本练习时,出现上述错误的。
敬请老师赐教,
[/FIELDSET]
回复:
前台脚本是:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Register.aspx.cs" Inherits="Regist" %>
<%@ Register assembly="AjaxControlToolkit" namespace="AjaxControlToolkit" tagprefix="asp" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>无标题页</title>
<script type="text/C#" language="C#" src="/calendar.js">
function passHint()
{
var txt=document.getElementById("txtPassword").Value;
if(txt.length<6)
{
document.all("tab").rows[0].cells[1].bogColor="red";
document.all("tab").rows[0].cells[2].bogColor="";
}
else
{
document.all("tab").rows[0].cells[2].bogColor="red";
document.all("tab").rows[0].cells[1].bogColor="";
}
//显示会员编号输入揭示
function tUserCode()
{
document.getElementById("sp").innerHTML="请按指定的格式输入员工编号";
}
//显示会员名输入揭示
function tUserName()
{
document.getElementById("sp").innerHTML="只能输入数字、字母、下划线,<br>例如:Mr_2008";
}
//显示密码输入揭示
function tPassword()
{
document.getElementById("sp").innerHTML="为了密码的安全性,<br>建议密码设为6位以上";
}
//显示昵称输入揭示
function tPetName()
{
document.getElementById("sp").innerHTML="在公司内部使用的昵称,<br>如:春满人间";
}
//显示电话输入揭示
function tHandPhone()
{
document.getElementById("sp").innerHTML="请输入11位手机号码";
}
//显示电子邮箱输入揭示
function tEmail()
{
document.getElementById("sp").innerHTML="请按指定的格式输入电子邮箱,如:2008@sina.com";
}
//显示所在城市输入揭示
function tCity()
{
document.getElementById("sp").innerHTML="请输入你所在城市:天津市";
}
}
function rusure()
{
question = confirm("确实要去进入吗?")
if (question !="0")
{
window.open("","测试公告窗口","width=340,height=163,toolbar=0,status=0,menubar=0,resize=0");
}
}
</script>
<style type="text/css">
.style7
{
color: #FF0066;
font-weight: bold;
font-size: x-large;
text-align: center;
font-family: 华文隶书;
}
.style34
{
font-size: xx-small;
}
.style39
{
width: 100%;
}
.style41
{
width: 165px;
}
</style>
</head>
<body>
<a href="" onclick="rusure() ;return false;">欢迎进入注册页面</a>
<form id="form1" runat="server">
<div>
</div>
<table class="style39">
<tr>
<td colspan="8">
<span class="style34">
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
</span>
</td>
</tr>
<tr>
<td class="style7" colspan="8">
用户注册与登录 </td>
</tr>
<tr>
<td>
<asp:Label ID="Label1" runat="server" Text="用户编号:"></asp:Label>
</td>
<td class="style41">
<asp:TextBox ID="txtUserCode" onfocus="tUserCode();" runat="server"
Height="16px" Width="93px"></asp:TextBox>
</td>
<td>
<asp:RegularExpressionValidator ID="RegularExpressionValidator4" runat="server"
ControlToValidate="txtUserCode" ErrorMessage="请输入编号">*</asp:RegularExpressionValidator>
</td>
<td>
</td>
<td>
</td>
<td colspan="3" rowspan="9">
*必填内容</td>
</tr>
<tr>
<td>
<asp:Label ID="Label2" runat="server" Text="用户姓名:"></asp:Label>
</td>
<td class="style41">
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:TextBox onfocus="tUserName();" ID="txtUserName"
runat="server" AutoPostBack="True"
ontextchanged="txtUserName_Textchanged" Height="16px" Width="94px"></asp:TextBox>
</ContentTemplate>
</asp:UpdatePanel>
</td>
<td>
<asp:RegularExpressionValidator ID="RegularExpressionValidator5" runat="server"
ControlToValidate="txtUserName"
ErrorMessage="限制只能输入由数字、字母、汉字或下划线组成的6到9位字符串"
ValidationExpression="[\w\u4e00_\u9fa5]{3,8}">*</asp:RegularExpressionValidator>
<asp:RequiredFieldValidator ID="RFum" runat="server"
ControlToValidate="txtUserName" Display="Dynamic" ErrorMessage="用户名不能为空">*</asp:RequiredFieldValidator>
</td>
<td>
<asp:Label ID="labIsName" runat="server" BackColor="#00CC99" Text="请查看用户名是否可用"></asp:Label>
</td>
<td>
</td>
</tr>
<tr>
<td>
<asp:Label ID="Label3" runat="server" Text="用户昵称:"></asp:Label>
</td>
<td class="style41">
<asp:TextBox ID="txtPetName" onfocus="tPetName();" runat="server"
Height="16px" Width="91px"></asp:TextBox>
</td>
<td>
<asp:RegularExpressionValidator ID="RegularExpressionValidator6" runat="server"
ControlToValidate="txtPetName" ErrorMessage="请输入昵称">*</asp:RegularExpressionValidator>
</td>
<td>
<asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server"
ControlToValidate="txtPetName" Display="Dynamic" ErrorMessage="请输入昵称"></asp:RequiredFieldValidator>
</td>
<td>
</td>
</tr>
<tr>
<td>
<asp:Label ID="Label4" runat="server" Text="性 别:"></asp:Label>
</td>
<td class="style41">
<asp:RadioButtonList ID="radlistSex" runat="server" Font-Size="12px"
Height="16px" RepeatDirection="Horizontal" Width="212px">
<asp:ListItem Selected="True"> 男</asp:ListItem>
<asp:ListItem>女</asp:ListItem>
</asp:RadioButtonList>
</td>
<td>
<asp:RegularExpressionValidator ID="RegularExpressionValidator8" runat="server"
ControlToValidate="radlistSex" ErrorMessage="请选择性别">*</asp:RegularExpressionValidator>
</td>
<td>
</td>
<td>
</td>
</tr>
<tr>
<td>
<asp:Label ID="Label5" runat="server" Text="密 码:"></asp:Label>
</td>
<td class="style41">
<asp:TextBox ID="txtPasswrod" runat="server" onfocus="tPassword();"
onchange="passHint" texmode="Password" width="88px" Height="16px"></asp:TextBox>
</td>
<td>
<asp:RegularExpressionValidator ID="RegularExpressionValidator7" runat="server"
ControlToValidate="txtPasswrod" ErrorMessage="请输入密码">*</asp:RegularExpressionValidator>
<span style="color:#ff0000">*</span>
</td>
<td>
<asp:Label ID="Label10" runat="server" Text="密码强度:"></asp:Label>
<asp:Label ID="LabEbb" runat="server" Text="弱" BackColor="White"
Font-Bold="True" Font-Size="XX-Small" ForeColor="Lime"
style="text-align: center" Width="36px"></asp:Label>
<asp:Label ID="LabStrong" runat="server" Text="强" BackColor="White"
Font-Bold="True" Font-Size="Larger" ForeColor="#FF0066" Width="36px"></asp:Label>
</td>
<td>
<asp:CustomValidator ID="CustomValidator1" runat="server"
ClientValidationFunction="checkpassword" ControlToValidate="txtPasswrod"
Display="Dynamic" ErrorMessage="CustomValidator"></asp:CustomValidator>
<asp:RequiredFieldValidator ID="RequiredFieldValidator3" runat="server"
ControlToValidate="txtPasswrod" Display="Dynamic" ErrorMessage="请输入密码"></asp:RequiredFieldValidator>
</td>
</tr>
<tr>
<td>
<asp:Label ID="Label6" runat="server" Text="确认密码:"></asp:Label>
</td>
<td class="style41">
<asp:TextBox ID="txtPassword2" runat="server" Height="16px" Width="81px"></asp:TextBox>
</td>
<td>
<asp:RegularExpressionValidator ID="RegularExpressionValidator9" runat="server"
ControlToValidate="txtPassword2" ErrorMessage="请输入确认密码">*</asp:RegularExpressionValidator>
</td>
<td>
<asp:CompareValidator ID="CompareValidator1" runat="server"
ControlToCompare="txtPasswrod" ControlToValidate="txtPassword2"
Display="Dynamic" ErrorMessage="两次密码不一致"></asp:CompareValidator>
</td>
<td>
<asp:RequiredFieldValidator ID="RequiredFieldValidator4" runat="server"
ControlToValidate="txtPasswrod" Display="Dynamic" ErrorMessage="请重新输入密码"></asp:RequiredFieldValidator>
</td>
</tr>
<tr>
<td>
<asp:Label ID="Label7" runat="server" Text="手机号码:"></asp:Label>
</td>
<td class="style41">
<asp:TextBox onfocus="tHandPhone();" ID="txtHandPhone" runat="server"
Height="16px" Width="85px"></asp:TextBox>
</td>
<td>
<asp:RegularExpressionValidator ID="RegularExpressionValidator10"
runat="server" ControlToValidate="txtHandPhone" ErrorMessage="请输入手机号码">*</asp:RegularExpressionValidator>
</td>
<td>
</td>
<td>
</td>
</tr>
<tr>
<td>
<asp:Label ID="Label8" runat="server" Text="电子邮箱:"></asp:Label>
</td>
<td class="style41">
<asp:TextBox ID="txtEmail" onfocus="tEmail();" runat="server" Height="16px"
Width="95px"></asp:TextBox>
</td>
<td>
<asp:RequiredFieldValidator ID="RequiredFieldValidator5" runat="server"
ControlToValidate="txtEmail" Display="Dynamic"
ErrorMessage="RequiredFieldValidator">*</asp:RequiredFieldValidator>
</td>
<td>
<asp:RegularExpressionValidator ID="RegularExpressionValidator11"
runat="server" ControlToValidate="txtEmail" Display="Dynamic"
ErrorMessage="请输入电子邮箱"
ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*"></asp:RegularExpressionValidator>
</td>
<td>
</td>
</tr>
<tr>
<td>
<asp:Label ID="Label9" runat="server" Text="所在城市:"></asp:Label>
</td>
<td class="style41">
<asp:TextBox ID="txtCity" onfocus="tCity();" runat="server" Height="16px"
Width="94px"></asp:TextBox>
</td>
<td>
<asp:RegularExpressionValidator ID="RegularExpressionValidator12"
runat="server" ControlToValidate="txtCity" ErrorMessage="请输入所在城市">*</asp:RegularExpressionValidator>
</td>
<td>
</td>
<td>
</td>
</tr>
<tr>
<td>
</td>
<td class="style41">
<asp:Button ID="btnRegister" runat="server" BackColor="#FF0066"
onclick="Button3_Click" Text="注 册" CausesValidation="False" />
</td>
<td>
</td>
<td>
<asp:Button ID="butLogin" runat="server" BackColor="#3333FF"
CausesValidation="False" PostBackUrl="~/Login.aspx" Text="登 录"
ForeColor="Yellow" onclick="butLogin_Click" />
</td>
<td>
</td>
<td>
</td>
<td>
</td>
<td>
</td>
</tr>
</table>
</form>
</body>
</html>
后台.cs代码
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Data.SqlClient;
using System.Web.Caching;
using System.Text.RegularExpressions;
public partial class Regist : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
txtUserCode.Attributes.Add("onfoucs", "tUserCode()");
txtUserName.Attributes.Add("onfoucs", "tUserName()");
txtPetName.Attributes.Add("onfoucs", "tPetName()");
txtPasswrod.Attributes.Add("onfoucs", "tPassword()");
txtEmail.Attributes.Add("onfoucs", "tEmail()");
txtHandPhone.Attributes.Add("onfoucs", "tHandPhone()");
txtCity.Attributes.Add("onfoucs", "tCity()");
}
}
protected void Button3_Click(object sender, EventArgs e)
{
//调用isNameFormar自定义方法判断用户输入的是否满足要求
if (isNameFormar())
{
//调用isName方法判断用户名是否已存在
if (isName())
{
//使用label控件显示提示信息
labIsName.Text = "用户名已存在!";
//设置label控件的颜色
labIsName.ForeColor = System.Drawing.Color.Red;
ClientScript.RegisterStartupScript(this.GetType(), "", "<script>window.open('请输入正确信息!');</script>");
}
else
{
//获取用户填写的会员名
string username = txtUserName.Text;
//获取用户填写的密码并使用MD5进行加密
String password = FormsAuthentication.HashPasswordForStoringInConfigFile(txtPasswrod.Text, "MD5");
//获取昵称
string petname = txtPetName.Text;
//获取性别
string sex = "";
//获取用户选择的性别
if (radlistSex.SelectedValue.Trim() == "男")
{
sex = "男";
}
else
{
sex = "女";
}
//获取手机号码
string hamdphone = txtHandPhone.Text;
// 获取电子邮箱
string email = txtEmail.Text;
//获取所在城市
string city = txtCity.Text;
//创建SQL语句,该语句用来添加用户的详细信息
string sqlIns = "insert into tb_Register values('" + username + "','" + password + "','" + petname + "','" + sex + "','" + hamdphone + "','" + city + "')";
//创建数据库连接
SqlConnection con = new SqlConnection("server=pc-201009111555;database=db_LX;uid=sa;pwd=halftheumbrella;");
//打开数据库连接
con.Open();
//创建sqlcommand对象
SqlCommand com = new SqlCommand(sqlIns,con);
//判断ExecutNonQuery方法返回值是否大于0,大于0表示注册成功
if (com.ExecuteNonQuery() > 0)
{
ClientScript.RegisterStartupScript(this.GetType(), "", "<script>window.open('注册成功!');</script>");
//清空文本框中的信息
txtUserName.Text = txtPetName.Text = txtHandPhone.Text = txtEmail.Text = txtCity.Text = txtPasswrod.Text = txtPassword2.Text = txtUserCode.Text = "";
labIsName.Text = "";
}
else
{
ClientScript.RegisterStartupScript(this.GetType(), "", "<script>window.open('请输入正确信息!');</script>");
}
}
}
else
{
ClientScript.RegisterStartupScript(this.GetType(), "", "<script>window.open('请输入正确信息!');</script>");
}
}
protected bool isName()
{
//创建一个布尔型变量并初始化为false
bool blIsName = false;
// 创建SQL语句,该语句用来判断用户名是否存在
string sqlSel = "select count(*)form tb_Register where username='" + txtUserName.Text + "'";
//创建数据库连接
SqlConnection con = new SqlConnection("server=pc-201009111555;database=db_LX;uid=sa;pwd=halftheumbrella;");
//打开数据库连接
con.Open();
//创建sqlcommand对象
SqlCommand com = new SqlCommand(sqlSel,con);
//判断ExecuteScalar方法返回的参数是否大于0,大于表示用户名已存在
if(Convert.ToInt32(com.ExecuteScalar())>0)
{
blIsName = true;
}
else
{
blIsName = false;
}
//返回布尔值变量
return blIsName;
}
protected bool isNameFormar()
{
//创建一个布尔型变量并初始化为false
bool blNameFormar=false;
//设置正则表达式
Regex re = new Regex("^\\w+$");
//使用Regex对象中的确IsMatch方法判断用户名是否满足正则表达式
if (re.IsMatch(txtUserName.Text))
{
//设置布尔变量为true
blNameFormar = true;
//设置label控件的颜色
labIsName.ForeColor=System.Drawing.Color.Black;
}
else
{
labIsName.ForeColor=System.Drawing.Color.Red;
blNameFormar=false;
}
//返回布尔型变量
return blNameFormar;
}
protected void txtUserName_Textchanged(object sender, EventArgs e)
{
//判断用户名是否为空
if (txtUserName.Text == "")
{
//使用Label控件给出提示
labIsName.Text = "用户名不能为空";
//设置Label控件的颜色
labIsName.ForeColor = System.Drawing.Color.Red;
}
else
{
//调用isNameFormar自定义方法判断用户名是否满足格式要求
if (isNameFormar())
{
//调用isName自定义方法判断用户名是否注册
if (isName())
{
labIsName.Text = "用户名已存在!";
labIsName.ForeColor = System.Drawing.Color.Red;
}
else
{
labIsName.Text = "可以注册!";
labIsName.ForeColor = System.Drawing.Color.Blue;
}
}
else
{
labIsName.Text = "";
}
}
}
protected void butLogin_Click(object sender, EventArgs e)
{
Response.Redirect("~/Login.aspx");
}
}