⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 updatedata.aspx

📁 《ASP.NET C#程序设计案例教程》
💻 ASPX
字号:
<%@ Page Language="VB" Debug="true" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.SqlClient" %>
<script language="VB" runat="server">
'该过程根据传递过来的记录编号将该记录显示在下面的表单中
Sub Page_load(Sender As Object, E As EventArgs)
	If Not IsPostBack Then 
		'下面利用DataReader对象读取当前记录
		Dim conn As New SqlConnection("Server=localhost;Database=address;Uid=test;Pwd=123456")

		'建立Command对象,使用了存储过程**********************************************************
		Dim cmd As New SqlCommand("address_Select2",conn)					'其中address_Select2为存储过程名称
		cmd.CommandType=CommandType.StoredProcedure							'表示使用存储过程
		'下面建立传入参数对象,并给其赋值
		cmd.Parameters.Add(New SqlParameter("@id",SqlDbType.NVarChar))
		cmd.Parameters("@id").Value = Request.QueryString("id")				'这里利用了传过来的id
		'****************************************************************************************

		'下面执行存储过程,读取数据
		conn.Open()	
		Dim dr As SqlDataReader = cmd.ExecuteReader()				           
		'下面读取当前记录,并显示在文本框中
		dr.Read()													
		txtName.Text=dr.Item("name")
		txtTel.Text=dr.Item("tel")
		txtEmail.Text=dr.Item("email").ToString						'因为该字段可能为空,需要加ToString
		txtIntro.Text=dr.Item("intro").ToString

		lblId.Text=Request.QueryString("id")						'将传过来的Id保存到一个隐藏标签中 
		conn.Close() 
	End If
End Sub
Sub Enter_Click(Sender As Object, E As EventArgs)
	If CheckPWD(lblId.Text,txtUserPWD.Text)=True Then
		'下面建立Connection对象,并利用含有参数的SQL语句更新数据库
		Dim conn As New SqlConnection("Server=localhost;Database=address;Uid=test;Pwd=123456")

		'下面建立Command对象,注意使用存储过程*****************************
		Dim cmd As New SqlCommand("address_Update",conn)			'其中address_Update是存储过程
		cmd.CommandType=CommandType.StoredProcedure				'表示使用存储过程	
		
		'下面依次建立传入参数对象,并给其赋值。(因为默认是传入参数,所以这里没有给Direction属性赋值)
		cmd.Parameters.Add(New SqlParameter("@name",SqlDbType.NVarChar,50))
		cmd.Parameters("@name").Value=txtName.Text
		cmd.Parameters.Add(New SqlParameter("@tel",SqlDbType.NVarChar,50))
		cmd.Parameters("@tel").Value=txtTel.Text
		'下面给@email赋值,如果客户没有输入,则赋NULL值
		cmd.Parameters.Add(New SqlParameter("@email",SqlDbType.NVarChar,50))
		If txtEmail.Text<>"" Then
			cmd.Parameters("@email").Value=txtEmail.Text
		Else
			cmd.Parameters("@email").Value=DBNull.Value						'赋值NULL
		End If
		'下面给@intro赋值,如果客户没有输入,则赋NULL值
		cmd.Parameters.Add(New SqlParameter("@intro",SqlDbType.NText))
		If txtIntro.Text<>"" Then
			cmd.Parameters("@intro").Value=txtIntro.Text
		Else
			cmd.Parameters("@intro").Value=DBNull.Value						'赋值NULL
		End If		
		cmd.Parameters.Add(New SqlParameter("@id",SqlDbType.Int))
		cmd.Parameters("@id").Value=lblId.Text								'从隐藏标签中获取Id值
		'下面执行存储过程
		conn.open()                             '打开数据库
		cmd.ExecuteNonQuery()
		conn.close()                            '关闭数据库
		'**************************************************************

		'这里要将DataSet从缓存中删除,这样返回到首页后就会重新从数据库中读取更新后的数据
		Cache.Remove("ds")

		
		Response.Redirect("index.aspx")	
	Else
		message.Text="请输入正确的修改密码"
	End If
