ADO.NET對象的構造(4)

來源:互聯網
上載者:User
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)或Null 字元串 (""),則當添加到列集合中時,將提供一個預設名稱。

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



相關文章

E-Commerce Solutions

Leverage the same tools powering the Alibaba Ecosystem

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。