📄 updatedata.aspx.vb
字号:
Imports System
Imports System.Web
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports System.Data
Imports System.Data.OleDb
Public Class UpdateData: Inherits Page
Public txtName,txtTel,txtEmail,txtIntro,txtUserPWD As TextBox
Public lblId,message As Label
'该过程根据传递过来的记录编号将该记录显示在下面的表单中
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
End Class
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -