neal stublen nstublen@jccc edu
Download
Skip this Video
Download Presentation
C#: Introduction for Developers

Loading in 2 Seconds...

play fullscreen
1 / 43

C#: Introduction for Developers - PowerPoint PPT Presentation


  • 89 Views
  • Uploaded on

Neal Stublen [email protected] C#: Introduction for Developers. Inheritance Walkthrough. Interfaces. What’s an interface?. It’s like a class with… No member data All methods are public All methods are abstract An interface implies nothing about the implementation behind it

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' C#: Introduction for Developers' - ince


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
what s an interface
What’s an interface?
  • It’s like a class with…
    • No member data
    • All methods are public
    • All methods are abstract
  • An interface implies nothing about the implementation behind it
  • A class can only inherit from one class
  • A class can implement multiple interfaces
    • Interfaces often represent only a portion of a class’ functionality
example interface
Example Interface

public interface IStreamable

{

bool Read(FileStreaminInput);

bool Write(FileStreaminOutput);

}

public interface IHTMLDisplayable

{

void Render(OutputStreaminStream);

}

what s a generic class
What’s a generic class?
  • A class definition that doesn’t explicitly declare all of the types it uses internally
  • Allows creation of new types by specifying those internal types later
common generics
Common Generics
  • Collection classes
  • Math classes
  • Enumeration (foreach)
    • IEnumerable<T>
generic constraints
Generic Constraints

public class MyGeneric<T> where T: class

{

// T is a class (can be assigned null)

}

public class MyGeneric<T> where T: class, IComparable<T>

{

// T implements IComparable interface

}

public class MyGeneric<T> where T: struct

{

// T is a struct

}

public class MyGeneric<T> where T: new()

{

// T has a default constructor

}

generics example
Generics Example

class Average<T>

{

public void Include(T inValue);

public T Average

{

get { ... }

}

}

Average<int> integerAverage;

Average<double> doubleAverage;

code organization
Code Organization
  • Multiple classes in a single file
    • Closely related classes (e.g. EventArgs)
  • Nested classes
    • Objects that only exist within the context of another type of object
  • Split a single class over multiple files
    • Forms split Designer code into separate file
    • Possible to split interface implementations into separate files
namespaces
Namespaces
  • Organize classes into logical groupings
  • Avoid name collisions
  • using <namespace>
  • <namespace>.<ClassName>

using ns1

{

using ns2

{

}

}

using ns1.ns2

{

}

class libraries
Class Libraries
  • Share class across multiple projects
  • Projects “reference” other projects
  • Move Product, Book, Movie into Product class library
databases
Databases
  • Client-server architecture
    • One server, many clients
    • Server runs Microsoft SQL Server
    • Clients use ADO.NET 4
  • Relational databases
    • SQL (Structured Query Language)
tables
Tables
  • Tables store data
  • One or more records (rows)
  • A primary key uniquely identifies each row
  • Indexes provide an efficient way to access data based on values in specific columns
relations among tables
“Relations” Among Tables
  • Key columns are used to relate tables
  • Foreign keys correspond to primary keys in another table
    • One-to-many
    • One-to-one
    • Many-to-many
table columns
Table Columns
  • Columns are defined by a name and data type
    • bit
    • char, varchar, text
    • datetime, smalldatetime
    • decimal, numeric
    • float, real
    • bigint, int, smallint, tinyint
    • money, smallmoney
column values
Column Values
  • null – maybe, maybe not
  • Default value
  • Identity column (auto-increment)
  • Constraints
select
SELECT
  • Select data from a database
    • SELECT column_name,column_nameFROM table_name;
    • SELECT * FROM table_name;
inner join
INNER JOIN
  • Select all rows from two table where specified columns have matching values
    • SELECT column_name(s)FROM table1INNER JOIN table2ON table1.column_name=table2.column_name;
    • SELECT column_name(s)FROM table1JOIN table2ON table1.column_name=table2.column_name;
  • INNER JOIN is the same as JOIN
add update delete
ADD, UPDATE, DELETE
  • Add a row to a table
    • INSERT INTO table_nameVALUES (value1,value2,value3,...);
    • INSERT INTO table_name (column1,column2,column3,...)VALUES (value1,value2,value3,...);
  • Update a row in a table
    • UPDATE table_nameSET column1=value1,column2=value2,...WHERE some_column=some_value;
  • Delete a row from a table
    • DELETE FROM table_nameWHERE some_column=some_value;
online reference
Online Reference
  • Tutorials and references
    • http://w3schools.com/sql
ado net1
ADO.NET
  • Data providers
    • SQL Server
    • OLE DB
    • ODBC
    • Oracle
  • Third party
    • MySQL
    • SQLite
components
Components
  • Database server
  • .NET data provider
    • Connection
    • Command
    • Data adapter
  • Dataset
database concurrency
Database Concurrency
  • Multiple clients accessing data
  • ADO.NET datasets are “disconnected”
  • Optimistic concurrency
    • Check for data changes before writing
    • Throw an exception if data has changed
  • “Last in wins”
    • Data is written by last operation
    • Data may be lost
avoid concurrency issues
Avoid Concurrency Issues
  • Update and refresh datasets frequently
  • Avoid updating large tables in datasets
  • Only reduces risk!
    • You still must handle the exceptions
datasets
Datasets
  • Dataset contains a collection of tables
    • Not necessarily the same table from the database
    • May be a subset of columns and rows
    • May be joined to another table
  • Tables contain a collection of columns
  • Tables contain a collection of rows
  • Tables contain a collection of constraints
  • Dataset contains a collection of relations
  • Everything is accessed through object properties
alternatives to datasets
Alternatives to Datasets
  • You can use Command and Connection objects directly
  • Select, Insert, Update, Delete
dataset summary
Dataset Summary
  • Instead of a database, we can pull data from:
    • WCF Data Services
    • Custom objects
    • SharePoint
  • Entity Framework
    • Object-relational mapping framework
    • Maps database table data to C# objects
  • View > Server Explorer
dataset summary1
Dataset Summary
  • Connection strings can be stored in app.config
  • Allows reuse of the connection string
  • A dataset can be modified in Visual Studio to add tables, columns, etc.
  • Visual Studio generates .xsd schema files for the dataset
datagridview control
DataGridView Control
  • Bound control
  • Table view of the dataset
  • Multiple objects are added to the form
other bound controls
Other Bound Controls
  • Change default data control for table in Data Sources
  • Change default data control for columns in Data Sources
behind the scenes
Behind the Scenes…
  • Load event is updated for the form
  • Save click event is updated for the binding navigator
ad