?? 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 + -