• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 1354
  • Last Modified:

Migrating from VB6 to VB.Net

I'm trying to Migrate some code from a library (written by someone else) to VB.Net and I can't find a solution to this Call.
NO- I don't know ADO.Net (Yet)

Does anyone know How to rewrite the line with  (or what is causing this)
.Execute(SQl, , ADODB.CommandTypeEnum.adCmdText + ADODB.CommandTypeEnum.adExecuteNoRecords)

Public Function ExecuteID(ByVal SQl As String) As Long
        'SQL is a valid Insert statement.
        'ConnetionString property has been set to a valid Connection String
        On Error GoTo LocalError
        Dim cn As New ADODB.Connection
        Dim rs As New ADODB.Recordset
        Dim AutoID As Long
        With rs
            'Prepare the RecordSet
            .CursorLocation = ADODB.CursorLocationEnum.adUseServer
            .CursorType =ADODB.CursorTypeEnum.adOpenForwardOnly 
            .LockType = ADODB.LockTypeEnum.adLockReadOnly
            .Source = "SELECT @@IDENTITY"
        End With
        With cn
            .ConnectionString = ConnectionString
            .CursorLocation = ADODB.CursorLocationEnum.adUseServer
            .Execute(SQl, , ADODB.CommandTypeEnum.adCmdText + ADODB.CommandTypeEnum.adExecuteNoRecords)
            With rs
                .ActiveConnection = cn
                .Open(, , , , ADODB.CommandTypeEnum.adCmdText)
                AutoID = rs(0).Value
            End With
        End With
        rs = Nothing
        cn = Nothing
        'If we get here ALL was Okay
        ExecuteID = AutoID
        Exit Function
        m_sLastError = Err.Number & " - " & Err.Description
        ExecuteID = 0
    End Function

Open in new window

  • 3
  • 2
1 Solution
You'd be better off to rewrite it entirely using a data reader.

Here's an article I wrote on Visual Form Inheritance. It used SQL Data Readers entirely.  I think it also used SQL Server and stored procedures.  I wrote a clsParamBuilder class to make building the parameters for the command object simpler.  Much of it uses Interfaces i.e. instead of specifically for SQL Server or OLEDb it will use things like IDBCommand, from which SQLCommand and OLEDBCommand inherit....so it is made generic to work with whichever you choose.

You could be able to download the source code and find more than sufficient examples to rewrite the existing code using ADO.NET with a DataReader, which from the looks of your code is all you'd need for readonly data.
keptinsAuthor Commented:
thanks for your input...
I'm looking for a quick and dirty solution
Try this:

Free Tool: SSL Checker

Scans your site and returns information about your SSL implementation and certificate. Helpful for debugging and validating your SSL configuration.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

keptinsAuthor Commented:
thanks for the solution to this...I just wish there were some easy to read resources
Yeah, that's the problem with any migration task.... you rarely have the time to read/absorb the material as you're using it.    Only after you're finished with the project, are you in a position to just scrap the old and start over from scratch (something that you couldn't do at the time).

I've got a few articles on ADO.Net that's desgined from an "classic ADO" perspective.   So, when you've got time (ha!), take a look at the following:

keptinsAuthor Commented:
I see there are several books
Do you recommend any?
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

  • 3
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now