it is the primary data access model for.net applications next version of ado can be divided into...
TRANSCRIPT
It is the primary data access model for .Net applications
Next version of ADO Can be divided into two parts
◦ Providers◦ DataSets
Resides in System.Data namespace
It enables connection to the data source
Each data source has it’s own connection provider
Common data access objects◦ Connection◦ Command◦ Parameter◦ DataAdapter◦ DataReader
It provides the connection that is used for accessing data source
Common types◦ OleDbConnection◦ OdbcConnection◦ SqlConnection
Object Linking and Embedding Database
It aims to access to specific set of data sources from .Net applications
Continuous access to data source even path of the source is changes.
Odbc vs OleDb
System.Data.OleDb
Commonly used properties and functions
◦ ConnectionString◦ ConnectionTimeout◦ BeginTransaction()◦ Close()◦ CreateCommand()◦ Open()
To add a connection object to the form, just drag and drop an OleDbConnection from the toolbox
Use ConnectionString property in to Properties Window to set connection information.
DataLink properties window will be opened when you ConnectionString property click
From the first tab select the type of data provider
To define a connection to an access database, you should select Microsoft Jet 4.0 OLE Db Provider
It performs CRUD (Create-Read-Update-Delete) operations on the database.
Common Types◦ OdbcCommand◦ OleDbCommand◦ SqlCommand
It uses OleDb framework
Common properties and functions
◦ CommandText◦ Connection◦ Parameters◦ Transaction◦ ExecuteNonQuery()◦ ExecuteReader()
Constructors
◦ OleDbCommand()
◦ OleDbCommand(string cmdText)
◦ OleDbCommand(string cmdText, OleDbConnection myoledbConn)
◦ OleDbCommand(string cmdText, OleDbConnection myoledbConn, OleDbTransaction myoledbtrans)
Type of the object
Name of the object
Connection object
The SQL command that
will be run
It provides a data parameter to command object
Usage;◦ First crate a command object with an SQL
statement which contains special characters for placing parameters.
◦ Add parameters to the command object with assigning values
◦ Execute the command object
Adding parameters
Type of the parameter
Length of the parameter
Assigning values to the parameter
Used for retrieving data from datasource without modifying the actual data (works readonly)
Common types◦ OdbcDataReader◦ OleDbDataReader◦ SqlDataReader◦ OracleDataReader◦ Db2DataReader
It has no public constructor. So, to crate a DataReader object you should call ExecuteReader() function of the releates command object.◦ OleDbDataReader ordr = ocmd.ExecuteReader();
When Read() fucntion is called, DateReader object starts to read data or moves to next record.◦ if(ordr.Read())◦ while(ordr.Read())
To access actual data one should use indexes or Get functions of the reader◦ ordr[0].ToString();◦ ordr[“NameOfTheColumn”].ToString()◦ ordr.GetString(0);
If you plan to continue to use Connection object (e.g. to execute another SQL statement), then you should call Close() function of the reader object.◦ ordr.Close();
Common properties and functions◦ IsClosed◦ FieldCount◦ GetInt32(), GetDecimal(), GetString() ......◦ IsDBNull()◦ Read()◦ Close
Reader object
If there is data to be
read
Create reader object by
executing the command
Fetch the data by providing the column
number on the current row
Reader object
If there is data to be
read
Create reader object by
executing the command
Fetch the data by providing the column
name on the current row
Filter a set of data Eleminates row mismathcing rows, passes
matching ones. If a select sql is executed without a where
keyword, then all rows in tables that are used in select sql will be returned.
It needs columns in order to be used Pay importance to data types while using
where keyword.
SELECT * FROM PERSONEL WHERE ADI = ‘ALİ’◦ This query will return all rows in table PERSONEL whose name are
equal to ALİ◦ where keyword should be used after table name◦ After then we should write filter statements
SELECT * FROM PERSONEL WHERE ADI LIKE ‘AL%’◦ This query will return all rows in table PERSONEL whose name
starts with AL◦ LIKE keyword is used to search for specified patterns in a column.
SELECT * FROM PERSONEL WHERE ADI = ‘ALİ’ AND SOYADI = ‘KAYA’◦ Where keyword may include multiple filtering statements◦ The sql query seen above will return the rows with name equals
ALİ and surname equals KAYA
It is used for erasing records from table
Generally used with where keyword
It is an irreversible operation (unless used within a transaction), so use it very carefully.
To execute a delete sql, first put it in to a command object, then call ExecuteNonQuery function.
DELETE FROM PERSONEL◦ Deletes all rows (records) in table PERSONEL
DELETE FROM PERSONEL WHERE AGE < 18◦ Deletes rows in table PERSONEL who are younger
then 18
DELETE FROM PERSONEL WHERE ADI LIKE ‘AL%’◦ Deletes rows in table PERSONEL whose names
starts with AL
It is used for changing values in a tables More effective then delete->insert Usually used with where keyword User should supply column names that will
be updated To execute a update sql, first put it in to a
command object, then call ExecuteNonQuery function.
UPDATE PERSONEL SET ADI = ‘ALİ’◦ Changes all names to ALİ in table PERSONEL
UPDATE PERSONEL SET YAS = 18 WHERE YAS < 18 AND SOYAD = ‘KAYA’◦ Sets the age value of the records to 18 who are
younger than 18 and surname is KAYA
This operation is called JOIN operation It combines desired columns from multiple
tables in to one data set. Usually one column of a table is matched to
anoter related column in other table If two tables have column with same name,
then we should write table names before column names to get over confusion
ID ST_NAME
ST_SURNAME
1 ALİ KAYA
2 VELİ TAN
ID LC_NAME
5 PHYSICS
6 CHEMISTRY
ID ST_ID LC_ID GRADE
1 1 5 50
2 1 6 30
3 2 5 80
STUDENTS LECTURES
GRADES
Id, name and surnames are stored in STUDENT table
Id and lecture names are stored in LECTURES table
In grades table we store the scores of students in courses
How to find the score of a student in a specified lecture.
Answer: We have to combine (join) three tables.
How?◦ Pick the id of the student from STUDENTS table◦ Pick the lecture information from LECTURES table◦ Pick the lectures that student attends from
GRADES table◦ Fetch grades of students from desired lessons
from GRADES table
Joining
◦ Join STUDENTS (ID) with GRADES(ST_ID)
◦ Join LECTURED(ID) with GRADES(LC_ID)
To select student name, surname, attended lectures and grades we should write the following SQL query
SELECT ST_NAME, ST_SURNAME, LC_NAME, GRADE FROM STUDENTS, GRADES, LECTURES
WHERE STUDENTS.ID = GRADES.ST_ID AND LECTURES.ID = GRADES. LC_ID