ADO.NET对象的构造(4)

ado|对象

DataColumn构造

n Public Sub New()’ 刚创建时,新的 DataColumn 对象没有默认的 ColumnName 或 Caption 属性。但是,在添加到 DataColumnCollection 时,就给予列默认名称(“Column1”、“Column2”等等)。

n Public Sub New(ByVal columnName As String)

n Public Sub New(ByVal columnName As String,ByVal dataType As Type)

n Public Sub New(ByVal columnName As String,ByVal dataType As Type,ByVal expr As String)

n Public Sub New(ByVal columnName As String,ByVal dataType As Type,ByVal expr As String,ByVal type As MappingType)

参数

1. columnName 一个字符串,它表示要创建的列的名称。如果设置为空引用(Visual Basic 中为 Nothing)或空字符串 (""),则当添加到列集合中时,将提供一个默认名称。

2. dataType 支持的 DataType。

3. expr 用于创建该列的表达式。

4. type MappingType 值之一。指定如何映射 DataColumn。在获取或设置 DataColumn 的 ColumnMapping 属性时,使用 MappingType 枚举。在 DataSet 上调用 WriteXml 方法以将数据和架构作为 XML 文档写出时,该属性确定如何写列的值。

成员名称
说明

Attribute
将列映射到 XML 属性。

Element
将列映射到 XML 元素。

Hidden
将列映射到内部结构。

SimpleContent
将列映射到 XmlText 节点。

DataColumn 是用于创建 DataTable 的架构的基本构造块。通过向 DataColumnCollection 中添加一个或多个 DataColumn 对象来生成这个架构。

每个 DataColumn 都有 DataType 属性,该属性确定 DataColumn 所包含的数据的种类。例如,可以将数据类型限制为整数、字符串或小数。由于 DataTable 所包含的数据通常合并回其原始数据源,因此必须使数据类型与数据源中的数据类型匹配。

诸如 AllowDBNull、Unique 和 ReadOnly 之类的属性对数据的输入和更新施加限制,从而有助于确保数据完整性。还可以使用 AutoIncrement、AutoIncrementSeed 和 AutoIncrementStep 属性来控制数据自动生成。

还可以通过创建 UniqueConstraint 并将其添加到 DataColumn 所属的 DataTable 的 ConstraintCollection,以确保 DataColumn 中的值是唯一的。

若要创建 DataColumn 对象之间的关系,请创建 DataRelation 对象并将其添加到 DataSet 的 DataRelationCollection。

可以使用 DataColumn 对象的 Expression 属性来计算列中的值或创建聚合列。

示例
Private Sub CreateComputedColumn(ByVal myTable As DataTable)

Dim myTable As DataTable = new DataTable("myTable")
Dim myColumn As DataColumn

Dim dt As System.Type

Dim strExpr As String

myColumn = New DataColumn("id")

With myColumn

.DataType = System.Type.GetType("System.Int32")

.AutoIncrement = True

.AutoIncrementSeed = 1

.AutoIncrementStep = 1

.ReadOnly = True

End With

myTable.Columns.Add(myColumn)

dt = System.Type.GetType("System.Int32")

myColumn = New DataColumn("Quantity", dt)

With myColumn

.AllowDBNull = False

End With

myTable.Columns.Add(myColumn)

myColumn = New DataColumn
myColumn.DataType = System.Type.GetType("System.Decimal")
myColumn.AllowDBNull = False
myColumn.Caption = "Price"
myColumn.ColumnName = "Price"
myColumn.DefaultValue = 25
myTable.Columns.Add(myColumn)

dt = System.Type.GetType("System.Decimal")

myColumn = New DataColumn("Tax", dt, "Price * .0862")

With myColumn

.AutoIncrement = False

.ReadOnly = True

End With

myTable.Columns.Add(myColumn)

dt = System.Type.GetType("System.Decimal")

strExpr = "Price * Quantity"

' Create the column, setting the type to Attribute.

myColumn = New DataColumn("Total", dt, strExpr, MappingType.Attribute)

myColumn.AutoIncrement = False

myColumn.ReadOnly = True

