VBUC
Visual Basic Upgrade Companion. VB6 Converter for .NET & Web.

VB6
ASP
RapidScan-LogoDownload Now

WebMAP
Cloud Application Migration Tools Transform Desktop Applications

C#
Silverlight
Access
VB.NET
PowerBuilder
Winforms
ASP.NET Web Forms

SnowConvert
The best available tools to perform code migrations from a source database or Spark application to Snowflake.

Oracle
Spark Scala
Spark Python
SQL Server
Teradata

Get Started
There are countless ways to take advantage of BlackDiamond Studio and SnowConvert.

Migration and Other Snowflake Services
Get Up and Running with Snowpark
Using the SnowConvert Trial
Build a Cross-Platform Object Inventory

Try BlackDiamond Studio

Time to Mobilize
Free Assessment Tool

VB to .NET

DAO to Data.Common with helpers

Related Content

The VBUC upgrades the DAO data access technology to ADO.NET ONLY by means of the System.Data.Common namespace. If the original VB6 code contains DAO code the VBUC will upgrade the data access code following the next transformation table:

Class Maps to
DAO.Recordset Artinsoft.VB6.DB.DAO.DAORecordSetHelper
DAO.Field System.Data.DataColumn
DAO.Fields System.Data.DataColumnCollection
DAO.Database System.Data.Common.DBConnection
DAO.ParameterDirectionEnum System.Data.ParameterDirection
DAO.Parameters System.Data.Common.DbParameterCollection
DAO.Parameter

System.Data.Common.DbParameter

Example:

System.Data.Common.DbParameter p = factory. CreateParameter();

DAO.QueryDef System.Data.Common.DbCommand
DAO.Connection System.Data.Common.DbConnection
DAO.Workspace Artinsoft.VB6.DB.DAO.WorkspaceHelper
DAO.DBEngine Artinsoft.VB6.DB.DAO.DBEngineHelper
DAO.RecordsetTypeEnum Artinsoft.VB6.DB.DAO.DAORecordsetTypeEnum
DAO.LockTypeEnum Artinsoft.VB6.DB.DAO.DAOLockTypeEnum
DAO.RecordsetOptionEnum Artinsoft.VB6.DB.DAO.DAORecordsetOptionEnum

A brief source sample of this feature:

Original VB6 Code:

Public recRecordset As DAO.Recordset
Public dB As DAO.Database

Private Sub Form_Load()
    
    Set dB = DBEngine.OpenDatabase(App.Path & "\TestDB.mdb")
    
    Set recRecordset = dB.OpenRecordset("Select * from Countries", DAO.dbOpenDynaset, DAO.dbConsistent, DAO.LockTypeEnum.dbOptimistic)

    recRecordset.Sort = "Name"
    recRecordset.MoveFirst

End Sub

Resulting VB.NET Code:

Public recRecordset As DAORecordSetHelper
Public dB As DbConnection

Private Sub Form1_Load(ByVal eventSender As Object, ByVal eventArgs As EventArgs) Handles MyBase.Load
'UPGRADE_WARNING: (2065) DAO.DBEngine method DBEngine.OpenDatabase has a new behavior. More Information: http://www.vbtonet.com/ewis/ewi2065.aspx
    dB = DBEngineHelper.Instance(Artinsoft.VB6.DB.AdoFactoryManager.GetFactory()).OpenDatabase(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\TestDB.mdb)
        
    recRecordset = DAORecordSetHelper.Open("Select * from Countries", dB, "")
    'UPGRADE_ISSUE: (2064) DAO.Recordset property recRecordset.Sort was not upgraded. More Information: http://www.vbtonet.com/ewis/ewi2064.aspx

    UpgradeStubs.DAO_Recordset.setSort(recRecordset, "Name")
    recRecordset.MoveFirst()
End Sub

Note that the connection String (gray highlight) was manually added after the automated migration stage.

Resulting C#.NET Code:

public DAORecordSetHelper recRecordset = null;
public DbConnection dB = null;

private void  Form1_Load( Object eventSender,  EventArgs eventArgs)
{
    //UPGRADE_WARNING: (2065) DAO.DBEngine method DBEngine.OpenDatabase has a new behavior. More Information: http://www.vbtonet.com/ewis/ewi2065.aspx
    dB = DBEngineHelper.Instance(Artinsoft.VB6.DB.AdoFactoryManager.GetFactory()).OpenDatabase(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\TestDB.mdb");
                    
    recRecordset = DAORecordSetHelper.Open("Select * from Countries", dB, "");
    //UPGRADE_ISSUE: (2064) DAO.Recordset property recRecordset.Sort was not upgraded. More Information: http://www.vbtonet.com/ewis/ewi2064.aspx
                    UpgradeStubs.DAO_Recordset.setSort(recRecordset, "Name");
    
    recRecordset.MoveFirst();
}
Talk To An Engineer