📄 updatedata.aspx
字号:
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.OleDb" %>
<script language="VB" runat="server">
'该过程根据传递过来的记录编号将该记录显示在下面的表单中
Sub Page_load(Sender As Object, E As EventArgs)
If Not IsPostBack Then
'下面利用DataReader对象读取当前记录
Dim conn As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.Mappath("address.mdb"))
Dim strSql As String="Select * From users Where id=" & Request.QueryString("id") '注意id
Dim cmd As New OleDbCommand(strSql, conn)
conn.Open()
Dim dr As OleDbDataReader = 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 OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.Mappath("address.mdb"))
Dim strSql="Update users Set name=@name,tel=@tel,email=@email,intro=@intro Where id=@id"
Dim cmd As New OleDbCommand(strSql, conn)
'下面给参数赋值
cmd.Parameters.Add(New OleDbParameter("@name",OleDbType.VarWChar,5))
cmd.Parameters("@name").Value=txtName.Text
cmd.Parameters.Add(New OleDbParameter("@tel",OleDbType.VarWChar,13))
cmd.Parameters("@tel").Value=txtTel.Text
'下面给@email赋值,如果客户没有输入,则赋NULL值
cmd.Parameters.Add(New OleDbParameter("@email",OleDbType.VarWChar,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 OleDbParameter("@intro",OleDbType.VarWChar))
If txtIntro.Text<>"" Then
cmd.Parameters("@intro").Value=txtIntro.Text
Else
cmd.Parameters("@intro").Value=DBNull.Value '赋值NULL
End If
cmd.Parameters.Add(New OleDbParameter("@id",OleDbType.Integer))
cmd.Parameters("@id").Value=lblId.Text '从隐藏标签中获取Id值
'执行更新操作,完成后重定向回首页
conn.Open()
cmd.ExecuteNonQuery()
conn.Close()
Response.Redirect("index.aspx")
Else
message.Text="请输入正确的修改密码"
End If
End Sub
'这个函数专门用来判断密码是否正确
Function CheckPWD(id As Integer,UserPWD As String)
Dim conn As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.Mappath("address.mdb")) '建立Connection对象
Dim strSql As String = "select UserPWD As total from users Where id=" & id
Dim cmd As New OleDbCommand(strSql, conn) '建立Command对象
conn.Open
If UserPWD=cmd.ExecuteScalar() Then
CheckPWD=True
Else
CheckPWD=False
End If
conn.Close
End Function
</script>
<html>
<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"/>
<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"/>(格式: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"/>
<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"/></td>
</tr>
<tr>
<td>修改密码:</td>
<td><asp:Textbox id="txtUserPWD" Textmode="PassWord" columns="40" rows="4" runat="server"/></td>
</tr>
<tr>
<td><asp:Label id="lblId" visible="False" runat="server"/></td>
<td><asp:button id="Enter" Text=" 保 存 " onClick="Enter_Click" runat="server"/></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 + -