ActiveX Data Object ISYS 562. ADO An ActiveX control ActiveX is build upon COM, a contract that defines a standard interface by which objects communicate.

Slides:



Advertisements
Similar presentations
Basics of Database Programming with VB6
Advertisements

ADO DB in Access VBA © Walter Milner 2005 Slide: 1 ADO VBA Programming in Access.
Connecting to Database 21 Feb Database Options Can use many different databases in conjunction with php. – MySql; MS Access; Oracle; etc etc Most.
Mark Dixon, SoCCE SOFT 131Page 1 16 – Persistent data storage: relational databases and ADO.
VB.NET Database Access ISYS546. Microsoft Universal Data Access ODBC: Open Database Connectivity –A driver manager –Used for relational databases OLE.
The ADO Data Control. Universal Data Access Open Database Connectivity (ODBC) –standard for accessing data in databases OLE-DB –allows access to data.
VB.NET Database Tools ISYS Net Applications OLE DB Provider OLE DB Data Source OLE DB Provider ODBC Data Source SQL Server Data Source SQL Server.Net.
VBA Data Access Object. Data Access Objects DAO With DAO we can: –Run queries –Update values in database tables –Create structure of databases Tables,
ActiveX Data Control BICS 546. Intrinsic and ActiveX Controls VB supports two types of controls: –Intrinsic controls (command button, listbox, etc): When.
Introduction to ADO.Net, VB.Net Database Tools and Data Binding ISYS 512.
Programming the RecordSet Object
Using ADO Programmatically The Connection Object and the Command Object.
Database Connectivity Session 2. Topics Covered ADO Object Model Database Connection Retrieving Records Creating HTML Documents on-the-fly.
VB.NET Database Access ISYS 812. Microsoft Universal Data Access ODBC: Open Database Connectivity –A driver manager –Used for relational databases OLE.
Visual Basic Database Access BICS546. Microsoft Universal Data Access OLE DB: The OLE database protocol –Allows a program to access information in any.
Copyright 2003 : Ismail M.Romi, PPU. All Rights Reserved 1 Lab10 Interacting with Data (Database Management)
Coding ADO.NET Objects: Connection, Command, DataReader.
Mark Dixon Page 1 18 – Persistent data storage: relational databases and ADO.
CSE 190: Internet E-Commerce Lecture 13: Database code.
VB.NET Database Access ISYS546. Microsoft Universal Data Access ODBC: Open Database Connectivity –A driver manager –Used for relational databases OLE.
CIS 451: ASP Recordsets Dr. Ralph D. Westfall May, 2002.
Introduction to ADO.Net, VB.Net Database Tools and Data Binding ISYS 512.
ASP & ADO. Connection Object An implicit connection is created when we open a recordset without a connection object. –rs.open “Customer”, "DSN = Sales”
Introduction to ADO.Net, VB.Net Database Tools and Data Binding ISYS 512.
VB.NET Database Access ISYS546. Microsoft Universal Data Access ODBC: Open Database Connectivity –A driver manager –Used for relational databases OLE.
ADO Recordsets. Recordset Objects Similar to Tables and Queries: data Using VBA/VBScript you… –Open a recordset, –Locate a record –Update or add a record.
Introduction to ADO.Net and Visual Studio Database Tools ISYS 512.
Chapter 7 PHP Interacts with Ms. Access (Open DataBase Connectivity (ODBC))
ActiveX Data Object (ADO) in JavaScript J.L.Wang, Yen-Cheng Chen Dept. of Infomation Management Ming-Chuan University Jan
1 VBScript Session What we learn last session?
Introduction to ADO By David R. Stevenson Consulting Software Engineer ABB Automation.
Database 20/2/12 Connection. 
Irwin/McGraw-Hill Copyright© 2000 by the McGraw-Hill Companies, Inc. PowerPoint® Presentation to accompany prepared by James T. Perry University of San.
McGraw-Hill/Irwin Programming in Visual Basic 6.0 © 2002 The McGraw-Hill Companies, Inc. All rights reserved. Update Edition Chapter 11 Accessing Database.
Recordsets Chapter 7. Recordset Objects Similar to Tables and Queries: data But forms cannot be bound to them Fields cannot be bound to them But Access.
ADO 2.5 Kamaljit Bath, Program Manager Data Access Group.
EM412 Using Adaptive Server Anywhere with Visual Basic Ali Chalhoub Technical Support Consultant iAnywhere Solutions
Lecture Note 10: Simple Database Techniques. Introduction –Database System –Access, SQL Server and others. –Microsoft Access - Interacting with this databases.
Visual Basic ADO Programming 56:150 Information System Design.
What is database?  Any Method for access info into Application from DataBase?  ODBC is standard for Accessing Data.  Problem with ODBC:  Information.
How to Connect to Database ODBC (Open Database Connectivity) ADO (ActiveX Data Object) ASP Code To Connect to Database Recordset Object Navigating through.
ActiveX Data Objects (ADO) is Microsoft’s latest database object model. The goal of ADO is to allow VB developers to use a standard set of objects to refer.
Introduction to ADO.Net and VS Database Tools and Data Binding ISYS 350.
Unbound Form Form not tied directly to any fields in the database Must use SQL to “bind” the fields 1.
Lab 8 Data Access Using Microsoft ActiveX Data Object (ADO)
Database Connectivity What is ADO. What is ADO? ADO is a Microsoft technology ADO stands for ActiveX Data Objects ADO is a Microsoft Active-X component.
ADO ActiveX Data Object. ActiveX Data Objects (ADO) is Microsoft’s latest database object model. The goal of ADO is to allow VB developers to use a standard.
What’s new in ADO 2.5 Greg Hinkel Program Manager Data Access Group
Source = Table rsObject.Open tablename, Connection Object, CursorType, LockType, adCmdTable Source = Stored Procedure rsObject.Open stored procedure name,
IS2803 Developing Multimedia Applications for Business (Part 2) Lecture 6: Accessing a database with PHP Rob Gleasure robgleasure.com.
ASP-13-1 Recordsets Colorado Technical University IT420 Tim Peterson.
1 ADO Activex Data Objects. 2 ADO ADO allows users to access data easily from many existing databases (such as Access or Paradox) From ODBC compliant.
ADO & Recordsets. ADO Description & History  ActiveX Data Objects  History  1991 ODBC  Data Access Objects (DAO) for VB developers (JET)  Remote.
Using databases ActiveX Data Objects (ADO) Connecting to a database Reading data from a database Inserting, updating and deleting records Using databases.
 2 Data Object Library approaches ◦ DAO (Data Access Objects)  Original access strategy (up to VB6)  Closely linked to MS Access ◦ ADO (ActiveX Data.
Visual Basic Database Access
Visual Basic Database Programming.
Coding ADO.NET Objects: Connection, Command, DataReader
Data Access Objects .
ADO VBA Programming in Access
Find, filter etc with connection to Access code internally
ActiveX Data Objects (ADO)
The Recordset Object.
INT213 Updating the Database.
ربط الفيجوال بيسك VB مع قواعد البيانات
المستخدمين والصلاحيات فى برنامجك
VISUAL BASIC INTRODUCTION TO DATA CONNECTIVITY.
Chapter 10 ASP and Data Store Access
Coding ADO.NET Objects: Connection, Command, DataReader
Excel Import data from Access to Excel (ADO) using VBA
Presentation transcript:

ActiveX Data Object ISYS 562

ADO An ActiveX control ActiveX is build upon COM, a contract that defines a standard interface by which objects communicate. ADO works with several different DBMSs. –Can use ODBC DSN.

A Client/Server Access Application Access ApplicationDatabase Server Request Response

Using ODBC Windows 2000/2003: Control Panel /Administrative Tools/DataSource(ODBC) Three types of data source names –System DSN

Using ADO Must reference ADO objects. In VBE: –Tools/Reference/ click Microsoft ActiveX Data Object library 2.7

ADO Object Model There are three main objects on which the ADO object models is built: –Connection object: make connection to the database. –Command object: run SQL against the database. –Recordset object: holds some or all of the records in database.

ADO Programming Object Model Connection Errors Command RecordSet Error Parameters Parameter Fields Field

Connection with a Connection Object A connection object represents a unique session with a data source. Connection string: database, OLE DB provider, password, if any, security, etc. Use the Open method to open a connection. Use the Execute method to execute SQL. Manage transaction: BeginTrans, CommitTrans, rollBackTrans.

Providers MSDASQL –Microsoft OLE DB Provider for ODBC Microsoft.Jet.OLEDB.4.0 MSDAORA – For Oracle SQLOLEDB – Microsoft SQL Server

Connecting String Containing information about database, OLE DB provider, password, if any, security, etc. For Jet database: –Dim cn As ADODB.Connection –Set cn = New ADODB.Connection –cn.Open ("provider=microsoft.jet.oledb.4.0;data source=c:\salesDB.mdb;")

ODBC DSN Connection When using the ODBC provider, the connection string can be a DSN. For example: –Dim Cn as ADODB.Connection –Set Cn = New ADODB.Connection –cn.Open ("provider=msdasql;dsn=mySalesDB")

Connection Object Methods OPEN cn.Open ("provider=microsoft.jet.oledb.4.0;data source=c:\salesDB.mdb;") Close Execute: –Return a recordset after executing a SQL Select statement. –Usually is used to execute SQL Insert and Delete that don’t return set of records. Demo

Command Objects Properties & Methods Command object properties: –ActiveConnection: Current connection –CommandType: adCmdText, adCmdTable, adCmdStoredProc, etc. –CommandText: Table name if command type is adCmdTable, SQL statement if command type is adCmdText. Command object methods: –Execute

Creating ADO Recordset Objects Connection object’s Execute method Command object’s Execute method Recordset’s Open method

Types of Recordset

Creating Recordset Using Connection ForwardOnly Option Explicit Dim cn As ADODB. Connection Dim rs As ADODB. Recordset Private Sub Form_Load() Set cn = New ADODB. Connection cn.Open ("provider=microsoft.jet.oledb.4.0;data source=c:\salesDB.mdb;") Set rs = cn.Execute("select * from customer", adCmdText)

Creating Recordset Using Command ForwardOnly Option Explicit Dim cn As ADODB.Connection Dim rs As ADODB. Recordset Dim cm As ADODB. Command Private Sub Form_Load() Set cn = New ADODB. Connection cn.Open ("provider=microsoft.jet.oledb.4.0;data source=c:\salesDB.MDB;") Set cm = New ADODB. Command cm.CommandType = adCmdText cm.CommandText = "select * from customer“ Set cm.ActiveConnection = cn Set rs = cm.Execute Text1 = rs.Fields(0) Text2 = rs.Fields(1) End Sub

Creating Recordset Using Recordset’s Open Method (Can open any type of recordset) Dim cn As ADODB.Connection Set cn = New ADODB.Connection cn.Open ("provider=msdasql;dsn=mySalesDB") Dim rs As ADODB.Recordset Set rs = New ADODB.Recordset rs.Open "customer", cn, adOpenKeyset ‘Table or SQL Dim rc As Integer Do While Not rs.EOF rc = rc + 1 rs.MoveNext Loop MsgBox (rc)

Recordset Properties BOF, EOF BookMark CursorLocation CursorType LockType MarshalOption MaxRecords RecordCount Sort

Recordset Methods AddNew, Update, Delete Find: Search a recordset. MoveFirst, MoveLast, MoveNext, MovePrevious Requery: Re-Execute the query. GetRows: Fetch records to an array.

Recordset Events FetchProgress, FetchComplete WillChangeField, FieldChangeComplete WillMove, MoveComplete WillChangeRecord, RecordChangeComplete WillChangeRecordset, RecordsetChangeComplete EndOfRecordSet

Using SQL with ADO SQL Select commands: –Connection object’s Execute method –Command object’s Execute method –RecordSet object’s Open SQL Update commands: Insert, Delete, Update –Connection object’s Execute method Cn.Execute “Update EmpFile Set Salary = Salary*1.05” –Command object’s Execute method sqlSTr = " Update EmpFile Set Salary = Salary*1.05” cm.CommandType = adCmdText cm.CommandText = sqlSTr cm.ActiveConnection = cn cm.Execute

Private Sub Form_Load() Dim cn As ADODB.Connection Set cn = New ADODB.Connection cn.Open ("provider=microsoft.jet.oledb.4.0;data source=c:\salesDB.mdb;") 'cn.Open ("provider=msdasql;dsn=mySalesDB") Dim rs As ADODB.Recordset Set rs = New ADODB.Recordset rs.Open "select cid from customer", cn, adOpenKeyset Do While Not rs.EOF List0.AddItem (rs.Fields("cid")) rs.MoveNext Loop End Sub Private Sub List0_Click() Dim cn As ADODB.Connection Set cn = New ADODB.Connection cn.Open ("provider=microsoft.jet.oledb.4.0;data source=c:\salesDB.mdb;") 'cn.Open ("provider=msdasql;dsn=mySalesDB") Dim rs As ADODB.Recordset Set rs = New ADODB.Recordset rs.Open "select cname from customer where cid = '" & List0 & "'", cn, adOpenKeyset MsgBox (rs.Fields(0)) End Sub

Dim rating As String If Frame13 = 1 Then rating = "A" ElseIf Frame13 = 2 Then rating = "B" Else rating = "C" End If db.Execute ("update customer set rating='" & rating & "' where cid='" & List0 & "'") Text9 = rating

Recordset’s AddNew –A form with unbound textboxes is initialized for input. –After entering data, a Save/Add button is clicked and the event handler uses a pair of AddNew and Update methods to insert record. Note: We can also use SQL Insert

Unbound Control Input Example Private Sub Command8_Click() Dim cn As ADODB.Connection Set cn = New ADODB.Connection cn.Open ("provider=microsoft.jet.oledb.4.0;data source=c:\salesDB.mdb;") 'cn.Open ("provider=msdasql;dsn=mySalesDB") Dim rs As ADODB.Recordset Set rs = New ADODB.Recordset rs.Open "customer", cn, adOpenDynamic, adLockOptimistic With rs.AddNew.Fields("cid") = Text0.Fields("cname") = Text2.Fields("city") = Text4.Fields("rating") = Text6.Update End With End Sub

Find Method Syntax: adoRecordsetName.Find criteria Only accept simple comparison criteria. Example: –recordset.Find “CID = ‘” & txtCID & “’” Finding employees hired between 2/15/2000 and 5/15/2000: –Adodc1.recordset.Find “Hdate > #2/15/2000#” Then use IF statement in program to filter out those hired after 5/15/2000 Note: Search starts from the current position. To search from the beginning, must do: MoveFirst If no match is found, the EOF of the recordset will be set to True. Note: The search starts from the current position of the recordset. To start from the beginning, use the MoveFirst method.

Find Code Example Dim searchID As String searchID = InputBox("enter searchID:") rs.MoveFirst rs.Find "cid='" & searchID & "'" If Not rs.EOF Then Text0 = rs.Fields("cid") Text2 = rs.Fields(1) Else MsgBox ("not found") End If Demo

Using the BookMark Bookmark is a variant type property that keeps the current recordset’s position. This position can be saved in a variant variable and later go to that position.

BookMark Example To save bookmark: Dim BkMark As Variant Private Sub Command5_Click() BkMark = rs.Bookmark End Sub To go to the saved bookmark location: Private Sub Command6_Click() rs.Bookmark = BkMark Text0 = rs.Fields("cid") Text2 = rs.Fields("cname") End Sub