Using SQL inside C# Presentation
Download
Report
Transcript Using SQL inside C# Presentation
Databases – Unit 3 & 4
SQL is not restricted to a specific database,
however in class we will be looking at the two
major database programmes in use
Access – basic database, usable for academic
purposes and basic data purposes
SQL Server – industry recognised database,
more adaptable, more ‘in depth’
Made up of US English based ‘key words’
US? US spelling of words is used throughout
programming languages due to their origins:
Colour is coded as color (feel free to twitch)
ADO.Net provides a ‘namespace’ for all
possible database connections
System.Data.OleDb
System.Data.SqlClient
Each namespace contains all the functions
you will need to manipulate the database and
data inside it
Access database
SQL Server database
ADO has different versions as it has
developed
In version 2.1 more objects were released,
ADOX is essentially: ADO eXtrensions
In ADOX all objects use Generalisation to
define objects (remember the essays?)
Dataset – stores all data held in ‘cache’
DataAdapter – represents a bridge between
the Dataset and Database holding the:
▪ Connection String
▪ SQL Commands
Connection – the address of your Datasource
(aka database)
Before you can create any functional SQL
your application must be able to connect to
your database.
All database connections are called a
‘connection string’
These can be set as global variables or ‘per
page’ connections may also be set
public void ConnectToAccess()
{
System.Data.OleDb.OleDbConnection conn = new
System.Data.OleDb.OleDbConnection();
Call an instance
of ADO.Net
namespace
conn.ConnectionString =
@"Provider=Microsoft.Jet.OLEDB.4.0;" + @"Data source=
C:\Documents and Settings\username\" + @"My
Documents\AccessFile.mdb";
try { conn.Open(); }
catch (Exception ex)
{ MessageBox.Show("Failed to connect to data source"); }
finally { conn.Close(); }
}
Why create a table?
Temporary tables may be created, filled and
deleted
Why? Memory Management – A large update is
quicker than many small updates
try
{
conn.Open();
string strTemp = " [FirstName] Text, [LastName] Text ";
OleDbCommand myCommand = new OleDbCommand();
myCommand.Connection = conn;
myCommand.CommandText = "CREATE TABLE tbl_People("
+ strTemp + ")";
myCommand.ExecuteNonQuery();
}
try
{
conn.Open();
string strTemp = " [FirstName] = " + txtFname.text + ", [LastName] = " +
txtLname.Text;
OleDbCommand myCommand = new OleDbCommand();
myCommand.Connection = conn;
myCommand.CommandText = “INSERT INTO tbl_People(" + strTemp +
")";
myCommand.ExecuteNonQuery();
}
The Datagrid is a massively useful tool
for showing multiple records of data
Using a simple statement records can
be shown as a read only table or an
editable form
private void Form1_Load(object sender, System.EventArgs e)
{
Try
{
OleDbDataAdapter da = new OleDbDataAdapter("SELECT * FROM
Student","Provider=Microsoft.JET.OLEDB.4.0;data source=C:\\mcb.mdb" );
DataSet ds = new DataSet();
da.Fill(ds, “Fname");
dataGrid1.DataSource = ds.Tables[“FName"].DefaultView ;
}
catch (Exception ex)
{ MessageBox.Show("Failed to connect to data source"); }
finally { conn.Close(); }
}
Create yourself a set of revision notes for the
SQL code used here. This should include:
A Table of Keywords and their uses
An explanation of ADO
An explanation of connection strings
An explanation of a dataset