myTable.Columns.Add(myColumn)

End Sub

时间: 2024-09-11 20:19:00

ADO.NET对象的构造(4)的相关文章

ADO.NET对象的构造(6)

ado|command|对象 OleDbCommand构造 n Public Sub New() n Public Sub New(ByVal cmdText As String) n Public Sub New(ByVal cmdText As String,ByVal connection As OleDbConnection) n Public Sub New(ByVal cmdText As String,ByVal connection As OleDbConnection,ByVa

ADO.NET对象的构造(1)

ado|对象 OleDbDataAdapter 构造 n Public Sub New() n Public Sub New(ByVal selectCommand As OleDbCommand) n Public Sub New(ByVal selectCommandText As String,ByVal selectConnection As OleDbConnection) n Public Sub New(ByVal selectCommandText As String,ByVal

ADO.NET对象的构造(2)

ado|对象 DataSet 构造 n Public Sub New()'DataSet 构造函数的此实现不使用任何参数,它为新实例创建默认名称"NewDataSet". n Public Sub New(ByVal dataSetName As String ) n Protected Sub New(ByVal info As SerializationInfo,ByVal context As StreamingContext) 参数 1.dataSetName DataSet

ADO.NET对象的构造(3)

ado|对象 DataTable构造n Public Sub New() n Public Sub New(ByVal tableName As String )n Protected Sub New(ByVal info As SerializationInfo, ByVal context As StreamingContext ) 参数 1. info 将对象序列化或反序列化所需的数据. 2. context 给定序列化流的源和目的地. 3. tableName 赋予表的名称.如果是空引用

ADO.NET对象的构造(7)

ado|对象 n Overloads Public Overridable Function Add(ByVal value As Object) As Integer Implements IList.Add n Overloads Public Function Add(ByVal parameterName As String,ByVal value As Object) As OleDbParameter n Overloads Public Function Add(ByVal val

ASP与ADO RECORDSET对象的错误原因

ado|错误|对象 当我们运行ASP程序时如果出现下面错误该如何呢? 试图访问的网页出现问题,无法显示. 请尝试执行下列操作: 单击刷新按钮,或稍后重试. 打开 localhost 主页,然后查找与所需信息相关的链接. HTTP 错误 500.100 - 内部服务器错误 - ASP 错误Internet 信息服务 技术信息(用于支持人员) 错误类型:ADODB.Recordset (0x800A0E7D)连接无法用于执行此操作.在此上下文中它可能已被关闭或无效./asp/wwwroot/chat

ADO三大对象的属性、方法、事件及常数[ZT]

ado|常数|对象 ADO三大对象的属性.方法.事件及常数(一)Connection对象  属性  属性名称 数据类型和用途 Attributes 可读写Long类型,通过两个常数之和指定是否使用保留事务(retainning transactions).常数adXactCommitRetaining表示调用CommitTrans方法时启动一个新事务:常数adXactAbortRetaning表示调用RollbackTrans方法时启动一个新事务.默认值为0,表示不使用保留事务. Command

ADO三大对象的属性、方法、事件及常数

ado|常数|对象 Connection对象 属性 属性名称                      数据类型和用途 Attributes                    可读写Long类型,通过两个常数之和指定是否使用保留事务(retainning transactions).常数adXactCommitRetaining表示调用CommitTrans方法时启动一个新事务:常数adXactAbortRetaning表示调用RollbackTrans方法时启动一个新事务.默认值为0,表示

通过实例学习Java对象的构造过程

本文提供一个项目中的错误实例,提供对其观察和分析,揭示出Java语言实例化一个对象具体过程,最后总结出设计Java类的一个重要规则.通过阅读本文,可以使Java程序员理解Java对象的构造过程,从而设计出更加健壮的代码.本文适合Java初学者和需要提高的Java程序员阅读. 程序掷出了一个异常 作者曾经在一个项目里面向项目组成员提供了一个抽象的对话框基类,使用者只需在子类中实现基类的一个抽象方法来画出显示数据的界面,就可使项目内的对话框具有相同的风格.具体的代码实现片断如下(为了简洁起见,省略了