用XML写的留言录(vb.net)(四)

作者:fx_blog(CSDN)

日期:2005-5-22

标题:威人留言录(v1.8)

注意:转贴一定注明作者及出处

'**********************这一部分我们来完成用户注册信息修改的功能************************************

''我们还要再新建一个窗体

'窗体界面和注册界面是差不多的

'combobox要Enable属性设为false

界面如下:

'这里的检查是否是有同名的按钮,换成了combobox 控件,这个下拉菜单用来载入所有的用户名

'好了回到留言主窗体

'双击"修改注册信息"按钮

'输入以下的代码:

If TextBox1.Text <> "" And TextBox2.Text <> "" Then
            Dim doc As New XmlDocument
            doc.Load("info.xml")
            Try
                Dim root As XmlNode = doc.DocumentElement
                Dim listuser As XmlNodeList
                Dim listpass As XmlNodeList
                listuser = doc.GetElementsByTagName("userid")
                listpass = doc.GetElementsByTagName("Pass")
                Dim i, j As Integer
                For i = 0 To listuser.Count - 1
                    For j = 0 To listpass.Count - 1
                        While TextBox1.Text = listuser(i).InnerText And TextBox2.Text = listpass(i).InnerText
                            Panel3.Visible = True
                            Dim updateuserinfoform As New Form5
                            updateuserinfoform.TextBox1.Text = Me.TextBox1.Text
                            updateuserinfoform.Show()
                            MessageBox.Show("登陆成功")
                            TextBox2.Text = ""
                            Exit Try
                        End While

                    Next
                Next
                MessageBox.Show("密码或用户名错误!")
                Exit Sub
            Catch ex As Exception
                MessageBox.Show(ex.Message)
            End Try
        Else
            MessageBox.Show("请输入完整!")
        End If

'(1)大家可以发现这段代码和登陆代码差不多一样的,只是多了几句:

                             Dim updateuserinfoform As New Form5
                            updateuserinfoform.TextBox1.Text = Me.TextBox1.Text
                            updateuserinfoform.Show()

'建立一个新的窗体,各位自己建(Form5)

'好了,现在打开form5 窗体

'也一样要在最上面导入命名空间

Imports System.Xml
Imports System.Xml.XPath
Imports System.Text
Imports System.IO

'好了现在我们来一步步完成功能

'双击窗体上的不是控件的地方

进入Form5_Load(...)

'输入以下的代码

'如果是管理员 下拉菜单可用

        If TextBox1.Text = "admin" Then
            ComboBox1.Enabled = True
        End If

'载入xml文档

        Dim doc As New XmlDocument
        doc.Load("info.xml")

'用XPath取得所有用户名

        Dim getallUser As XmlNodeList
        getallUser = doc.SelectNodes("/userinfo/users/userid")

        Dim allUserInCombobox As XmlNode

'用循环把所有用户名载入到combobx控件中

        For Each allUserInCombobox In getallUser
            ComboBox1.Items.Add(allUserInCombobox.InnerText)
        Next

'根据Textbox的用户名(就是留言主界面传来的)

'如果管理员也可以是combobox里选出来的

'根据用户名,显示该用户名的注册信息到各位文本框中

        Dim getPassPath As XmlNodeList
        getPassPath = doc.SelectNodes("/userinfo/users[userid='" & TextBox1.Text & "']/Pass")
        Dim getfaverityPath As XmlNodeList = doc.SelectNodes("/userinfo/users[userid='" & TextBox1.Text & "']/userinfomain/faverity")
        'Dim getgirlOrBoyPath As XmlNodeList = doc.SelectNodes("/userinfo/users[userid='" & TextBox1.Text & "']/userinfomain/girlOrBoy")
        'Dim getXueliPath As XmlNodeList = doc.SelectNodes("/userinfo/users[userid='" & TextBox1.Text & "']/userinfomain/xueLi")
        Dim getinfotruePath As XmlNodeList = doc.SelectNodes("/userinfo/users[userid='" & TextBox1.Text & "']/userinfomain/infotrue")

        'Dim faverityUpdate As XmlNodeList
        'faverityUpdate = doc.GetElementsByTagName("faverity")
        'Dim passUpdate As XmlNodeList
        'passUpdate = doc.GetElementsByTagName("Pass")
        'Dim girlOrBoyUpdate As XmlNodeList = doc.GetElementsByTagName("girlOrBoy")
        'Dim xueLiUpdate As XmlNodeList = doc.GetElementsByTagName("xueLi")
        'Dim infotrueUpdate As XmlNodeList = doc.GetElementsByTagName("infotrue")
        Dim getPass As XmlNode
        Dim getFaverity As XmlNode
        Dim getInfotrue As XmlNode
        For Each getPass In getPassPath
            TextBox2.Text = getPass.SelectSingleNode("//users[userid='" & TextBox1.Text & "']/Pass").InnerText
            TextBox3.Text = getPass.SelectSingleNode("//users[userid='" & TextBox1.Text & "']/Pass").InnerText
        Next

        For Each getFaverity In getfaverityPath
            TextBox4.Text = getFaverity.SelectSingleNode("//users[userid='" & TextBox1.Text & "']/userinfomain/faverity").InnerText
        Next

        For Each getInfotrue In getinfotruePath
            TextBox5.Text = getInfotrue.SelectSingleNode("//users[userid='" & TextBox1.Text & "']/userinfomain/infotrue").InnerText
        Next

'这以上就要根据用户名,把该用户的信息显示在各文本框中.

'再来实从下拉菜单combobox任选一个用户,就可以把选中的用户我信息显示在各自的文本框中.

'当然只管理员可用

