📄 updatedata.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")
Dim strSql As String="Select * From users Where id=" & Request.QueryString("id") '注意id
Dim cmd As New SqlCommand(strSql, conn)
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")
Dim strSql="Update users Set name=@name,tel=@tel,email=@email,intro=@intro Where id=@id"
Dim cmd As New SqlCommand(strSql, conn)
'下面给参数赋值
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")
Dim strSql As String = "select UserPWD As total from users Where id=" & id
Dim cmd As New SqlCommand(strSql, conn) '建立Command对象
conn.Open
If UserPWD=cmd.ExecuteScalar() Then
CheckPWD=True
Else
CheckPWD=False
End If
conn.Close
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 + -