* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download Using SQL inside C# Presentation
Survey
Document related concepts
Oracle Database wikipedia , lookup
Microsoft Access wikipedia , lookup
Entity–attribute–value model wikipedia , lookup
Ingres (database) wikipedia , lookup
Concurrency control wikipedia , lookup
Extensible Storage Engine wikipedia , lookup
Microsoft SQL Server wikipedia , lookup
Functional Database Model wikipedia , lookup
Open Database Connectivity wikipedia , lookup
Microsoft Jet Database Engine wikipedia , lookup
Relational model wikipedia , lookup
ContactPoint wikipedia , lookup
Transcript
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