'双击上面的"combobox"控件

'输入以下代码

    Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
        If ComboBox1.SelectedIndex <= 0 Then
            MessageBox.Show("请管理员选择一个用户名!")
            Exit Sub
        End If

        TextBox1.Text = ComboBox1.SelectedItem

        Dim doc As New XmlDocument
        doc.Load("info.xml")

        Dim showUserownPass As XmlNodeList
        showUserownPass = doc.SelectNodes("/userinfo/users[userid='" & ComboBox1.SelectedItem & "']/Pass")
        Dim getPassValue As XmlNode
        For Each getPassValue In showUserownPass
            TextBox2.Text = getPassValue.SelectSingleNode("//users[userid='" & TextBox1.Text & "']/Pass").InnerText
            TextBox3.Text = getPassValue.SelectSingleNode("//users[userid='" & TextBox1.Text & "']/Pass").InnerText
        Next

        Dim showUserownFaverity As XmlNodeList
        showUserownFaverity = doc.SelectNodes("/userinfo/users[userid='" & ComboBox1.SelectedItem & "']/userinfomain/faverity")
        Dim getFaverityValue As XmlNode
        For Each getFaverityValue In showUserownFaverity
            TextBox4.Text = getFaverityValue.SelectSingleNode("//users[userid='" & TextBox1.Text & "']/userinfomain/faverity").InnerText
        Next

        Dim showUserownInfotrue As XmlNodeList
        showUserownInfotrue = doc.SelectNodes("/userinfo/users[userid='" & ComboBox1.SelectedItem & "']/userinfomain/infotrue")
        Dim getInfotrueValue As XmlNode
        For Each getInfotrueValue In showUserownInfotrue
            TextBox5.Text = getInfotrueValue.SelectSingleNode("//users[userid='" & TextBox1.Text & "']/userinfomain/infotrue").InnerText
        Next

'以上信息就是显示待修改的内容

'**************第一点完成**********************************88888

'第二步来完成修改功能

'双击"修改"按钮

'输入以下的代码

If TextBox2.Text = "" Then
            MessageBox.Show("新密码要填好!")
            Exit Sub
        End If
        If TextBox3.Text = "" Then
            MessageBox.Show("请确认密码")
            Exit Sub
        End If
        If TextBox2.Text <> TextBox3.Text Then
            MessageBox.Show("两次密码不一样")
            Exit Sub
        End If
        If TextBox4.Text = "" Then
            MessageBox.Show("请填好爱好")
            Exit Sub
        End If
        If Not (RadioButton1.Checked Or RadioButton2.Checked) Then
            MessageBox.Show("请选择性别!")
            Exit Sub
        End If
        If ComboBox2.SelectedIndex <= 0 Then
            MessageBox.Show("请选择职业!")
            Exit Sub
        End If
        If TextBox5.Text = "" Then
            MessageBox.Show("请填好个人说明")
            Exit Sub
        End If

'以上代码一定能看得懂吧

'以下代码就是根据用户名来修改并保存到该用户的节点中

        Dim doc As New XmlDocument
        doc.Load("info.xml")
        Dim UpdatePassPath As XmlNodeList
        UpdatePassPath = doc.SelectNodes("/userinfo/users[userid='" & TextBox1.Text & "']/Pass")
        Dim UpdatePass As XmlNode
        For Each UpdatePass In UpdatePassPath
            UpdatePass.InnerText = TextBox2.Text
        Next

        Dim UpdateFaverityPath As XmlNodeList
        UpdateFaverityPath = doc.SelectNodes("/userinfo/users[userid='" & TextBox1.Text & "']/userinfomain/faverity")
        Dim UpdateFaverity As XmlNode
        For Each UpdateFaverity In UpdateFaverityPath
            UpdateFaverity.InnerText = TextBox4.Text
        Next

        Dim UpdategirlOrBoyPath As XmlNodeList
        UpdategirlOrBoyPath = doc.SelectNodes("/userinfo/users[userid='" & TextBox1.Text & "']/userinfomain/girlOrBoy")
        Dim UpdategirlOrBoy As XmlNode
        For Each UpdategirlOrBoy In UpdategirlOrBoyPath
            If RadioButton1.Checked Then
                UpdategirlOrBoy.InnerText = RadioButton1.Text
            Else
                UpdategirlOrBoy.InnerText = RadioButton2.Text
            End If
        Next

        Dim UpdatexueLiPath As XmlNodeList
        UpdatexueLiPath = doc.SelectNodes("/userinfo/users[userid='" & TextBox1.Text & "']/userinfomain/xueLi")
        Dim UpdatexueLi As XmlNode
        For Each UpdatexueLi In UpdatexueLiPath
            UpdatexueLi.InnerText = ComboBox2.SelectedItem
        Next

        Dim UpdateinfotruePath As XmlNodeList
        UpdateinfotruePath = doc.SelectNodes("/userinfo/users[userid='" & TextBox1.Text & "']/userinfomain/infotrue")
        Dim Updateinfotrue As XmlNode
        For Each Updateinfotrue In UpdateinfotruePath
            Updateinfotrue.InnerText = TextBox5.Text
        Next

        doc.Save("info.xml")

        MessageBox.Show("修改成功")
        Exit Sub

'***********************************好了修改功能完成了*************************

'OK 就写这么多了,

'也累了,大家看一下,如果有不懂的请留言.

'以上的包含(一),(二),(三),(四)都测试成功,完全可以运行。代码简单,为大家能够看得懂。

'还有一部分, 查询留言的其实也很简单,跟查询用户差不多,本人这两天有点忙,再过两天再发吧.

'本人保留所有权力

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

fx_blog

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值