End Sub
'这个函数专门用来判断密码是否正确
Function CheckPWD(id As Integer,UserPWD As String)
	Dim conn As New SqlConnection("Server=localhost;Database=address;Uid=test;Pwd=123456")

	'下面建立Command对象,注意使用存储过程*****************************
	Dim cmd As New SqlCommand("address_Password",conn)				'其中address_Password是存储过程
	cmd.CommandType=CommandType.StoredProcedure						'表示使用存储过程	
	
	'下面建立传入参数对象
	cmd.Parameters.Add(New SqlParameter("@id",SqlDbType.Int))
	cmd.Parameters("@id").Value=lblId.Text							'这里是从隐藏标签读取的值
	cmd.Parameters.Add(New SqlParameter("@UserPWD",SqlDbType.NVarChar))
	cmd.Parameters("@UserPWD").Value=txtUserPWD.Text				'这里是客户输入的密码
	'建立建立传出参数
	cmd.Parameters.Add(New SqlParameter("@existflag",SqlDbType.Int))
	cmd.Parameters("@existflag").Direction=ParameterDirection.OutPut    

	'下面执行该存储过程
	conn.Open()                      
	cmd.ExecuteNonQuery()
	conn.Close()  
	'下面根据传出参数的值输出内容
	If cmd.Parameters("@existflag").value=1 Then
		CheckPWD=True
	Else
		CheckPWD=False
	End If
	'**************************************************************
End Function
</script>
<html>
<head>
	<link href="Style.css" type="text/css" rel="stylesheet">
</head>
<body>
	<h3 align="center">修改记录</h3>
	<center>
	<form runat="server">
		<table border="1" align="center" cellpadding="2" bgcolor="#FFFFFF" cellspacing="0" style="border-collapse: collapse" bordercolor="#D4D4D4" width="80%" >
		<tr>
			<td>姓名</td>
			<td>
				<asp:TextBox id="txtName" runat="server"  CssClass="inputbox"/>
				<asp:RequiredFieldValidator id="require1" ControlToValidate="txtName" ErrorMessage="必须输入用户名"  runat="server"/>
				<asp:RegularExpressionValidator id="Regular1" ControlToValidate="txtName" ValidationExpression="^[\u4e00-\u9fa5]{2,5}$" ErrorMessage="必须输入2位到5位汉字" runat="server" />
			</td>
		</tr>
			<tr>
				<td>电话:</td>
				<td>
					<asp:Textbox id="txtTel" runat="server"  CssClass="inputbox"/>(格式:010-12345678或手机号码)
					<asp:RequiredFieldValidator id="require2" ControlToValidate="txtTel" ErrorMessage="必须输入电话"  runat="server"/>
					<asp:RegularExpressionValidator id="Regular2" ControlToValidate="txtTel" ValidationExpression="^([0-9]{3,4}-[0-9]{7,8})|([0-9]{11})$" ErrorMessage="电话格式不正确" runat="server" />
				</td>
			</tr>
			<tr>
				<td>E-mail:</td>
				<td>
					<asp:Textbox id="txtEmail" columns="40" runat="server"  CssClass="inputbox"/>
					<asp:RegularExpressionValidator id="Regular3" ControlToValidate="txtEmail" ValidationExpression="^.{1,}@.{1,}\.[a-zA-Z]{2,3}$" ErrorMessage="E-mail格式不正确" runat="server" />
				</td>
			</tr>
			<tr>
				<td>简介:</td>
				<td><asp:Textbox id="txtIntro" Textmode="multiline" columns="40" rows="4" runat="server"  CssClass="inputbox"/></td>
			</tr>
			<tr>
				<td>修改密码:</td>
				<td><asp:Textbox id="txtUserPWD" Textmode="PassWord" columns="40" rows="4" runat="server"  CssClass="inputbox"/></td>
			</tr>
			<tr>
				<td><asp:Label id="lblId" visible="False" runat="server"/></td>
				<td><asp:button id="Enter" Text=" 保 存 " onClick="Enter_Click" runat="server"  CssClass="inputbutton"/></td>
			</tr>
		</table>
		<asp:Label id="message" runat="server"/>
	</form>
	<a href="index.aspx">返回首页</a>
	</center>
</body>
</html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -