HOW TO:给DataTable添加一自增列至首列

来源:互联网 发布:质心形区域增长算法 编辑:程序博客网 时间:2024/04/29 11:25

Author:水如烟 

示例

        Dim db As New LzmTW.Data.AccessOleDbDatabase("G:/OfficeNorthwind.mdb")

        
Dim cm As DbCommand = db.CreateCommand("Employees")
        cm.Connection.Open()
        
Dim table As DataTable = cm.ExecuteReader.GetSchemaTable
        cm.Connection.Dispose()
        cm.Dispose()


        
Dim nowTable As DataTable = TableHelper.AddAutoIncreaseColumn(table, "NO"1)

代码:

Public Class TableHelper
    
Sub New()
    
End Sub

    
Public Shared Function AddAutoIncreaseColumn(ByVal table As DataTable, ByVal columnName As StringOptional ByVal seed As Integer = 0Optional ByVal [stepAs Integer = 1As DataTable
        
Dim autoIncreaseColumn As New DataColumn(columnName, GetType(Integer))
        
With autoIncreaseColumn
            .AutoIncrement 
= True
            .AutoIncrementSeed 
= seed
            .AutoIncrementStep 
= [step]
            .ReadOnly 
= True
        
End With

        
Dim tmpTable As DataTable = table.Clone
        tmpTable.PrimaryKey = Nothing

        
Dim result As New DataTable(table.TableName)

        result.Columns.Add(autoIncreaseColumn)

        
Dim tmpCol As DataColumn
        
For Each col As DataColumn In table.Columns
            tmpCol 
= tmpTable.Columns(col.ColumnName)
            tmpTable.Columns.Remove(tmpCol)
            result.Columns.Add(tmpCol)
        
Next

        result.Merge(table)

        
Return result
    
End Function
End Class
原创粉丝点击