vb.net读取表结构 vbnet读取文本

vb.net中如何将一个代码创建好的表结构导入sqlServer数据库中 。这是不允许的 , 因为你的表数据结构和SQL表的数据结构都不一样的 。
仔细观察一下就可以了 。。type都不一样,两表无法直接相等,只能通过新建表,然后再导入进去才可以 。
使用vb.net如何读取XML文件使用DataSet类来完成这项任务 。
DataSet对象在传输时vb.net读取表结构,是以XML流vb.net读取表结构的形式而不是以COM形式传输的 。DataSet对象可以读取XML数据文件或者数据流vb.net读取表结构,从而将树型结构的XML数据转换成关系型的数据 , 如表(DataTable)、列(DataColumn)、行(DataRow)等 。
在这个实例中,vb.net读取表结构我们将XML文件命名为“xmlfile.xml” , 具体内容如下vb.net读取表结构:
?xml version=\"1.0\"standalone=”yes”?
Detail
Person
NameManish/Name
Age22/Age
/Person
/Detail\'用VB.NET读写XML文件
C1aSS WriteXML
Shared Sub main()
Dim obj DataSet As New System.Data.DataSet()
Dim strVirtualPath As String=”t.xml”
\'载入XML文件DataSet
objDataSet.ReadXml(”xmlfile.xml”)
\'通过控制器读取XML内容
Console.Write(objDataSet.GetXml)
\'从原XML文件中得到数据
ConSOle.Write(”Enter Name:”)
Dim fname,age As String
fname=ConS01e.ReadLine
\'写入你希望的代码
ConS01e.Write(”Enter Age:”)
age=Console.ReadLine
ConS0le.Write(fname&age)
Dim v(1)As String
v(0)=fname
V(1)=age
\'增加数据DataSet
objDataSet.Tables(0).Rows.Add(V)
\'更新XML文件
objDataSet.WriteXml(”xmlfile.xml”)
Console.Write(obj DataSet.GetXml)
End Sub
End C1ass
运行该程序有两种方式,一种是在Microso~VS.NET框架中编译完后运行;另一种则是在仿DOS的Command窗口中运行 。在第一种方式中,必须加上System、System.Data、System.xML的引用 。具体方法为:先创建一个空的项目 , 然后加入这个文件名字;在“解决方案资源管理器”中加入引用,此时需要选择相应的.dll文件;注意 , xmlfile.xml文件应该放在工程的/bin目录下面 。我们可以输出结果也可以用浏览器直接查看改变后的XML文件 。在第二种方式中,选择桌面的“程序”一“Microso~Visual Studio.NET”一“VisualStudio.NET工具”一“Visual Studio.NET命令提示”命令,在DOS命令提示框敲入命令:[Page]
vbc/r:system.d11/r:system.data.d11/r:system.xml.d11 xml.vb其中 , 程序名为xml.vb,这里的3个.dll文件都是必须调用的库文件 。应该在存放VB.NET文件的目录中运行上述命令 , 否则找不到相应的程序,当然设置PATH也可以做到 。此外,Xml_vb文件应该和XML文件放在同一目录下面 。每次运行此程序都会往文件中写进同样的内容,都是写入Person/,运行一次写一行 。其实,我们只要稍微修改一下这个程序 , 就可以往XML中写入我们所需要的数据 。
VB 。NET怎么把一个表的结构到复制到另一个表中直接
你在代码中的datagridview
=
datagridview1
不过,这样不好的是,更改你在代码中的datagridview,窗体上的datagridview1也会更改 , 建议还是一个一个写 。
教你一个办法,打开form1.designer.vb , 把dategridview1那里的代码(用查找找'
dategridview1)全部复制下来,再把名称改掉就可以了,也相当于复制啦
vb.net 有两个相同结构的表,如何将第一个表中指定的行,移动到第二个表中DataTable ?
假设dt1和dt2结构相同
Dim dtNewRow as DataRow
for each dtRow as DataRow in dt1.Rows
if(dtRow("A") == "a") then
dtNewRow = dt2.NewRow()
dtNewRow("A") = dtRow("A")
dtNewRow("B") = dtRow("B")
....
dt2.Rows.Add(dtNewRow)
endif
next
我想在vb.net的textbox里调用sql表中的数据 , 怎么办?分类:电脑/网络程序设计其他编程语言
解析:
Visual Basic.NET快速开发MIS系统
【摘 要】 本文介绍微软最新技术Visual Basic.NET在数据库开发方面的应用 。结合数据库系统开发的知识,介绍了物理表操作的方法 , 利用Visual Basic.NET的面向对象的特征,利用类的继承知识 , 简化了数据库系统开发过程 。
引言
以前版本的Visual Basic虽然号称自己是一种OOP(面向对象)编程语言,但却不是一个地地道道的OOP编程语言 , 最多只是半个面向对象的编程语言 。但Visual Basic.NET已经是一种完全的面向对象的编程语言 。他支持面向对象的所有基本特征:继承、多态和重载 。这使得以前在Visual Basic中很难或根本实现不了的问题,在Visual Basic.NET中可以顺利的用简单的方法实现 。
自定义数据操作类
定义一个数据访问的基类,并编写有关数据库操作的必要方法 。
定义一个数据访问类 , 类名为CData 。定义连接Oracle数据库的方法ConnOracle,获取数据集的方法GetDataSet, 获取物理表的方法GetDataTable, 向物理表中插入一行数据的方法Insert, 向物理表中删除数据的方法Delete, 向物理表中更新数据的方法Update 。其实现方法不是本文的重点,在此仅给出代码,不作详细分析 。代码如下:
Public Class CDataBase
Dim OleCnnDB As New OleDbConnection()
@#连接Oracle数据库 , ServerName:服务器名,UserId:用户名,UserPwd:用户密码
Public Function ConnOracle(ByVal ServerName As String, ByVal UserId As String, ByVal UserPwd As String) As OleDbConnection
Dim OleCnnDB As New OleDbConnection()
With OleCnnDB
.ConnectionString = "Provider=MSDAORA.1;Password=@#"UserPwd"@#;User ID=@#"UserId"@#;Data Source=@#"ServerName"@#"
Try
.Open()
Catch er As Exception
MsgBox(er.ToString)
End Try
End With
mOleCnnDB = OleCnnDB
Return OleCnnDB
End Function
@#获取数据集 。TableName:表名 , strWhere:条件
Public Overloads Function GetDataSet(ByVal TableName As String, ByVal strWhere As String) As DataSet
Dim strSql As String
Dim myDataSet As New DataSet()
Dim myOleDataAdapter As New OleDbDataAdapter()
myOleDataAdapter.TableMappings.Add(TableName, TableName)
strSql = "SELECT * FROM "TableName" where "strWhere
myOleDataAdapter.SelectCommand = New OleDbCommand(strSql, mOleCnnDB)
Try
myOleDataAdapter.Fill(myDataSet)
Catch er As Exception
MsgBox(er.ToString)
End Try
Return myDataSet
End Function
@#获取物理表 。TableName:表名
Public Overloads Function GetDataTable(ByVal TableName As String) As DataTable
Dim myDataSet As New DataSet()
myDataSet = GetDataSet(TableName)
Return myDataSet.Tables(0)
End Function
@#获取物理表 。TableName:表名,strWhere:条件
Public Overloads Function GetDataTable(ByVal TableName As String, ByVal strWhere As String) As DataTable
Dim myDataSet As New DataSet()
myDataSet = GetDataSet(TableName, strWhere)
Return myDataSet.Tables(0)
End Function
@#向物理表中插入一行数据 。TableName:表名,Value:行数据,BeginColumnIndex:开始列
Public Overloads Function Insert(ByVal TableName As String, ByVal Value As Object, Optional ByVal BeginColumnIndex As Int16 = 0) As Boolean
Dim myDataAdapter As New OleDbDataAdapter()
Dim strSql As String
Dim myDataSet As New DataSet()
Dim dRow As DataRow
Dim i, len As Int16
strSql = "SELECT * FROM "TableName
myDataAdapter.SelectCommand = New OleDbCommand(strSql, mOleCnnDB)
Dim custCB As OleDbCommandBuilder = New OleDbCommandBuilder(myDataAdapter)
myDataSet.Tables.Add(TableName)
myDataAdapter.Fill(myDataSet, TableName)
dRow = myDataSet.Tables(TableName).NewRow
len = Value.Length
For i = BeginColumnIndex To len - 1
If Not (IsDBNull(Value(i)) Or IsNothing(Value(i))) Then
dRow.Item(i) = Value(i)
End If
Next
myDataSet.Tables(TableName).Rows.Add(dRow)
Try
myDataAdapter.Update(myDataSet, TableName)
Catch er As Exception
MsgBox(er.ToString)
Return False
End Try
myDataSet.Tables.Remove(TableName)
Return True
End Function
@#更新物理表的一个字段的值 。strSql:查询语句 , FieldName_Value:字段及与对应的值
Public Overloads Sub Update(ByVal strSql As String, ByVal FieldName_Value As String)
Dim myDataAdapter As New OleDbDataAdapter()
Dim myDataSet As New DataSet()
Dim dRow As DataRow
Dim TableName, FieldName As String
Dim Value As Object
Dim a() As String
a = strSql.Split(" ")
TableName = a(3)
a = FieldName_Value.Split("=")
FieldName = a(0).Trim
Value = https://www.04ip.com/post/a(1)
myDataAdapter.SelectCommand = New OleDbCommand(strSql, mOleCnnDB)
Dim custCB As OleDbCommandBuilder = New OleDbCommandBuilder(myDataAdapter)
myDataSet.Tables.Add(TableName)
myDataAdapter.Fill(myDataSet, TableName)
dRow = myDataSet.Tables(TableName).Rows(0)
If ValueNothing Then
dRow.Item(FieldName) = Value
End If
Try
myDataAdapter.Update(myDataSet, TableName)
myDataSet.Tables.Remove(TableName)
Catch er As Exception
MsgBox(er.ToString)
End Try
End Sub
@#删除物理表的数据 。TableName:表名,strWhere:条件
Public Overloads Sub Delete(ByVal TableName As String, ByVal strWhere As String)
Dim myReader As OleDbDataReader
Dim myCommand As New OleDbCommand()
Dim strSql As String
strSql = "delete FROM "TableName" where "strWhere
myCommand.Connection = mOleCnnDB
myCommand.CommandText = strSql
Try
myReader = myCommand.ExecuteReader()
myReader.Close()
Catch er As Exception
MsgBox(er.ToString)
End Try
End Sub
End Class
定义一操作数据库中物理表的类CData,此类继承CDataBase,即:
Public Class CData:Inherits CDataBase
此类应该由供用户提供所操作的物理表的表名,指定了表名就可取得该表的所有性质 。该表主要完成插入、删除、更新功能 。定义其属性、方法如下:
申明类CData的变量:
@#所要操作的表名
Private Shared UpdateTableName As String
@#所要操作的表对象
Public Shared UpdateDataTable As New DataTable()
@#对应表的一行数据197
Public Shared ObjFields() As Object
@#表的字段数
Public Shared FieldCount As Int16
@#主关键字 。我们假设每个物理表都有一个主关键字字段fSystemID
Public Shared SystemID As String
说明:Shared 关键字指示一个或多个被声明的编程元素将被共享 。共享元素不关联于某类或结构的特定实例 。可以通过使用类名或结构名称或者类或结构的特定实例的变量名称限定共享元素来访问它们 。
申明类CData的属性UpdateTable,当向UpdateTable赋给了一个已知表的表名,就可确定表的字段数,定义出数据行 。这里,先打开表,再重新定义数据行.
Public Property UpdateTable() As String
Get
UpdateTable = UpdateTableName
End Get
Set(ByVal Value As String)
UpdateTableName = Value.Trim
UpdateDataTable = DB.GetDataTable(UpdateTableName)
UpdateTableFieldNames = UpdateDataTable.Clone
FieldCount = UpdateDataTable.Columns.Count
ReDim ObjFields(FieldCount - 1)
End Set
End Property
@#删除由主关键值fSystemID指定的数据行
Public Sub Delete()
Dim strSQL As String
strSQL = "Delete from "UpdateTableName" where fSystemID="SystemID
DB.Delete(strSQL)
UpdateDataTable.Rows.Remove(GetRow)
End Sub
@#向表UpdateTableName中插入一行数据 。数据由ObjFields给出
Public Function Insert() As Boolean
DB.Insert(UpdateTableName, ObjFields)
End Function
@#更新表UpdateTableName所指定的行
Public Shadows Sub Update()
Dim SetField As String
Dim i As Int16
For i = 1 To FieldCount - 1
SetField = UpdateTableFieldNames.Columns(i).ColumnName"="ObjFields(i)
UpdateField(SetField)
Next
End Sub
Public Sub UpdateField(ByVal SetField As String)
Dim StrSQL As String
StrSQL = "select * from "UpdateTableName" where fSystemID= "SystemID
DB.Update(StrSQL, SetField)
End Sub
@#填充网络数据
Public Overloads Sub FillGrid(ByVal GridName As DataGrid)
GridName.DataSource = UpdateDataTable
End Sub
@#把数据网格的当前行数据定写入到输入控件中
Public Sub DataGridToText(ByVal frm As Form)
Dim RowIndex, i As Int16
Dim value
Dim obj As Control
Dim DataGrid As New DataGrid()
If FieldCount = 0 Then Exit Sub
For Each obj In frm.Controls
If obj.GetType.Name = "DataGrid" Then
DataGrid = obj
Exit For
End If
Next
RowIndex = DataGrid.CurrentRowIndex
For i = 1 To FieldCount - 1
value = https://www.04ip.com/post/DataGrid.Item(RowIndex, i)
If IsDBNull(value) = True Then
valuehttps://www.04ip.com/post/= ""
End If
For Each obj In frm.Controls @#
If obj.TabIndex = i Then
obj.Text = value
Exit For
End If
Next
Next
End Sub
【vb.net读取表结构 vbnet读取文本】关于vb.net读取表结构和vbnet读取文本的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息 , 记得收藏关注本站 。

    推荐阅读