Now: Tutorial for Web and Software Design > Programming > VB > Programming Content
> VB Tutorials - SQL for Beginners [Bookmark it]
VB Tutorials - SQL for Beginners

VB Database Programming

By Anne-Marie Wright

This is not about how to create or design a database, it is about how to connect to a database and manipulate a database using VB. It will work (with some minor alterations) in VBA as well.

There are several ways of connecting to a database (for example, Access), via data bound controls, DAO or ADO. On the whole I do not use data bound controls because I like to keep control of what is happening to the data so the rest is about DAO/ADO.

To start with you need to create a few variables of the following types

  • Workspace ADODB.Connection - This is required if you are using Transaction Processes (I will explain later)
  • Database - This connects to the database Recordset
  • ADODB.Recordset - This is the table/query level variable
  • Field ADODB.Field - This allows us to get info about the fields

Connecting to a Database

With an Access database it is possible to connect to the database in 2 ways, JET or ODBC. Personally I use ODBC because the file management is easier; to change the filename or path just use the ODBC administrator in the control panel.

Note: These examples are here to show what to do very simply, some of the commands have more options than are shown so please review the help files for more details.

DAO example - JET Connection


Dim ws as Workspace

Dim db as Database



Set ws=DBEngine.Workspaces(0)

set db=ws.OpenDatabase({databasepath and name})

DAO example - ODBC Connection


Dim ws as Workspace

dim db as database

dim strConnection as string



set ws=DBEngine.Workspaces(0)

let strConnection= "ODBC;DSN=" & DatabaseName & ";UID=" & UserName 

& ";PWD=" & UserPassword

set db=ws.OpenDatabase("", False, False, strConnection)

ADO Example


Dim ad as ADODB.Connection



set ad=New ADODB.Connection

Let ad.ConnectionString= "ODBC;DSN=" & DatabaseName & ";UID=" & 

UserName & ";PWD=" & UserPassword

ad.Open

Opening a Table/Query for Viewing

Now we have the database connection established it is time to look at the data. The following example show how to open a table/query and move through it.

DAO Example


Dim rs as recordset



set rs=db.openrecordset({tablename or SQL})

do while not rs.eof

  'Put the code here for what to do with the information.

  'The field information can be access by the field name

  intID=rs!IDField

  'Or by the order number it is in the list (starting at 0)

  intString=rs.Field(1)

  rs.movenext

loop

ADO example


dim ar as ADODB.recordset



set ar=new adodb.recordset

ar.open {SQL Statement}

do while not ar.EOF

  'Put the code here for what to do with the information.

  'The field information can be access by the field name

  intID=ar!IDField

  'Or by the order number it is in the list (starting at 0)

  intString=ar.Field(1).value

  ar.movenext

loop

Change a Record

To edit/add/delete a record we can do it either using SQL or directly. Both DAO and ADO use the execute method for doing updates by SQL.

DAO

 

Dim rs as recordset



set rs=db.openrecordset({tablename or SQL})

rs.execute "INSERT INTO tb(ID,Name) VALUES (10,Anne)"

ADO


dim ar as ADODB.recordset



set ar=new adodb.recordset

ar.open {SQL Statement}

ar.execute "INSERT INTO tb(ID,Name) VALUES (10,Anne)"

These examples add a new record to the database directly.

DAO - Add New Record


Dim rs as recordset



set rs=db.openrecordset({tablename or SQL})

rs.addnew

rs!ID=intID

rs!Name=strName

rs.update

ADO - Add new record


dim ar as ADODB.recordset



set ar=new adodb.recordset

ar.open {SQL Statement}

ar.addnew

ar!ID=intID

ar!Name=strName

ar.update

These examples show how to edit a record directly, after the recordset is open it checks that there is a record meeting the criteria in the open SQL. If not it creates one.

DAO - Edit record


Dim rs as recordset



set rs=db.openrecordset("SELECT * FROM Tb WHERE tdID=10")

if rs.eof then

  rs.addnew

else

  rs.edit

end if

rs!ID=intID

rs!Name=strName

rs.update

ADO - Edit Record


dim ar as ADODB.recordset



set ar=new adodb.recordset

ar.open "SELECT * FROM Tb WHERE tdID=10"

if ar.eof then

  ar.addnew

else

  ar.edit

end if

ar!ID=intID

ar!Name=strName

ar.update

These examples show how to delete a record directly, after the recordset is open it checks that there is a record meeting the criteria in the open SQL. If not it does not do a delete.

DAO - Delete Record


Dim rs as recordset



set rs=db.openrecordset("SELECT * FROM Tb WHERE tdID=10")

if not rs.eof then

  rs.delete

end if

ADO - Delete Record


Dim ar as ADODB.recordset



set ar=new adodb.recordset

ar.open "SELECT * FROM Tb WHERE tdID=10"

if not ar.eof then

  ar.delete

end if

Note: If you open an object when you have finished with it, close it and set it to nothing. For example...


    rs.close

    set rs=nothing

This is good programming practice and clears the memory.


[Bookmark][Print] [Close][To Top]
  • Prev Article-Programming:

  • Next Article-Programming:
  • Related Materias
    Executing a VB Program wit
    Sorting Viewer Tutorial - 
    Crystal Reports Tutorial -
    File Dialog Box - Tutorial
    VB Tutorials - MultiSelect
    Visual Basic Explorer - Tu
    Visual Basic Explorer - VB
    Visual Basic Explorer - Tu
    Visual Basic Explorer - OL
    VB Tutorials - SQL for Beg
    Topics
    Photoshop Tutorial
     

    Special Effect

      3D Effect
      Photoshop Articles
    Programming Tutorial
     

    C/C++ Tutorial

      Visual Basic
      C# Tutorial
    Database Tutorial
     

    MySQL Tutorial

      MS SQL Tutorial
      Oracle Tutorial
    Graphic Design Tutorial
     

    Coreldraw Tutorial

      Illustrator Tutorial
      3D Graphics Articles
    Webmaster Articles
     

    Domain Service

      Web Hosting
      Site Promotion
    Java Tutorial&Articles
     

    Java Servlets

      JavaEE Tutorial
     

    JavaBeans Tutorial

    XML Tutorial&Articles
     

    XML Style Tutorial

      AJAX Tutorial
      XML Mobile
    Flash Tutorial&Articles
     

    Flash Video

      Action Script
      Flash Articles
    OS Tutorial&Articles
     

    Linux Tutorial

      Symbian Tutorial
      MacOS Tutorial