Tworzenie aplikacji bazodanowych w.NET Piotr Dzierżak
Plan seminarium 1. Wstęp oraz omówienie podstawowych pojęć. 2. Utworzenie bazy danych oraz tabel w SqlServer Stworzenie prostej aplikacji która będzie obsługiwać bazę danych. 4. Podsumowanie 1. Wstęp oraz omówienie podstawowych pojęć. 2. Utworzenie bazy danych oraz tabel w SqlServer Stworzenie prostej aplikacji która będzie obsługiwać bazę danych. 4. Podsumowanie
Co jest nam potrzebne? Microsoft SQLServer 2005 Microsoft Visual Studio 2005
Podstawowe pojęcia Baza danych Tabela System.Data.SqlClient Provider SqlConnection SqlCommand Baza danych Tabela System.Data.SqlClient Provider SqlConnection SqlCommand
Obiektowy model ADO.NET DataAdapter Connection Database Command.ASPX Page List-Bound Control DataReader Company: Northwind Traders.ASPX Page DataView DataSet
SQLClient Data Provider Demonstracja użycia SQLClient data provider do wstawiania rekordów w tabeli SqlConnection SqlCommand Insert Query 1 2 SQL Database
SQLClient Data Provider 1SqlConnection myCn = new SqlConnection("server=srv;uid=;pwd=;database=northwind"); 2SqlCommand myCmd = new SqlCommand("INSERT INTO Customers(CustomerID, CompanyName) Values ('ABC','ABC Company')", myCn); 3 try { 4 myCn.Open(); 5 myCmd.ExecuteNonQuery(); // wstawiamy rekord } 6 catch(Exception e) { 7 Console.Write(„Nie można wstawić wiersza: " + e.ToString()); } 8 finally { 9 myCn.Close();// zamykam połączenie } 1SqlConnection myCn = new SqlConnection("server=srv;uid=;pwd=;database=northwind"); 2SqlCommand myCmd = new SqlCommand("INSERT INTO Customers(CustomerID, CompanyName) Values ('ABC','ABC Company')", myCn); 3 try { 4 myCn.Open(); 5 myCmd.ExecuteNonQuery(); // wstawiamy rekord } 6 catch(Exception e) { 7 Console.Write(„Nie można wstawić wiersza: " + e.ToString()); } 8 finally { 9 myCn.Close();// zamykam połączenie }
U ż ycie SqlDataReader SqlConnection SqlCommand ExecuteReader() SqlDataReader 1 2 SQL Database Dzięki użyciu SqlDataReader w szybki sposób możemy czytać informacje z bazy danych.
U ż ycie SqlDataReader 1 SqlDataReader myReader = null; 2 SqlConnection myCn = new SqlConnection(ConStr); 3 SqlCommand myCmd = new SqlCommand("select * from stores", myCn); try { 4 myCn.Open(); 5 myReader = myCmd.ExecuteReader (CommandBehavior.CloseConnection); 6 while (myReader.Read()) { 7Console.WriteLine(myReader[“StoreLocation"].ToString()); } 9 catch(Exception e) { 10 Console.WriteLine(e.ToString()); } finally { 11 if (myReader != null) 12 myReader.Close(); } 1 SqlDataReader myReader = null; 2 SqlConnection myCn = new SqlConnection(ConStr); 3 SqlCommand myCmd = new SqlCommand("select * from stores", myCn); try { 4 myCn.Open(); 5 myReader = myCmd.ExecuteReader (CommandBehavior.CloseConnection); 6 while (myReader.Read()) { 7Console.WriteLine(myReader[“StoreLocation"].ToString()); } 9 catch(Exception e) { 10 Console.WriteLine(e.ToString()); } finally { 11 if (myReader != null) 12 myReader.Close(); }
SqlDataReader oraz Stored Procedures 1 string connection Source=piodi\piodi;Initial Catalog=moja_baza;Integrated Security=True"; 2 SqlConnection conn = new SqlConnection(connection); 3 int result = 0; 4 SqlCommand cmd = new SqlCommand("jaka_cena", conn); 5 cmd.CommandType = CommandType.StoredProcedure; 6 SqlDbType.NVarChar).Value = comboBox1.Text; try { 7 conn.Open(); 8 SqlDataReader dr = cmd.ExecuteReader(CommandBehavior.SingleRow); 9 while (dr.Read()) { 10 result = (int)dr["cena"]; } 11 cena_lab.Text = result.ToString(); 12 dr.Close(); 13 conn.Close(); } 14 catch (SqlException ex) { cena_lab.Text = ex.Message; } 1 string connection Source=piodi\piodi;Initial Catalog=moja_baza;Integrated Security=True"; 2 SqlConnection conn = new SqlConnection(connection); 3 int result = 0; 4 SqlCommand cmd = new SqlCommand("jaka_cena", conn); 5 cmd.CommandType = CommandType.StoredProcedure; 6 SqlDbType.NVarChar).Value = comboBox1.Text; try { 7 conn.Open(); 8 SqlDataReader dr = cmd.ExecuteReader(CommandBehavior.SingleRow); 9 while (dr.Read()) { 10 result = (int)dr["cena"]; } 11 cena_lab.Text = result.ToString(); 12 dr.Close(); 13 conn.Close(); } 14 catch (SqlException ex) { cena_lab.Text = ex.Message; }
Otrzymywanie informacji używając DataSet SqlConnection SqlDataAdapter DataSet Fill TablesRows SQL Database
Otrzymywanie informacji używając DataSet 1 SqlConnection myCn = new SqlConnection(cnStr); 2 SqlDataAdapter myDA = new SqlDataAdapter(“Select * from Customers", myCn); try { 3 DataSet myDataSet = new DataSet(); 4 myDA.Fill(myDataSet, "myCustomers"); 5 foreach (DataRow myDataRow in myDataSet.Tables["myCustomers"].Rows) { 6Console.WriteLine(myDataRow["CustomerId"].ToString() + " " + myDataRow["CompanyName"].ToString()); } catch (Exception e) { 7Console.WriteLine(e.Message.ToString()); }
KONIEC Kontakt: