UTS Session2 dotNET2007 Paul v2

Uploaded from authorPOINTLite
Views:
 
Category: Education
     
 

Presentation Description

No description available.

Comments

Presentation Transcript

Developing Windows and Web Applications using Visual Studio.NET : 

Developing Windows and Web Applications using Visual Studio.NET Presented by Paul Sorauer

Admin Stuff: 

Admin Stuff Attendance You initial sheet Hands On Lab You get me to initial sheet Homework Certificate At end of 10 sessions If I say you have completed successfully 

About Paul: 

About Paul Senior Software Architect at SSW Specialized in Windows Applications Web Applications Windows/Web Data Binding Web Services Windows Communication Foundation Windows Workflow Speaker at Sydney .Net Usergroups & UTS lectures

Session 1: Overview: 

Session 1: Overview Agenda What is Data Binding? What is ADO.NET? Using ADO.NET in your application DataSets – the Data Powerhouse Untyped vs Typed DataSets Layers vs. Tiers Smart Client Application Architecture Demonstrations

What Is Data Binding: 

What Is Data Binding

Slide6: 

Session Prerequisites (Current Problems) In ADO (VB6/Access) “Long, tedious and error prone data layer ” “All of our users are connecting to the one database – everything takes so long!” “We want to integrate with other systems” “1 million row limitation”

Slide7: 

Enter ADO.NET… ADO.NET gives you full control over how you access and retrieve data from the data source Work in disconnected mode Web Services let you access your data from any platform, anywhere

Slide8: 

Under the Hood… WebForm Apps WinForm Apps DataSets SQL Data Providers SQLConnection SQLCommand SQLDataAdapter SQLDataReader SQL Data XML Data Access Data … ADO.NET

Slide9: 

Key Objects To Know SQLConnection Manages the connection to the database SQLCommand Defines the data to be read, updated etc. SQLDataAdapter Runs the SQLCommand against the database DataSet A complete in-memory copy of the data (tables, relationships, data types…) Search, filter, navigate your data – without even being connected to the database!

DataSets or Not: 

DataSets or Not Why use DataSets A highly functional container for data that can be strongly typed Automatic change tracking for contained data Seamless data-binding support If Not DataSets What Can We Use Objects Object Collections

DataSets: 

DataSets Untyped DataSet Data columns do not have a type, e.g. String, Int Have to access columns by their string name Eg. int FullName = Integer.Parse(DataRow(“FullName”))); would fail Run-time errors only - no data type checking Do not use Typed DataSet Data columns are typed Eg. int FullName= DataRow.FullName; would fail at design time Validation – Primary Key, Foreign Key Can check types at design time – no surprises Defensive / proactive programming The way to go

Data-Bound Controls: 

Data-Bound Controls Most of the controls that ship with .NET Framework support data binding These controls inherit from the Control base class, which implements IBindableComponent interface Few additional control level data-binding properties DataSource, DataMemeber, DisplayMember and ValueMember You also can design your own controls or purchase 3rd party controls

Important Data-Bound Controls: 

Important Data-Bound Controls DataSets can be bound to these controls Listbox ComboBox DataGridView Not TreeView

Layered Application Architecture: 

Layered Application Architecture Divide the functions of your application into separate layers Most common approach presentation, business logic and data access layers “What is the point?” Easy maintenance Reuse data access class in multiple places

Typical Application Layers: 

Typical Application Layers

Layers vs. Tiers: 

Layers vs. Tiers A layer is a logical separation of a module of code from the rest of the application A multi-layer application may often run on a single machine, often within a single process A tier usually means physical separation at the machine level or, at a minimum, at the process level

Typical Smart Client Application Architecture: 

Typical Smart Client Application Architecture

Repetitive: 

Repetitive What if you had to work with 100 tables? Code Generation There are thousands out there They read the database and all the tables Automatically generate Data Sets Data Adapters Popular Code Generation Tool N-Tiers N-Hibernate DLINQ (.Net 3.5)

Demonstrations: 

Demonstrations Single Data Entry Form Search Form with a DataGridView Master-Details Data Binding

Summary: 

Summary What is ADO.NET? The new version of ADO Built-in support for XML Using ADO.NET in your application Some work required Can be reduced by using Code Generators DataSets – the Data Powerhouse Typed DataSets are better

Resources: 

Resources What’s New in ADO.NET 2.0 Julia Lerman, MSDN Magazine April 2005 Caching Improvements in ASP.NET Whidbey G. Andrew Duthie, MSDN Online February 2004 Improved Caching in ASP.NET 2.0 Stephen Walther, MSDN Online, June 2004 Asynchronous Command Execution in ADO.NET 2.0 Pablo Castro, MSDN Online, July 2004 ADO.NET and System.Xml v.2.0 – The Beta Version Alex Homer, Dave Sussman, Mark Fussell, Addison-Wesley, March 2005 New Features for Web Service Developers in Beta 1 of the .NET Framework 2.0 Elliot Rapp,Yasser Shohoud and Matt Travis, MSDN Online, July 2004

Resources cont.: 

Resources cont. Using CLR Integration in SQL Server 2005 Multiple Authors from Microsoft Corporation, MSDN Online, Nov 2004 ADO.NET 2.0 Multiple Active Result Sets per connection in Sql Server 2005 (MARS) FAQ Angel Saenz-Badillos, Weblog Post, Sept 7, 04 (blogs.msdn.com/angelsb) Transaction Processing in ADO.NET 2.0 William Ryan, Sept 14, 2004, 15 Seconds website (www.15seconds.com) Query Notifications in ADO.NET 2.0 Bob Beauchemin, MSDN Online, September 2004 Whats new in ADO.NET 2.0 http://msdn2.microsoft.com/library/ex6y04yf(en-us,vs.80).aspx

2 things: 

2 things paulsorauer@ssw.com.au