vb.net 与 XML 的操作
发表于:2007-06-30来源:作者:点击数:
标签:
内容: .net 与xml的小软件(100多行左右) 注意:如果转贴,请一定注明出处,以及作者 //=================================开始=============== //======================准备工作=========================== @# 再建立项目的文件夹的bin文件夹下 @#创建两个
内容:
.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 se
lreader 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创建
@#已经进行过
测试,完全可以运行
原文转自:http://www.ltesting.net