360 likes | 494 Vues
Data Access. Tonga Institute of Higher Education. Introduction. Many programs work with large amounts of data Databases are an good place to store data Programs need a way to connect to, get data from and save data to databases
E N D
Data Access Tonga Institute of Higher Education
Introduction • Many programs work with large amounts of data • Databases are an good place to store data • Programs need a way to connect to, get data from and save data to databases • ActiveX Data Objects .Net (ADO .Net) provides way to access data from Object Linking and Embedding Database (OLE DB)-compliant data sources such as SQL Server and Oracle.
ADO .Net Components • .Net Data Providers – Objects designed for connecting to a database, executing commands and retrieving results • Connection • Command • DataReader • DataAdapter
Connection Object • Connection Object – Provides connectivity to a data source • SQLConnection object – Allows connection to a Microsoft SQL Server 7.0 or later database • Located in System.Data.SQLClient namespace • OLEDbConnection object – Allows connection to an OLE DB data source • Located in System.Data.OleDb namespace • Microsoft Access is an OLE DB compliant database
Connection Strings • The SQLConnection and OLEDbConnection objects both use connection strings to connect to a data source • Connection String – Provides information needed to connect to a database • You do not need to include everything in a connection string. Only include what is needed. • SQLConnection object • SQL Server • Initial Catalog=pubs;Data Source=(local);User ID=sa;password=; • OLEDbConnection object • Oracle • Provider=msdaora;Data Source=MyOracleDB;User ID=myUsername;Password=myPassword; • Microsoft Access • Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\northwind.mdb • Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\\tihe1\student.mdb You don’t always need a User ID and Password Local DB Network DB
Opening and Closing Connections • Before a Connection object can work with a database, the connection must be opened • Use the Open() method • After the Connection object is used, the connection must be closed • Use the Close() method
Command Object • Command Object – Enables the execution of queries and return of data from a data source • A Connection object must be specified to connect to a data source • A SQL statement must be specified for execution at the data source • There are different ways to execute SQL statements • ExecuteNonQuery() – Use this when data will not be returned • ExecuteReader() – Use this when data will be returned
ExecuteNonQuery Code ExecuteNonQuery does not return anything
Demonstration Connections, Commands and ExecuteNonQuery
DataReader Object • DataReader Object – Provides a stream of data from the data source • Useful members • FieldCount • Get<DataType> • GetByte • GetString • And more • HasItems • Item • Read
DataReader and ExecuteReader Code Using a DataReader to display data from database ExecuteReader returns A DataReader Keeps looping until all rows are read Gets string from first index
Demonstration Connections, Commands and DataReader.ExecuteReader Code
DataSet Object • DataSet –An in-memory database • Useful members (* covered later) • Clear • Tables* DataSet
DataTable Object • A DataTable object is an in-memory database table. It contains: • Rows and columns of data • Primary key, foreign key, constraint and relation information about the data • Useful members (* covered later) • ChildRelations* • Clear • Columns* • Constraints* • DataSet • NewRow • ParentRelations* • PrimaryKey • TableName DataTables
DataColumn Object • A DataColumn object represents a table column • Useful members • AllowDBNull • AutoIncrement • AutoIncrementSeed • AutoIncrementStep • Caption • ColumnName • DataType • DefaultValue • MaxLength • Ordinal • Table • Unique DataColumn
DataRow Object • A DataRow Object represents a row of data in a table • Useful members • Item • Table DataRow
Demonstration DataSets, DataTables, DataColumns and DataRows
DataTableCollection • A DataTableCollection contains DataTables • Access the DataTableCollection of a DataSet by using the Tables property • Useful members • Add • Count • Clear • Item • Remove
Demonstration DataTableCollection
DataColumnCollection • A DataColumnCollection contains DataColumns • Access the DataColumnCollection of a DataTable by using the Columns property • Useful members • Add • Count • Clear • Item • Remove
Demonstration DataColumnCollection
DataRowCollection • A DataRowCollection contains DataRows • Access the DataRowCollection of a DataTable by using the Rows property • Useful members • Add • Count • Clear • Item • Remove
Demonstration DataRowCollection
DataAdapter Object • DataAdapter – Used to retrieve data from a database and put it in a DataSet. Can also send changes from the DataSet to the database • Useful members • Fill • Update
DataAdapter Code The Fill method opens the Connection if the connection is not already open. If Fill opened the connection, it will also close the connection.
Demonstration DataAdapter Object
Programmatically Creating DataSet Objects • DataSets, DataTables, DataRows and DataColumns are all objects • We can create and customize all of these objects
Demonstration Programmatically Creating DataSet Objects
DBNull, Nothing and “” • There is a difference between having • No Data And • “” • In a database, use null when you have no data • In VB.Net • Use “” when you have an empty string • Use nothing when there is no data in a variable • Use dbnull when there is no data in a database field
Demonstration DBNull, Nothing and “”
Storing Single Quotation Marks in a Database • We often store SQL queries in a string • Dim SQL as String = “Insert into Students (FirstName) values (‘Tevita’)” • SQL queries use single quotation marks • To store a single quote in a database, use the single quote twice • Dim SQL as String = “Insert into Students (FirstName) values (‘Ma’’afu’)”
Demonstration Storing Single Quotation Marks in a Database
Data Access Exceptions • Often, errors occur when databases are used. • The name of the file is changed • The location of a file is incorrect • The program does not have the proper username and password to access the database • Common Data Access Exceptions • DataException - Exception that is thrown when errors are generated using ADO.NET components. • ConstraintException - Exception that is thrown when attempting an action that violates a constraint. • NoNullAllowedException - Exception that is thrown when attempting to insert a null value into a column where AllowDBNull is set to false. • ReadOnlyException - Exception that is thrown when attempting to change the value of a read-only column.
Demonstration Data Access Exceptions