水如烟

秋里生活,恬淡宁静。那如洗碧空,那伏黄草地,风凉夜寂,心儿涌动,情绪萦绕。可以凭窗,可以临江,可以坐,可以仰卧,可以独处,可以相依。倚明月,抚清辉,人生多少情怀,尽在秋里?

原创 HOW TO:给DataTable添加一自增列至首列 收藏

新一篇: 数据库类的扩展:提供Dll及源代码下载 | 旧一篇: HOW TO:监视Window空闲时间

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

发表于 @ 2008年05月26日 11:29:00|评论(loading...)|编辑

新一篇: 数据库类的扩展:提供Dll及源代码下载 | 旧一篇: HOW TO:监视Window空闲时间

评论

#jamte55 发表于2008-05-26 13:15:00  IP: 125.120.89.*
学习学习
发表评论  


登录
Csdn Blog version 3.1a
Copyright © 水如烟