crossover from vb6 to vb.net - 4 questions on recordsets & databases - how do i do it in .net

basic recordsets & recordsets update from vb6 to vb.net help needed


good day
i am an vb6 user and i want to make the cross over to vb.net
i am scared
could someone please help me with this because it will save me loads of time & frustration,
i think a lot of people in the future will gain from this

all the following code is from VB6sp5,using access 2000

this is how i connect to an access database:
____________________________________________
Private oConn As ADODB.Connection
Set oConn = New ADODB.Connection
'Assign the connection string
  oConn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
           "Data Source=.\tapeus.mdb;" & _
           "User ID=admin;" & _
           "Password=;"


this is how i set & open the recordset from the database i connected to
_______________________________________________________________________
    SQLQ = "SELECT * FROM PRODUCTS"
    Dim rsProducts As New ADODB.Recordset
    rsProducts.Open SQLQ, oConn, adOpenStatic, adLockBatchOptimistic, adCmdText


this is how i set the values from a recordset into a listview
_____________________________________________________________
      for i = 1 to rsproducts.recordcount
             Set li = ListView1.ListItems.Add(i, , rsProducts![TableName])
               rsProducts.MoveNext
      next i


and this is how i updated the database from user input
______________________________________________________
 AddCust.Open SQLQ, oConn, adOpenDynamic, adLockOptimistic, adCmdText
        AddCust.AddNew
            AddCust![CustomerSurname] = txt1.Text
        AddCust.Update


could someone give me this in vb.net code,
obviously just "skeleton code" if i may call it that.
i havent tried but i heard of some people having big problems connecting via vb.net  

jxhardingAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

rovermCommented:
You can use a general function:

    Public Function ReadDataSet(ByVal strSQL As String, Optional ByVal NothingWhenEmpty As Boolean = True) As DataSet
        Try
            Dim objDA As New SqlDataAdapter(strSQL, strConnection)
            Dim objDS As New DataSet
            objDA.Fill(objDS)

            If (objDS.Tables.Count > 0 AndAlso objDS.Tables(0).Rows.Count > 0) Or (Not NothingAlsLeeg) Then
                Return objDS
            Else
                Return Nothing
            End If
        Catch ex As Exception
            MsgBox ex.Message
            Return Nothing
        End Try
    End Function

(You need to set the strConnection variable yourself. It's the same as in VB6.)

Then declare a dataset for general use:

Dim ds As DataSet

Then to read a 'recordset' = dataset:

ds = ReadDataSet("select * from mytable")

Nothing will be returned if no records are found.

I would recommend to use a datagrid to show all data. Simpy bind to it:

DataGrid1.DataSource = ds

That's ALL! ;-)

To add a new record to the db, use this function:

    Public Function ExecuteStatement(ByVal strSQL As String) As Int32
        Dim intRecCount As Int32 = -1
        Try
            Dim objConn As New OleDBConnection(strConnection)
            objConn.Open()
            Dim objCommand As New OleDBCommand
            With objCommand
                .CommandType = CommandType.Text
                .CommandText = strSQL
                .Connection = objConn
                intRecCount = .ExecuteNonQuery()
            End With
            objConn.Close()
            Return intRecCount
        Catch ex As Exception
            MsgBox ex.Message
            Return -1
        End Try
    End Function

To insert:

MsgBox ExecuteStatement("insert into mytable (idfield) values 1")

The returned value is the number of affected records.

D'Mzz!
RoverM
0
rovermCommented:
Whoops, change this line:
            If (objDS.Tables.Count > 0 AndAlso objDS.Tables(0).Rows.Count > 0) Or (Not NothingAlsLeeg) Then

To

            If (objDS.Tables.Count > 0 AndAlso objDS.Tables(0).Rows.Count > 0) Or (Not NothingWhenEmpty) Then
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
rovermCommented:
Thanks!
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
.NET Programming

From novice to tech pro — start learning today.

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.