欢迎光临
我们一直在努力

vb.net 与 XML 的操作-.NET教程,XML应用

建站超值云服务器,限时71元/月

内容:.net与xml的小软件(100多行左右)

注意:如果转贴,请一定注明出处,以及作者

//=================================开始===============

//======================准备工作===========================

           再建立项目的文件夹的bin文件夹下

          创建两个文件

          一个是”myxml.xml”

          一个是”myxml.mdb”

           这里面有一个表”users”三个字段名”nameid”,”age”,”faverity”

      再转到图形界面

    单击”工具箱”的”数据”把”oledbconnection”,” oledbcomman”,”dataset”,”oledbdataadapter”

   拉入窗体界面

   依次对这几个控件进行操作

 我的文件夹是d:\vbproject\windowsapplication1

  d:\vbproject\windowsapplication1/bin/myxml.xml

 d:\vbproject\windowsapplication1/bin/myxml.mdb

         

//======================准备结束==============

   (1)首先在机子上要有.net framework

    打开vs.net依次展开:文件-新建-项目;

    再选择visual-basic-项目-windows应用程序

    

这就是所需要一个小界面

现在一步步的来写代码,完成它的功能

首先来完成添加功能:

我们目标是:通过这三个文本框(姓名,年龄,爱好)来添加到数据库中。然后再把这个数据库的表保存成xml格式

    双击”添加”按钮

   在里面写下以下这些代:(vb写的语言,不是c#)

  if textbox1.text <> “” and textbox2.text <> “” and textbox3.text <> “” then

  在三个文本框都不为空时,执行以下操作,

   否则出错
            dim strsel as string
            strsel = “select * from users where nameid=” & textbox1.text & “”

建立一个查询字符串,看要要添加的姓名,是否已在数据中存在,如果不存在就可以添加
            oledbcommand1 = new oledbcommand
            me.oledbcommand1.commandtext = strsel
            me.oledbcommand1.connection = oledbconnection1
            oledbconnection1.open()
            try

 进行异常处理

                dim reader as oledbdatareader = oledbcommand1.executereader()
                if reader.read() then

通过datareader来读取,如果读得到,表明数据在有这个姓名存在,不添加;
                    listbox1.items.add(“已经有该记录!”)
                else
                    reader.close()

要对数据库进行操作,首先把datareader关掉;
                    dim insert as string
                    insert = “insert into users(nameid,age,faverity) values(” & textbox1.text & “,” & textbox2.text & “,” & textbox3.text & “)”

   建立一个插入字符串
                    oledbcommand1 = new oledbcommand
                    me.oledbcommand1.commandtext = insert
                    me.oledbcommand1.connection = me.oledbconnection1
                    me.oledbcommand1.executenonquery()
                    listbox1.items.add(“添加成功!!”)

        以下是把数据库的数据保存为xml格式
                    dataset1 = new dataset
                    oledbdataadapter1 = new oledbdataadapter(“select * from users”, oledbconnection1)
                    oledbdataadapter1.fill(dataset1, “users”)
                    dataset1.writexml(“myxml.xml”)
                end if
            catch ex as exception
                listbox1.items.add(“errors!”)
            end try

            oledbconnection1.close()
        else
            messagebox.show(“请输入完整!!”)
        end if

   //==================接下来是对数据库进行查询===================

双击”查找”按钮

 写入以下代码

   if textbox4.text <> “” then

还是和上面一样如果文本框为空,就不执行,如果不为空,就执行下面的操作
            listbox1.items.clear()

首先把listbox清空
            dim searchtext as string
            searchtext = textbox4.text
            oledbconnection1.open()
            dim selstring as string
            selstring = “select * from users where nameid like %” & searchtext & “%”

          建立查询字符串,可以支持模糊查询
            oledbcommand1 = new oledbcommand
            me.oledbcommand1.commandtext = selstring
            me.oledbcommand1.connection = oledbconnection1

以下几句是显示匹配的条数
            dataset1 = new dataset
            oledbdataadapter1 = new oledbdataadapter(selstring, oledbconnection1)
            oledbdataadapter1.fill(dataset1, “users”)
            listbox1.items.add(“共有” & dataset1.tables(“users”).rows.count & “条匹配的记录”)
            listbox1.items.add(“————————————————————-“)
            try

 进行异常处理
                dim cmdreader as oledbdatareader = oledbcommand1.executereader()

                while cmdreader.read

  注意这里要用while

  不然就无法进行循环,就只能进行一次查询
                    listbox1.items.add(cmdreader(“nameid”).tostring())
                    listbox1.items.add(cmdreader(“age”).tostring())
                    listbox1.items.add(cmdreader(“faverity”).tostring())
                    listbox1.items.add(“———————————-“)
                end while

                cmdreader.close()

                oledbconnection1.close()
            catch ex as exception
                listbox1.items.add(“errors”)
            end try
        else
        end if

//================再把来xml文档,以xml形式显示在listbox里面

 双击”xml文档” 写进下面这些代码:

  listbox1.items.clear()

清空listbox
        dim xtr as xmltextreader = new xmltextreader(“myxml.xml”)

创建成一个xmltextreader读取”myxml.xml”文档
        while xtr.read
            select case (xtr.nodetype)

        咱们用select case 形式来选择xml节点类型
                case xmlnodetype.xmldeclaration

      先从listbox里写进xml声明=====xmldeclaration
                    listbox1.items.add(“<?xml version=1.0 encoding=gb2312?>”)

   再依次显示节点的名称,值

   包括根节点
                case xmlnodetype.element
                    listbox1.items.add(“<” & xtr.name & “>”)
                case xmlnodetype.text
                    listbox1.items.add(xtr.value)
                case xmlnodetype.endelement
                    listbox1.items.add(“</” & xtr.name & “>”)

            end select
        end while
        xtr.close()

 关闭xmltextreader

  //========再把数据库中所有数据显示在listbox中========

  双击”查看全部”按钮

 写入下面的一些代码:

 listbox1.items.clear()

 这些代码大家应该可以看得懂了
        oledbconnection1.open()
        dim selall as string
        selall = “select * from users”
        oledbcommand1 = new oledbcommand
        me.oledbcommand1.commandtext = selall
        me.oledbcommand1.connection = oledbconnection1
        try
            dim creader as oledbdatareader = oledbcommand1.executereader()
            while creader.read
                listbox1.items.add(“name: ” & creader(“nameid”).tostring() & “; age :” & creader(“age”).tostring() & “; faverity :” & creader(“faverity”).tostring())
            end while
            creader.close()
        catch ex as exception
            listbox1.items.add(“errors”)
        end try
        oledbconnection1.close()

  //==========================再来进完成删除按钮=================

  双击”删除”按钮

  写入以下的代码

  if textbox4.text <> “” then

如果不为空,进行以下操作
            listbox1.items.clear()

   先清空listbox
            oledbconnection1.open()

  建立连接
            dim delstring as string
            delstring = textbox4.text
            dim delsel as string
            delsel = “select * from users where nameid=” & delstring & “”

  创建查询字符串
            oledbcommand1 = new oledbcommand
            me.oledbcommand1.commandtext = delsel
            me.oledbcommand1.connection = oledbconnection1
            try
                dim selreader as oledbdatareader = oledbcommand1.executereader()
                if not selreader.read then

  假如读不到,就表明数据库无此数据,无法进行删除操作
                    messagebox.show(“数据库中无该记录!”)
                else
                    selreader.close()

   要对数据进行操作,必须首把datareader关掉
                    dim delrecord as string
                    delrecord = “delete * from users where nameid=” & delstring & “”

   建立删除字符串sql语句,以上都是
                    oledbcommand1 = new oledbcommand
                    me.oledbcommand1.commandtext = delrecord
                    me.oledbcommand1.connection = oledbconnection1
                    me.oledbcommand1.executenonquery()
                    messagebox.show(“删除成功!!”)

  再把进行删除操作的数据库,再次把数据库中数据保存成xml文档
                    dataset1 = new dataset
                    oledbdataadapter1 = new oledbdataadapter(“select * from users”, oledbconnection1)
                    oledbdataadapter1.fill(dataset1, “users”)
                    dataset1.writexml(“myxml.xml”)
                end if
            catch ex as exception
                messagebox.show(ex.message)
            finally
                oledbconnection1.close()
            end try
        else
            messagebox.show(“请输入你想删除的记录!”)
        end if

 //======================= 重设按钮=====

  textbox1.text = “”
        textbox2.text = “”
        textbox3.text = “”
        listbox1.items.clear()

 //============================关闭===============

            me.close()

好了这个小软件完成了,有问题的话留言

本程序在.net framework 2003创建

已经进行过测试,完全可以运行

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » vb.net 与 XML 的操作-.NET教程,XML应用
分享到: 更多 (0)