CommandWrapper VB.Net代码 生成器

我们在使用MS Enterprise Library Data Block 对Oracle数据库表做增、删、改。通常使用Database 对象 的UpdateDataSet()方法。例如:
数据库有一个表Test_01,此表包括两个字段分别是 :

id char(2not null,
name 
char(6

对数据集的进行增删改(略)后,通过UpdateDataSet()方法更新数据库,例如:

 

    Public Sub UpdateDS(ByVal ds As DataSet)
        
Dim _Database As Database = DatabaseFactory.CreateDatabase()
        
Dim insertSQL As String = " Insert Into TEST_01 ( ID,NAME) values(:ID,:NAME) "
        
Dim insertCommandWrapper As DBCommandWrapper = _Database.GetSqlStringCommandWrapper(insertSQL)
        insertCommandWrapper.AddInParameter(
"ID", DbType.String, "ID", DataRowVersion.Current)
        insertCommandWrapper.AddInParameter(
"NAME", DbType.String, "NAME", DataRowVersion.Current)
        
Dim updateSQL As String = " Update TEST_01 Set NAME = :NAME  where ID = :ID "
        
Dim updateCommandWrapper As DBCommandWrapper = _Database.GetSqlStringCommandWrapper(updateSQL)
        updateCommandWrapper.AddInParameter(
"ID", DbType.String, "ID", DataRowVersion.Current)
        updateCommandWrapper.AddInParameter(
"NAME", DbType.String, "NAME", DataRowVersion.Current)
        
Dim deleteSQL As String = " Delete From TEST_01 Where ID = :ID "
        
Dim deleteCommandWrapper As DBCommandWrapper = _Database.GetSqlStringCommandWrapper(deleteSQL)
        deleteCommandWrapper.AddInParameter(
"ID", DbType.String, "ID", DataRowVersion.Original)
        
Try
            _Database.UpdateDataSet(ds, ds.Tables(
0).TableName, insertCommandWrapper, updateCommandWrapper, deleteCommandWrapper, UpdateBehavior.Standard)

        
Catch ex As Exception
            
Throw ex
        
End Try
    
End Sub

如果表中的字段很多,我们需要写大量的代码。我在网上搜索了一下这方面的自动生成代码工具,例如CodeSmith,但是都是对sqlsever数据库自动生成代码。我花了一点时间,在网友的代码基础上,写了一个Oracle DBCommandWrapper 生成器工具。现在放到网上,代码有问题,可以通过邮件给我写信,我的邮箱地址是hnhl@163.com
工具下载地址:https://files.cnblogs.com/HuangLiang/DBCommandWrapperGenerator.rar

    

posted @ 2006-04-20 19:15  Leo  阅读(668)  评论(0编辑  收藏  举报