Visual Basic .Net Visual Basic .Net Seminar June 7, 2004 Seminar June 7, 2004
Topics Today include Topics Today include  The .Net Framework The .Net Framework  Studio .Net Environment Studio .Net Environment  VB .Net VB .Net  Introduction to VB .Net Introduction to VB .Net  Loops and Control Structures Loops and Control Structures
The .Net Framework The .Net Framework  What is the .Net Framework What is the .Net Framework  Common Language Runtime Common Language Runtime  .Net Managed Assemblies .Net Managed Assemblies  Compilation of .Net Code Compilation of .Net Code  .Net Framework Class Library .Net Framework Class Library  .Net Languages .Net Languages  The future of .Net The future of .Net
What is the .Net What is the .Net Framework Framework  Primarily a development platform Primarily a development platform (mostly effects application (mostly effects application development) development)  Consists of two main parts Consists of two main parts – Common Language Runtime Common Language Runtime – .Net Framework Class Library .Net Framework Class Library
CLR (Common Language CLR (Common Language Runtime) Runtime)  Provides a “runtime environment” Provides a “runtime environment” for the execution of code written in for the execution of code written in ANY .Net Language ANY .Net Language  “ “Manages” Manages” – The overall execution of .Net code The overall execution of .Net code – Inheritance, Memory, Debugging, and Inheritance, Memory, Debugging, and application development across application development across Multiple languages Multiple languages
CLR (Continued) CLR (Continued)  Languages that utilizes the .Net framework must follow Languages that utilizes the .Net framework must follow the CLS the CLS – Common Language Specification Common Language Specification – Outlines the rules and standards required or needed by the Outlines the rules and standards required or needed by the CLR to execute .Net code. CLR to execute .Net code.  The CLR will execute Managed Assemblies The CLR will execute Managed Assemblies  Intermediate Languages managed by the CLR are called Intermediate Languages managed by the CLR are called Managed Code Managed Code  The CLR will manage for the IL The CLR will manage for the IL – Garbage collection Garbage collection – Object instantiation Object instantiation – Memory allocation Memory allocation  Components written in Components written in Managed Code Managed Code by the CLR are by the CLR are called .Net Managed assemblies called .Net Managed assemblies
.Net Managed Assemblies .Net Managed Assemblies  Basic Unit of deployment of .Net Basic Unit of deployment of .Net Applications Applications  Similar to the Microsoft COM Objects Similar to the Microsoft COM Objects  Each Managed Assembly contains a Each Managed Assembly contains a Manifest Manifest – Hold definitions of other components required Hold definitions of other components required for execution of the application for execution of the application – Prevents the problems associated with Prevents the problems associated with conflicting DLL’s conflicting DLL’s – Revision numbers and components are listed in Revision numbers and components are listed in the manifest the manifest – Two versions of the same DLL can then co-exist Two versions of the same DLL can then co-exist
Compilation of .Net code Compilation of .Net code  All .Net languages are first compiled into an All .Net languages are first compiled into an intermediate language called MSIL or IL (Microsoft intermediate language called MSIL or IL (Microsoft Intermediate Language) Intermediate Language)  The MSIL is then “Just In Time” (JIT) compiled at first The MSIL is then “Just In Time” (JIT) compiled at first execution of the code and managed by the CLR execution of the code and managed by the CLR  All MSIL or IL code can be compiled directly to All MSIL or IL code can be compiled directly to native code with the following native code with the following – Compiling native code will provide faster startup Compiling native code will provide faster startup execution of the code execution of the code – Performance during execution of the code will then be Performance during execution of the code will then be sacrificed sacrificed – During JIT Optimization is placed on the During JIT Optimization is placed on the Managed Code Managed Code in in order to improve performance at the time of execution order to improve performance at the time of execution
.Net Framework Class .Net Framework Class Library Library  Provide a library of base classes that Provide a library of base classes that developers can use in their own developers can use in their own applications written in ANY .Net applications written in ANY .Net language language  Because of the use of these base Because of the use of these base classes, Inheritance can then be classes, Inheritance can then be extensively used in languages that extensively used in languages that use the .Net Framework use the .Net Framework
.Net Languages .Net Languages  .Net applications can be written by any or a .Net applications can be written by any or a combination of many .Net languages combination of many .Net languages  Languages include Languages include – VB .Net VB .Net – C# C# – J# J# – Managed C++ (default in studio is set for managed C++) Managed C++ (default in studio is set for managed C++)  Applications can be developed without the use of Applications can be developed without the use of Studio .Net Studio .Net – Applications can be developed still using a simple text Applications can be developed still using a simple text editor editor – ASP .Net Applications as well as other apps can be still ASP .Net Applications as well as other apps can be still developed using notepad developed using notepad
The future of the .Net The future of the .Net Framework Framework  Standards were release in 2000 from Microsoft to the community Standards were release in 2000 from Microsoft to the community  GNU .Net is a project in the Linux community that is presently developing GNU .Net is a project in the Linux community that is presently developing a CLR to run in the Linux environment a CLR to run in the Linux environment  Languages planned to include the CLS are Languages planned to include the CLS are – APL APL – COBOL COBOL – Eifel Eifel – Fortran Fortran – Haskel Haskel – Mercury Mercury – Mondrian Mondrian – Oberon Oberon – Pascal Pascal – Perl Perl – Python Python – RPG RPG – Scheme Scheme
Studio .Net Environment Studio .Net Environment The IDE The IDE  Studio .Net Studio .Net  The Start Page The Start Page  Problems with Studio .Net in the lab Problems with Studio .Net in the lab environment environment
Studio .Net Studio .Net  All present .Net languages are included under All present .Net languages are included under one development environment one development environment – When using any one of the languages, the studio must When using any one of the languages, the studio must be used (there is no longer an environment for each be used (there is no longer an environment for each language) language) – You have to start a new solution/project You have to start a new solution/project  Projects are containers that contain the files associated Projects are containers that contain the files associated with a particular project with a particular project  A solution is a container that contains one or more A solution is a container that contains one or more projects or project containers projects or project containers  When the IDE is started you have the Projects When the IDE is started you have the Projects tab, online resources, and My Profile tab, online resources, and My Profile
The Start Page The Start Page Previous Projects Tab for this view Tab for Additional Help Profile and environment settings Start a new project Open a project in a diff. location
Problems with Studio .Net Problems with Studio .Net environment in the lab environment in the lab  .Net security must allow access to the J: drive or .Net security must allow access to the J: drive or the local intra net in order to work properly the local intra net in order to work properly  Problems arise when debugging apps on an Problems arise when debugging apps on an ASP .Net server that is not part of the current ASP .Net server that is not part of the current domain (CLC) Basic apps will still work fine domain (CLC) Basic apps will still work fine  These problems are not present if IIS and remote These problems are not present if IIS and remote debugging tools are installed on the client debugging tools are installed on the client machine machine – This solution is fine for students but is not practical for a This solution is fine for students but is not practical for a lab lab – Due to security holes of IIS you can have hundreds of Due to security holes of IIS you can have hundreds of security risks on a given network. security risks on a given network. – In the Real world situation, all apps will be placed on a In the Real world situation, all apps will be placed on a server anyway server anyway
Visual Basic .Net Visual Basic .Net  General Features General Features  Additional Features of VB .Net Additional Features of VB .Net  What has changed in VB .Net What has changed in VB .Net
General features General features  It is an object oriented language It is an object oriented language – Students do better with this subject when they have a firm understanding of Students do better with this subject when they have a firm understanding of objects objects – In the past VB had objects but focus was not placed on them In the past VB had objects but focus was not placed on them – VB .Net use objects and inheritance with everything VB .Net use objects and inheritance with everything  Uses exception handling extensively Uses exception handling extensively – New techniques are shown to the student for providing feedback from their New techniques are shown to the student for providing feedback from their programs in order to help trouble shoot errors programs in order to help trouble shoot errors – Like with most OOP languages, exceptions that are not handled will cause Like with most OOP languages, exceptions that are not handled will cause programs to abnormally end or exit programs to abnormally end or exit  Uses “generics” with creating classes and Sub programs Uses “generics” with creating classes and Sub programs – Can use the top data type on inheritance of type Object Can use the top data type on inheritance of type Object – Used for late binding of data types and is quite useful when implementing Used for late binding of data types and is quite useful when implementing stacks or queues of any data type (.Net 2.0) stacks or queues of any data type (.Net 2.0)  Provides a quick way to develop heavy duty applications in a windowing Provides a quick way to develop heavy duty applications in a windowing environment environment  It is a useful tool for developing event driven programs It is a useful tool for developing event driven programs
Additional Feature of Additional Feature of VB .Net VB .Net  Can create both windows applications and web Can create both windows applications and web applications at the click of a mouse button applications at the click of a mouse button  The interface between the Databases and applications The interface between the Databases and applications – Are the same between web apps and windows apps Are the same between web apps and windows apps – All data are transferred between the apps in XML format All data are transferred between the apps in XML format regardless if it is a web application or a windows application regardless if it is a web application or a windows application – A copy of the data from the database is loaded into a data A copy of the data from the database is loaded into a data set. set. – Persistent connections between the application and the Persistent connections between the application and the database no longer exists database no longer exists  Every form is a class and new forms now have to be Every form is a class and new forms now have to be instantiated instantiated  VB .Net is still not case sensitive VB .Net is still not case sensitive
What is Not in VB .Net What is Not in VB .Net  Data Controls Data Controls – Because of the different way that the apps connect to the Because of the different way that the apps connect to the database, there is no longer the support of data controls database, there is no longer the support of data controls in VB .Net in VB .Net – Persistent connections with the database is no longer Persistent connections with the database is no longer present present  Object instantiation is now done differently Object instantiation is now done differently  Garbage collection for references that lose there Garbage collection for references that lose there objects are done periodically not when the objects are done periodically not when the reference lose its scope reference lose its scope  Periodic changes throughout the language making Periodic changes throughout the language making it vastly different from VB 6.0 in order to make it it vastly different from VB 6.0 in order to make it compliant to the .Net Framework and the CLS compliant to the .Net Framework and the CLS
The Introduction to The Introduction to VB .Net VB .Net  Data Types in VB .Net Data Types in VB .Net  Functions and Sub Procedures Functions and Sub Procedures  Practice Examples Practice Examples
Data Types in VB .Net Data Types in VB .Net  Data Types and possible values Data Types and possible values – Integer -> -2,147,483,648 (4 bytes) Integer -> -2,147,483,648 (4 bytes) – Double -> floating point numbers with 14 digits of accuracy Double -> floating point numbers with 14 digits of accuracy (8 Bytes) (8 Bytes) – Decimal -> decimal values ( 16 bytes replaced currency in 6.0) Decimal -> decimal values ( 16 bytes replaced currency in 6.0) – Date -> the date (8 Bytes) Date -> the date (8 Bytes) – Byte -> 0 to 255 (1 Byte) Byte -> 0 to 255 (1 Byte) – Char -> Unicode character (2 Bytes) Char -> Unicode character (2 Bytes) – Boolean ->True or false value (2 Bytes) Boolean ->True or false value (2 Bytes) – Single -> floating point number with 6 digits of accuracy (4 bytes) Single -> floating point number with 6 digits of accuracy (4 bytes) – Short -> 2 byte integer Short -> 2 byte integer – Long -> 8 byte integer Long -> 8 byte integer – String -> an arrangement of alpha-numeric characters varies in String -> an arrangement of alpha-numeric characters varies in length length – Object -> any data type 4 bytes Object -> any data type 4 bytes
Functions and Sub Functions and Sub procedures / Programs in procedures / Programs in VB .Net (Methods) VB .Net (Methods)  Functions and sub procedures must either have a sub or Functions and sub procedures must either have a sub or function keyword in the function or sub procedure function keyword in the function or sub procedure heading heading  They can be either public or private (following the same They can be either public or private (following the same conventions in OOP languages such as C++ or Java) conventions in OOP languages such as C++ or Java)  All parameters are passed by value by default in VB .Net All parameters are passed by value by default in VB .Net  Parameters of any data type may be passed by reference Parameters of any data type may be passed by reference  All Objects and arrays are passed by reference not value All Objects and arrays are passed by reference not value  All events are handled by a sub procedure in VB .Net All events are handled by a sub procedure in VB .Net  Functions return a value and Sub Procedures do Not Functions return a value and Sub Procedures do Not
Practice example Practice example 1 1  You can use the text book given to you to You can use the text book given to you to get the basics needed in programming VB get the basics needed in programming VB starting on page 477 starting on page 477  Getting familiar with VB .Net Getting familiar with VB .Net – Write a program that will take text from one Write a program that will take text from one text box and place that text in another text text box and place that text in another text box with a click of a button box with a click of a button – Take a look at the attributes of each control Take a look at the attributes of each control  A control can be a button text box etc. A control can be a button text box etc.  Each control should contain names that follow VB Each control should contain names that follow VB specifications i.e. txtBox1 txtBox2 btnMove specifications i.e. txtBox1 txtBox2 btnMove  Each name as always should be meaningfull Each name as always should be meaningfull
Practice Example 2 Practice Example 2  Using Functions in VB .Net Using Functions in VB .Net – Use the text boxes from the previous example Use the text boxes from the previous example – Add a text box Add a text box – Provide a function that adds the values of text Provide a function that adds the values of text box 1 and text box 2 box 1 and text box 2 – Place the answer in text box3 Place the answer in text box3 – Use variables of type double and use the Use variables of type double and use the CDbl() function to convert the string value of CDbl() function to convert the string value of the text box to a double the text box to a double page 485 page 485 in your text in your text
Loops and control Loops and control structures structures  The If Statement The If Statement  The Select Case Statement The Select Case Statement  The Do While and Loop While loops The Do While and Loop While loops  The For Loop The For Loop
The IF Statement The IF Statement  Every If statement must contain a then and an end if Every If statement must contain a then and an end if  Example: Example: – If Num1 < 2 Then If Num1 < 2 Then MessageBox.show(“The value is less than 2”) MessageBox.show(“The value is less than 2”) End If End If – If Num1 <> 4 then If Num1 <> 4 then MessageBox.Show(“The value is not 4”) MessageBox.Show(“The value is not 4”) End If End If  The relational operators that can be used in VB are The relational operators that can be used in VB are – > > – < < – = = – >= >= – <= <= – <> (Not equal to) <> (Not equal to)
The Select Case statement The Select Case statement  The select case statement is a lot like the The select case statement is a lot like the switch statement in Java switch statement in Java  It can use ANY data type in VB It can use ANY data type in VB  Example Example Select Case Num1 Select Case Num1 Case 1 DoSomeThing() Case 1 DoSomeThing() Case 2 Do SomethingElse() Case 2 Do SomethingElse() End Select End Select  Yes you can use strings as well Yes you can use strings as well
Do While Loops Do While Loops  Do while loops evaluate the expression Do while loops evaluate the expression first then executes the Loop Body first then executes the Loop Body  Act much in the same as All While Act much in the same as All While loops in languages like C++ and Java loops in languages like C++ and Java  Example Example Do While Num1 < 10 Do While Num1 < 10 Num1 += 1 Num1 += 1 Loop Loop
Loop While Loops Loop While Loops  The Body of the Loop is executed first The Body of the Loop is executed first then the expression is evaluated then the expression is evaluated  The loop will execute at least once The loop will execute at least once  This is a lot like the do while loop in Java This is a lot like the do while loop in Java and students get confused with this and students get confused with this subtle change subtle change  Example Example Do Do Num1 += 1 Num1 += 1 Loop While Num1 < 10 Loop While Num1 < 10
End Of Day 1 End Of Day 1
VB .Net Seminar Day 2 VB .Net Seminar Day 2 June 8, 2004 June 8, 2004
Microsoft SQL Server Microsoft SQL Server  MS SQL Basics MS SQL Basics  The Enterprise Manager The Enterprise Manager  Creating Databases Creating Databases  Connecting to Databases Connecting to Databases  The use of the Data Set The use of the Data Set  Exception Handling Exception Handling
Microsoft SQL Basics Microsoft SQL Basics  Differences between MS SQL and Differences between MS SQL and Access Access  Advantages of MS SQL Advantages of MS SQL  Quirky things with SQL Quirky things with SQL  Connecting to the database with the Connecting to the database with the manager manager
Differences between MS Differences between MS SQL and Access SQL and Access  SQL More Powerful than MS Access SQL More Powerful than MS Access – Larger data types are available Larger data types are available – Connection over a network provide Connection over a network provide access to multiple clients access to multiple clients – Blob data type available Blob data type available  A client is required to connect to the A client is required to connect to the SQL Database SQL Database
Advantages of MS SQL Advantages of MS SQL  Can handle multiple users at one time Can handle multiple users at one time  Ideal for web sites and web Ideal for web sites and web applications applications  Contain the BLOB (Binary Large Contain the BLOB (Binary Large Object) which enables a user to store Object) which enables a user to store images in a database images in a database  Larger numeric values can be stored in Larger numeric values can be stored in each field each field
Quirky problems with SQL Quirky problems with SQL  No Auto Number Data Type in MS SQL No Auto Number Data Type in MS SQL  Auto number is an integer data type Auto number is an integer data type  Identity is set to yes Identity is set to yes  And the seed is set to one And the seed is set to one  This gives you the option to set the This gives you the option to set the starting number and the increment starting number and the increment you want the auto number to have you want the auto number to have
Enterprise Manager Enterprise Manager  Connecting to the database Connecting to the database  Getting through the confusion of Getting through the confusion of locating databases locating databases  Defining the different containers in Defining the different containers in the Manager the Manager
Connecting to the DBMS Connecting to the DBMS  Start the Enterprise Manager Start the Enterprise Manager  Right Click SQL Server group Right Click SQL Server group
Connecting to the DBMS Connecting to the DBMS  Click on SQL Server Click on SQL Server Registration Registration  Click next Click next  In the text box In the text box labeled Available labeled Available Servers type Servers type Sigma.vbnet.matcm Sigma.vbnet.matcm p.ncc.edu p.ncc.edu  Click Add then next Click Add then next
Connecting to the DBMS Connecting to the DBMS  Click on SQL Server login Click on SQL Server login  Username is the first six letters of Username is the first six letters of your last name and your first initial your last name and your first initial  Password is vbnet Password is vbnet  Click next and click next again Click next and click next again  Click Finish Click Finish  Click close on the next dialog box Click close on the next dialog box
Getting through the Getting through the concussion concussion  MS SQL Enterprise Manager will display MS SQL Enterprise Manager will display ALL of the databases located on the ALL of the databases located on the server server  Access to each database is controlled by Access to each database is controlled by the DBMS the DBMS  ALL tables are displayed in each database ALL tables are displayed in each database  This includes tables that are used by the This includes tables that are used by the DBMS DBMS
The Containers in SQL The Containers in SQL  Each container Each container has a specific has a specific role role  Student Student Databases are Databases are in the in the databases databases container container
Database Container Database Container  Every students Every students database is displayed database is displayed  Only the database Only the database that the student has that the student has permissions for can permissions for can be opened be opened  Click on the database Click on the database container with your container with your username username
Student Database Student Database container container
Creating the Database Creating the Database  Creating tables Creating tables  Properties of the data types Properties of the data types  Entering and Displaying Data in Entering and Displaying Data in database Tables database Tables
Creating Tables Creating Tables  Right click on the table container Right click on the table container  Click new table Click new table  This is a lot like the Access interface This is a lot like the Access interface with different data types. with different data types.  At this points explore the interface At this points explore the interface and notice the differences and notice the differences
Properties of Data Fields Properties of Data Fields  Each Data Field has a length property Each Data Field has a length property  This sometimes causes a problem with This sometimes causes a problem with students who make this field too small students who make this field too small  Each data Field can also allow null values Each data Field can also allow null values  After defining each column and setting all After defining each column and setting all the properties set the primary key by the properties set the primary key by right clicking on the field that is to be the right clicking on the field that is to be the key key
Entering and Displaying Entering and Displaying Data Data  Right Click the table Right Click the table  Click Open Table Click Open Table  Click Return All Rows Click Return All Rows  From here you can view and enter From here you can view and enter new data into the table new data into the table
Practice Example 1 Practice Example 1  Creating a Table in VB .Net Creating a Table in VB .Net  Create a table of customers in a hardware store Create a table of customers in a hardware store  Columns will include Columns will include – Customer ID Customer ID – First Name First Name – Last Name Last Name – Address Address – Zip Code Zip Code  Fill the table with data Fill the table with data  Display that data Display that data
Connecting to the database Connecting to the database with VB .Net Applications with VB .Net Applications  The Data Provider The Data Provider  The Data Set The Data Set  The use of the wizard The use of the wizard
The Data Adapter The Data Adapter  Needed to connect to every DBMS Needed to connect to every DBMS  Must Use the Adapter that Must Use the Adapter that represents the DBMS you are going represents the DBMS you are going to use to use  We are going to use the We are going to use the SQLDataAdapter Object SQLDataAdapter Object  Holds the information on how to Holds the information on how to
The Data Provider The Data Provider  Manipulates data through the use of SQL Manipulates data through the use of SQL statements or commands statements or commands  Hold connection information to the Hold connection information to the Database Database  Contain two Major components Contain two Major components – Data Adapter Object – updates data in the Data Adapter Object – updates data in the dataset dataset – Connection Object – maintains the connection Connection Object – maintains the connection
The Data Set The Data Set  Holds data returned from a Holds data returned from a procedure or Query performed by procedure or Query performed by the data adapter the data adapter  Provides a local “Copy” of the data Provides a local “Copy” of the data from the table on the local machine from the table on the local machine  Prevents persistent connections Prevents persistent connections with the database and reduces with the database and reduces network traffic network traffic
The use of the wizard The use of the wizard  Give Demo on using the wizard Give Demo on using the wizard
The Data Set The Data Set  Generating the data set object Generating the data set object  The use of the onload event handler The use of the onload event handler  Binding controls Binding controls  Creating navigation for a database Creating navigation for a database
Generating the Data Set Generating the Data Set Object Object  Once the Data Adapter and the Once the Data Adapter and the connection object is created click on connection object is created click on Data in the menu Data in the menu  Click generate dataset Click generate dataset  Give a name to the dataset Give a name to the dataset  Click OK Click OK
The use of the onLoad The use of the onLoad event Handler event Handler  Double click the form Double click the form  Place the fill method in the Load Place the fill method in the Load event handler event handler  This will fill the dataset object with This will fill the dataset object with the data from the table when the the data from the table when the form loads form loads  Example Example SQLDataAdapter1.Fill(MyDataSet1) SQLDataAdapter1.Fill(MyDataSet1)
Binding Controls Binding Controls  Once you create a data set you can then Once you create a data set you can then bind the controls of the form to fields or bind the controls of the form to fields or columns of the database table columns of the database table  This is done with in the Bindings property This is done with in the Bindings property in the text box properties sheet in the text box properties sheet  Under the bindings property click text Under the bindings property click text and then the field you wish to bind to the and then the field you wish to bind to the text box text box
Creating navigation for a Creating navigation for a database database  Managed by the BindingManagerBase Object Managed by the BindingManagerBase Object  This object contains the Position Property the This object contains the Position Property the holds the current position of the record in the holds the current position of the record in the dataset dataset  This is done by adding one to the position This is done by adding one to the position attribute of the object attribute of the object  Methods of this object includes Methods of this object includes – Addnew() Addnew() – EndCurrentEdit() EndCurrentEdit() – CancelCurrentEdit() -> provides a role back feature CancelCurrentEdit() -> provides a role back feature – RemoveAt() -> deletes current row at given position RemoveAt() -> deletes current row at given position
Exception Handling Exception Handling Implementation Implementation  Use try catch block much the same in Java Use try catch block much the same in Java  Can help trouble shoot connections to databases Can help trouble shoot connections to databases  Very important to use when filling the dataset Very important to use when filling the dataset  Example Example Try Try SqlDataAdapter1.Fill(DataSet11) SqlDataAdapter1.Fill(DataSet11) Catch Catch ex ex As As Exception Exception MessageBox.Show("Error will dataset fill") MessageBox.Show("Error will dataset fill") End End Try Try
Practice Example 2 Practice Example 2  Connecting a form to your Hardware customers Connecting a form to your Hardware customers  Create a form with text fields for each column Create a form with text fields for each column – Create the data Adapter and Data Connection with the Create the data Adapter and Data Connection with the use of the wizard use of the wizard – Create the data set object Create the data set object – Create the onload event handler to fill the data set Create the onload event handler to fill the data set – Bind your controls Bind your controls – Be sure to use exception handling for filling the data Be sure to use exception handling for filling the data set set – Create a Next button to navigate to the next record in Create a Next button to navigate to the next record in the database the database
End Of Day 2 End Of Day 2
VB .Net Seminar Day 3 VB .Net Seminar Day 3 June 9, 2004 June 9, 2004
Topics Topics  Adding and Editing Records Adding and Editing Records  Updates and deletes with Bound controls Updates and deletes with Bound controls  Classes and Modules in VB .Net Classes and Modules in VB .Net  Menus Menus  From design From design  MDI (Multi Document Interfaces) MDI (Multi Document Interfaces)  Bound and unbound controls in VB .net Bound and unbound controls in VB .net  Why Unbound controls are used Why Unbound controls are used
Adding and Editing Adding and Editing Records Records  When Adding records When Adding records – The Position of the dataset should be set to The Position of the dataset should be set to the end the end – The text boxes should be cleared The text boxes should be cleared  The AddNew() Method accomplishes all The AddNew() Method accomplishes all this in one method call this in one method call  The AddNew() Method is part of the The AddNew() Method is part of the BindingManagerBase Object BindingManagerBase Object  When changes are being made, a cancel When changes are being made, a cancel button should be provided to “Roll Back” button should be provided to “Roll Back” changes made to the data set changes made to the data set
Edit Edit  When Navigating the database the Text When Navigating the database the Text boxes should be disabled to prevent boxes should be disabled to prevent changes changes  There should be an edit button that There should be an edit button that – Disables the navigation button Disables the navigation button – Enables the text boxes for editing Enables the text boxes for editing – Provide a cancel button that “Roles Back” the Provide a cancel button that “Roles Back” the changes that are made by calling the changes that are made by calling the CancelCurrentEdit() method of the CancelCurrentEdit() method of the BindingManagerBase Object BindingManagerBase Object
Update and Deleting Update and Deleting Records Records  This is done by This is done by – Ending the current edit by calling EndCurrentEdit() in Ending the current edit by calling EndCurrentEdit() in the BindingManagerBase class the BindingManagerBase class – Updating the DB with Update() in the data adapter Updating the DB with Update() in the data adapter – Cause the dataset to reflect the changes by calling the Cause the dataset to reflect the changes by calling the AcceptChanges() method in the data set AcceptChanges() method in the data set  Deleting the records Deleting the records – First Ask the user if they are sure they want to delete First Ask the user if they are sure they want to delete – Use the RemoveAt() method of the Use the RemoveAt() method of the BindingManagerBase object BindingManagerBase object – Update the database with the Update() method Update the database with the Update() method – Have the dataset reflect the change by calling the Have the dataset reflect the change by calling the AcceptChanges() method of the dataset object AcceptChanges() method of the dataset object
Practice Example 1 Practice Example 1  With the Example finished yesterday With the Example finished yesterday – Add an Add Button Add an Add Button – Add an Edit Button Add an Edit Button – Provide a Save and a delete feature Provide a Save and a delete feature – Use exception handling for everything Use exception handling for everything
Classes and Modules in VB Classes and Modules in VB .Net .Net  Creating classes in VB .Net Creating classes in VB .Net  The constructor and Sub procedures The constructor and Sub procedures in VB .Net in VB .Net  The use of Modules The use of Modules
Creating Classes in Creating Classes in VB .Net VB .Net  Classes can be added to a project by Classes can be added to a project by – Right clicking the project container Right clicking the project container – Click add Click add – Click add class Click add class  As in Most OOP Languages VB classes have As in Most OOP Languages VB classes have – Public and private attributes Public and private attributes – Public and private Methods (called functions or Public and private Methods (called functions or sub procedures) sub procedures) – Constructors and Destructors (destructors are Constructors and Destructors (destructors are not really needed in VB because of garbage not really needed in VB because of garbage collection) collection)
Modules Modules  Modules can also be added to a Modules can also be added to a project to provide a place for project to provide a place for “Global” Methods and Identifiers “Global” Methods and Identifiers  These Identifiers and methods can These Identifiers and methods can be either public or private be either public or private  Public Identifiers and methods can Public Identifiers and methods can be accessed from all of the forms be accessed from all of the forms and classes in the VB project and classes in the VB project
Practice Example Practice Example  For this Example For this Example – Create an Auto Class Create an Auto Class – An Auto will have An Auto will have  Three Attributes Three Attributes  Three Methods Three Methods  Two constructors Two constructors – Try instantiating the method in the Try instantiating the method in the form form
Menus Menus  When adding menus to a form you When adding menus to a form you can type in the choice right into the can type in the choice right into the menu object menu object  Click event handlers can then be Click event handlers can then be added for each menu choice in the added for each menu choice in the same manner as the button same manner as the button
Form Design Form Design  Colors are important Colors are important – They should be contrast in color They should be contrast in color – Ease to read Ease to read – Easy on the eyes for long periods of viewing Easy on the eyes for long periods of viewing  Should provide easy navigation Should provide easy navigation  Should provide a way to enter the data Should provide a way to enter the data easily with just using the keyboard easily with just using the keyboard
Multi Document Multi Document Interfaces (MDI) Interfaces (MDI)  When creating a form in VB .Net you are creating When creating a form in VB .Net you are creating a class a class  Every class in vb must be instantiated before it is Every class in vb must be instantiated before it is used used  This is accomplished by using the new keyword This is accomplished by using the new keyword  When the instance of the form is created, the When the instance of the form is created, the form can then be visible by calling the forms form can then be visible by calling the forms show method show method  Closing a form does not exit the program. To Closing a form does not exit the program. To exit the program the End method should be exit the program the End method should be called called
Practice Example 3 Practice Example 3  Create a Form that will be a switch Create a Form that will be a switch board board – Add a form to yesterdays example Add a form to yesterdays example – Place a button that will open the Place a button that will open the customer form customer form – Place a button that will exit the Place a button that will exit the program program
Bound and Unbound Bound and Unbound Controls Controls  So far we have seen the benefits of bound So far we have seen the benefits of bound controls controls  These are ok if you intend to use the same SQL These are ok if you intend to use the same SQL query for the whole application query for the whole application  Once controls are bound to a data set, changes Once controls are bound to a data set, changes to the query in the data adapter can not be to the query in the data adapter can not be accomplished accomplished  Unbounded controls give you the power to Unbounded controls give you the power to create new data adapters with new queries. create new data adapters with new queries.  Values can then be placed into the query to find Values can then be placed into the query to find specific records in a database specific records in a database
End Day 3 End Day 3
VB .Net Seminar Day 4 VB .Net Seminar Day 4 June 10, 2004 June 10, 2004
Topics Topics  ASP .Net basic applications ASP .Net basic applications  ASP .Net Database applications ASP .Net Database applications  Web Forms Web Forms  Crystal Reports Crystal Reports  Creating Help Files Creating Help Files  Demo with Serial port programming and Demo with Serial port programming and VB .Net VB .Net  Handout Certificates Handout Certificates
ASP .Net basic ASP .Net basic Applications Applications
End Day 4 End Day 4

COMPUTER LANGUAGES THE VISUAL BASIC.NET.PPT

  • 1.
    Visual Basic .Net VisualBasic .Net Seminar June 7, 2004 Seminar June 7, 2004
  • 2.
    Topics Today include TopicsToday include  The .Net Framework The .Net Framework  Studio .Net Environment Studio .Net Environment  VB .Net VB .Net  Introduction to VB .Net Introduction to VB .Net  Loops and Control Structures Loops and Control Structures
  • 3.
    The .Net Framework The.Net Framework  What is the .Net Framework What is the .Net Framework  Common Language Runtime Common Language Runtime  .Net Managed Assemblies .Net Managed Assemblies  Compilation of .Net Code Compilation of .Net Code  .Net Framework Class Library .Net Framework Class Library  .Net Languages .Net Languages  The future of .Net The future of .Net
  • 4.
    What is the.Net What is the .Net Framework Framework  Primarily a development platform Primarily a development platform (mostly effects application (mostly effects application development) development)  Consists of two main parts Consists of two main parts – Common Language Runtime Common Language Runtime – .Net Framework Class Library .Net Framework Class Library
  • 5.
    CLR (Common Language CLR(Common Language Runtime) Runtime)  Provides a “runtime environment” Provides a “runtime environment” for the execution of code written in for the execution of code written in ANY .Net Language ANY .Net Language  “ “Manages” Manages” – The overall execution of .Net code The overall execution of .Net code – Inheritance, Memory, Debugging, and Inheritance, Memory, Debugging, and application development across application development across Multiple languages Multiple languages
  • 6.
    CLR (Continued) CLR (Continued) Languages that utilizes the .Net framework must follow Languages that utilizes the .Net framework must follow the CLS the CLS – Common Language Specification Common Language Specification – Outlines the rules and standards required or needed by the Outlines the rules and standards required or needed by the CLR to execute .Net code. CLR to execute .Net code.  The CLR will execute Managed Assemblies The CLR will execute Managed Assemblies  Intermediate Languages managed by the CLR are called Intermediate Languages managed by the CLR are called Managed Code Managed Code  The CLR will manage for the IL The CLR will manage for the IL – Garbage collection Garbage collection – Object instantiation Object instantiation – Memory allocation Memory allocation  Components written in Components written in Managed Code Managed Code by the CLR are by the CLR are called .Net Managed assemblies called .Net Managed assemblies
  • 7.
    .Net Managed Assemblies .NetManaged Assemblies  Basic Unit of deployment of .Net Basic Unit of deployment of .Net Applications Applications  Similar to the Microsoft COM Objects Similar to the Microsoft COM Objects  Each Managed Assembly contains a Each Managed Assembly contains a Manifest Manifest – Hold definitions of other components required Hold definitions of other components required for execution of the application for execution of the application – Prevents the problems associated with Prevents the problems associated with conflicting DLL’s conflicting DLL’s – Revision numbers and components are listed in Revision numbers and components are listed in the manifest the manifest – Two versions of the same DLL can then co-exist Two versions of the same DLL can then co-exist
  • 8.
    Compilation of .Netcode Compilation of .Net code  All .Net languages are first compiled into an All .Net languages are first compiled into an intermediate language called MSIL or IL (Microsoft intermediate language called MSIL or IL (Microsoft Intermediate Language) Intermediate Language)  The MSIL is then “Just In Time” (JIT) compiled at first The MSIL is then “Just In Time” (JIT) compiled at first execution of the code and managed by the CLR execution of the code and managed by the CLR  All MSIL or IL code can be compiled directly to All MSIL or IL code can be compiled directly to native code with the following native code with the following – Compiling native code will provide faster startup Compiling native code will provide faster startup execution of the code execution of the code – Performance during execution of the code will then be Performance during execution of the code will then be sacrificed sacrificed – During JIT Optimization is placed on the During JIT Optimization is placed on the Managed Code Managed Code in in order to improve performance at the time of execution order to improve performance at the time of execution
  • 9.
    .Net Framework Class .NetFramework Class Library Library  Provide a library of base classes that Provide a library of base classes that developers can use in their own developers can use in their own applications written in ANY .Net applications written in ANY .Net language language  Because of the use of these base Because of the use of these base classes, Inheritance can then be classes, Inheritance can then be extensively used in languages that extensively used in languages that use the .Net Framework use the .Net Framework
  • 10.
    .Net Languages .Net Languages .Net applications can be written by any or a .Net applications can be written by any or a combination of many .Net languages combination of many .Net languages  Languages include Languages include – VB .Net VB .Net – C# C# – J# J# – Managed C++ (default in studio is set for managed C++) Managed C++ (default in studio is set for managed C++)  Applications can be developed without the use of Applications can be developed without the use of Studio .Net Studio .Net – Applications can be developed still using a simple text Applications can be developed still using a simple text editor editor – ASP .Net Applications as well as other apps can be still ASP .Net Applications as well as other apps can be still developed using notepad developed using notepad
  • 11.
    The future ofthe .Net The future of the .Net Framework Framework  Standards were release in 2000 from Microsoft to the community Standards were release in 2000 from Microsoft to the community  GNU .Net is a project in the Linux community that is presently developing GNU .Net is a project in the Linux community that is presently developing a CLR to run in the Linux environment a CLR to run in the Linux environment  Languages planned to include the CLS are Languages planned to include the CLS are – APL APL – COBOL COBOL – Eifel Eifel – Fortran Fortran – Haskel Haskel – Mercury Mercury – Mondrian Mondrian – Oberon Oberon – Pascal Pascal – Perl Perl – Python Python – RPG RPG – Scheme Scheme
  • 12.
    Studio .Net Environment Studio.Net Environment The IDE The IDE  Studio .Net Studio .Net  The Start Page The Start Page  Problems with Studio .Net in the lab Problems with Studio .Net in the lab environment environment
  • 13.
    Studio .Net Studio .Net All present .Net languages are included under All present .Net languages are included under one development environment one development environment – When using any one of the languages, the studio must When using any one of the languages, the studio must be used (there is no longer an environment for each be used (there is no longer an environment for each language) language) – You have to start a new solution/project You have to start a new solution/project  Projects are containers that contain the files associated Projects are containers that contain the files associated with a particular project with a particular project  A solution is a container that contains one or more A solution is a container that contains one or more projects or project containers projects or project containers  When the IDE is started you have the Projects When the IDE is started you have the Projects tab, online resources, and My Profile tab, online resources, and My Profile
  • 14.
    The Start Page TheStart Page Previous Projects Tab for this view Tab for Additional Help Profile and environment settings Start a new project Open a project in a diff. location
  • 15.
    Problems with Studio.Net Problems with Studio .Net environment in the lab environment in the lab  .Net security must allow access to the J: drive or .Net security must allow access to the J: drive or the local intra net in order to work properly the local intra net in order to work properly  Problems arise when debugging apps on an Problems arise when debugging apps on an ASP .Net server that is not part of the current ASP .Net server that is not part of the current domain (CLC) Basic apps will still work fine domain (CLC) Basic apps will still work fine  These problems are not present if IIS and remote These problems are not present if IIS and remote debugging tools are installed on the client debugging tools are installed on the client machine machine – This solution is fine for students but is not practical for a This solution is fine for students but is not practical for a lab lab – Due to security holes of IIS you can have hundreds of Due to security holes of IIS you can have hundreds of security risks on a given network. security risks on a given network. – In the Real world situation, all apps will be placed on a In the Real world situation, all apps will be placed on a server anyway server anyway
  • 16.
    Visual Basic .Net VisualBasic .Net  General Features General Features  Additional Features of VB .Net Additional Features of VB .Net  What has changed in VB .Net What has changed in VB .Net
  • 17.
    General features General features It is an object oriented language It is an object oriented language – Students do better with this subject when they have a firm understanding of Students do better with this subject when they have a firm understanding of objects objects – In the past VB had objects but focus was not placed on them In the past VB had objects but focus was not placed on them – VB .Net use objects and inheritance with everything VB .Net use objects and inheritance with everything  Uses exception handling extensively Uses exception handling extensively – New techniques are shown to the student for providing feedback from their New techniques are shown to the student for providing feedback from their programs in order to help trouble shoot errors programs in order to help trouble shoot errors – Like with most OOP languages, exceptions that are not handled will cause Like with most OOP languages, exceptions that are not handled will cause programs to abnormally end or exit programs to abnormally end or exit  Uses “generics” with creating classes and Sub programs Uses “generics” with creating classes and Sub programs – Can use the top data type on inheritance of type Object Can use the top data type on inheritance of type Object – Used for late binding of data types and is quite useful when implementing Used for late binding of data types and is quite useful when implementing stacks or queues of any data type (.Net 2.0) stacks or queues of any data type (.Net 2.0)  Provides a quick way to develop heavy duty applications in a windowing Provides a quick way to develop heavy duty applications in a windowing environment environment  It is a useful tool for developing event driven programs It is a useful tool for developing event driven programs
  • 18.
    Additional Feature of AdditionalFeature of VB .Net VB .Net  Can create both windows applications and web Can create both windows applications and web applications at the click of a mouse button applications at the click of a mouse button  The interface between the Databases and applications The interface between the Databases and applications – Are the same between web apps and windows apps Are the same between web apps and windows apps – All data are transferred between the apps in XML format All data are transferred between the apps in XML format regardless if it is a web application or a windows application regardless if it is a web application or a windows application – A copy of the data from the database is loaded into a data A copy of the data from the database is loaded into a data set. set. – Persistent connections between the application and the Persistent connections between the application and the database no longer exists database no longer exists  Every form is a class and new forms now have to be Every form is a class and new forms now have to be instantiated instantiated  VB .Net is still not case sensitive VB .Net is still not case sensitive
  • 19.
    What is Notin VB .Net What is Not in VB .Net  Data Controls Data Controls – Because of the different way that the apps connect to the Because of the different way that the apps connect to the database, there is no longer the support of data controls database, there is no longer the support of data controls in VB .Net in VB .Net – Persistent connections with the database is no longer Persistent connections with the database is no longer present present  Object instantiation is now done differently Object instantiation is now done differently  Garbage collection for references that lose there Garbage collection for references that lose there objects are done periodically not when the objects are done periodically not when the reference lose its scope reference lose its scope  Periodic changes throughout the language making Periodic changes throughout the language making it vastly different from VB 6.0 in order to make it it vastly different from VB 6.0 in order to make it compliant to the .Net Framework and the CLS compliant to the .Net Framework and the CLS
  • 20.
    The Introduction to TheIntroduction to VB .Net VB .Net  Data Types in VB .Net Data Types in VB .Net  Functions and Sub Procedures Functions and Sub Procedures  Practice Examples Practice Examples
  • 21.
    Data Types inVB .Net Data Types in VB .Net  Data Types and possible values Data Types and possible values – Integer -> -2,147,483,648 (4 bytes) Integer -> -2,147,483,648 (4 bytes) – Double -> floating point numbers with 14 digits of accuracy Double -> floating point numbers with 14 digits of accuracy (8 Bytes) (8 Bytes) – Decimal -> decimal values ( 16 bytes replaced currency in 6.0) Decimal -> decimal values ( 16 bytes replaced currency in 6.0) – Date -> the date (8 Bytes) Date -> the date (8 Bytes) – Byte -> 0 to 255 (1 Byte) Byte -> 0 to 255 (1 Byte) – Char -> Unicode character (2 Bytes) Char -> Unicode character (2 Bytes) – Boolean ->True or false value (2 Bytes) Boolean ->True or false value (2 Bytes) – Single -> floating point number with 6 digits of accuracy (4 bytes) Single -> floating point number with 6 digits of accuracy (4 bytes) – Short -> 2 byte integer Short -> 2 byte integer – Long -> 8 byte integer Long -> 8 byte integer – String -> an arrangement of alpha-numeric characters varies in String -> an arrangement of alpha-numeric characters varies in length length – Object -> any data type 4 bytes Object -> any data type 4 bytes
  • 22.
    Functions and Sub Functionsand Sub procedures / Programs in procedures / Programs in VB .Net (Methods) VB .Net (Methods)  Functions and sub procedures must either have a sub or Functions and sub procedures must either have a sub or function keyword in the function or sub procedure function keyword in the function or sub procedure heading heading  They can be either public or private (following the same They can be either public or private (following the same conventions in OOP languages such as C++ or Java) conventions in OOP languages such as C++ or Java)  All parameters are passed by value by default in VB .Net All parameters are passed by value by default in VB .Net  Parameters of any data type may be passed by reference Parameters of any data type may be passed by reference  All Objects and arrays are passed by reference not value All Objects and arrays are passed by reference not value  All events are handled by a sub procedure in VB .Net All events are handled by a sub procedure in VB .Net  Functions return a value and Sub Procedures do Not Functions return a value and Sub Procedures do Not
  • 23.
    Practice example Practice example1 1  You can use the text book given to you to You can use the text book given to you to get the basics needed in programming VB get the basics needed in programming VB starting on page 477 starting on page 477  Getting familiar with VB .Net Getting familiar with VB .Net – Write a program that will take text from one Write a program that will take text from one text box and place that text in another text text box and place that text in another text box with a click of a button box with a click of a button – Take a look at the attributes of each control Take a look at the attributes of each control  A control can be a button text box etc. A control can be a button text box etc.  Each control should contain names that follow VB Each control should contain names that follow VB specifications i.e. txtBox1 txtBox2 btnMove specifications i.e. txtBox1 txtBox2 btnMove  Each name as always should be meaningfull Each name as always should be meaningfull
  • 24.
    Practice Example 2 PracticeExample 2  Using Functions in VB .Net Using Functions in VB .Net – Use the text boxes from the previous example Use the text boxes from the previous example – Add a text box Add a text box – Provide a function that adds the values of text Provide a function that adds the values of text box 1 and text box 2 box 1 and text box 2 – Place the answer in text box3 Place the answer in text box3 – Use variables of type double and use the Use variables of type double and use the CDbl() function to convert the string value of CDbl() function to convert the string value of the text box to a double the text box to a double page 485 page 485 in your text in your text
  • 25.
    Loops and control Loopsand control structures structures  The If Statement The If Statement  The Select Case Statement The Select Case Statement  The Do While and Loop While loops The Do While and Loop While loops  The For Loop The For Loop
  • 26.
    The IF Statement TheIF Statement  Every If statement must contain a then and an end if Every If statement must contain a then and an end if  Example: Example: – If Num1 < 2 Then If Num1 < 2 Then MessageBox.show(“The value is less than 2”) MessageBox.show(“The value is less than 2”) End If End If – If Num1 <> 4 then If Num1 <> 4 then MessageBox.Show(“The value is not 4”) MessageBox.Show(“The value is not 4”) End If End If  The relational operators that can be used in VB are The relational operators that can be used in VB are – > > – < < – = = – >= >= – <= <= – <> (Not equal to) <> (Not equal to)
  • 27.
    The Select Casestatement The Select Case statement  The select case statement is a lot like the The select case statement is a lot like the switch statement in Java switch statement in Java  It can use ANY data type in VB It can use ANY data type in VB  Example Example Select Case Num1 Select Case Num1 Case 1 DoSomeThing() Case 1 DoSomeThing() Case 2 Do SomethingElse() Case 2 Do SomethingElse() End Select End Select  Yes you can use strings as well Yes you can use strings as well
  • 28.
    Do While Loops DoWhile Loops  Do while loops evaluate the expression Do while loops evaluate the expression first then executes the Loop Body first then executes the Loop Body  Act much in the same as All While Act much in the same as All While loops in languages like C++ and Java loops in languages like C++ and Java  Example Example Do While Num1 < 10 Do While Num1 < 10 Num1 += 1 Num1 += 1 Loop Loop
  • 29.
    Loop While Loops LoopWhile Loops  The Body of the Loop is executed first The Body of the Loop is executed first then the expression is evaluated then the expression is evaluated  The loop will execute at least once The loop will execute at least once  This is a lot like the do while loop in Java This is a lot like the do while loop in Java and students get confused with this and students get confused with this subtle change subtle change  Example Example Do Do Num1 += 1 Num1 += 1 Loop While Num1 < 10 Loop While Num1 < 10
  • 30.
    End Of Day1 End Of Day 1
  • 31.
    VB .Net SeminarDay 2 VB .Net Seminar Day 2 June 8, 2004 June 8, 2004
  • 32.
    Microsoft SQL Server MicrosoftSQL Server  MS SQL Basics MS SQL Basics  The Enterprise Manager The Enterprise Manager  Creating Databases Creating Databases  Connecting to Databases Connecting to Databases  The use of the Data Set The use of the Data Set  Exception Handling Exception Handling
  • 33.
    Microsoft SQL Basics MicrosoftSQL Basics  Differences between MS SQL and Differences between MS SQL and Access Access  Advantages of MS SQL Advantages of MS SQL  Quirky things with SQL Quirky things with SQL  Connecting to the database with the Connecting to the database with the manager manager
  • 34.
    Differences between MS Differencesbetween MS SQL and Access SQL and Access  SQL More Powerful than MS Access SQL More Powerful than MS Access – Larger data types are available Larger data types are available – Connection over a network provide Connection over a network provide access to multiple clients access to multiple clients – Blob data type available Blob data type available  A client is required to connect to the A client is required to connect to the SQL Database SQL Database
  • 35.
    Advantages of MSSQL Advantages of MS SQL  Can handle multiple users at one time Can handle multiple users at one time  Ideal for web sites and web Ideal for web sites and web applications applications  Contain the BLOB (Binary Large Contain the BLOB (Binary Large Object) which enables a user to store Object) which enables a user to store images in a database images in a database  Larger numeric values can be stored in Larger numeric values can be stored in each field each field
  • 36.
    Quirky problems withSQL Quirky problems with SQL  No Auto Number Data Type in MS SQL No Auto Number Data Type in MS SQL  Auto number is an integer data type Auto number is an integer data type  Identity is set to yes Identity is set to yes  And the seed is set to one And the seed is set to one  This gives you the option to set the This gives you the option to set the starting number and the increment starting number and the increment you want the auto number to have you want the auto number to have
  • 37.
    Enterprise Manager Enterprise Manager Connecting to the database Connecting to the database  Getting through the confusion of Getting through the confusion of locating databases locating databases  Defining the different containers in Defining the different containers in the Manager the Manager
  • 38.
    Connecting to theDBMS Connecting to the DBMS  Start the Enterprise Manager Start the Enterprise Manager  Right Click SQL Server group Right Click SQL Server group
  • 39.
    Connecting to theDBMS Connecting to the DBMS  Click on SQL Server Click on SQL Server Registration Registration  Click next Click next  In the text box In the text box labeled Available labeled Available Servers type Servers type Sigma.vbnet.matcm Sigma.vbnet.matcm p.ncc.edu p.ncc.edu  Click Add then next Click Add then next
  • 40.
    Connecting to theDBMS Connecting to the DBMS  Click on SQL Server login Click on SQL Server login  Username is the first six letters of Username is the first six letters of your last name and your first initial your last name and your first initial  Password is vbnet Password is vbnet  Click next and click next again Click next and click next again  Click Finish Click Finish  Click close on the next dialog box Click close on the next dialog box
  • 41.
    Getting through the Gettingthrough the concussion concussion  MS SQL Enterprise Manager will display MS SQL Enterprise Manager will display ALL of the databases located on the ALL of the databases located on the server server  Access to each database is controlled by Access to each database is controlled by the DBMS the DBMS  ALL tables are displayed in each database ALL tables are displayed in each database  This includes tables that are used by the This includes tables that are used by the DBMS DBMS
  • 42.
    The Containers inSQL The Containers in SQL  Each container Each container has a specific has a specific role role  Student Student Databases are Databases are in the in the databases databases container container
  • 43.
    Database Container Database Container Every students Every students database is displayed database is displayed  Only the database Only the database that the student has that the student has permissions for can permissions for can be opened be opened  Click on the database Click on the database container with your container with your username username
  • 44.
  • 45.
    Creating the Database Creatingthe Database  Creating tables Creating tables  Properties of the data types Properties of the data types  Entering and Displaying Data in Entering and Displaying Data in database Tables database Tables
  • 46.
    Creating Tables Creating Tables Right click on the table container Right click on the table container  Click new table Click new table  This is a lot like the Access interface This is a lot like the Access interface with different data types. with different data types.  At this points explore the interface At this points explore the interface and notice the differences and notice the differences
  • 47.
    Properties of DataFields Properties of Data Fields  Each Data Field has a length property Each Data Field has a length property  This sometimes causes a problem with This sometimes causes a problem with students who make this field too small students who make this field too small  Each data Field can also allow null values Each data Field can also allow null values  After defining each column and setting all After defining each column and setting all the properties set the primary key by the properties set the primary key by right clicking on the field that is to be the right clicking on the field that is to be the key key
  • 48.
    Entering and Displaying Enteringand Displaying Data Data  Right Click the table Right Click the table  Click Open Table Click Open Table  Click Return All Rows Click Return All Rows  From here you can view and enter From here you can view and enter new data into the table new data into the table
  • 49.
    Practice Example 1 PracticeExample 1  Creating a Table in VB .Net Creating a Table in VB .Net  Create a table of customers in a hardware store Create a table of customers in a hardware store  Columns will include Columns will include – Customer ID Customer ID – First Name First Name – Last Name Last Name – Address Address – Zip Code Zip Code  Fill the table with data Fill the table with data  Display that data Display that data
  • 50.
    Connecting to thedatabase Connecting to the database with VB .Net Applications with VB .Net Applications  The Data Provider The Data Provider  The Data Set The Data Set  The use of the wizard The use of the wizard
  • 51.
    The Data Adapter TheData Adapter  Needed to connect to every DBMS Needed to connect to every DBMS  Must Use the Adapter that Must Use the Adapter that represents the DBMS you are going represents the DBMS you are going to use to use  We are going to use the We are going to use the SQLDataAdapter Object SQLDataAdapter Object  Holds the information on how to Holds the information on how to
  • 52.
    The Data Provider TheData Provider  Manipulates data through the use of SQL Manipulates data through the use of SQL statements or commands statements or commands  Hold connection information to the Hold connection information to the Database Database  Contain two Major components Contain two Major components – Data Adapter Object – updates data in the Data Adapter Object – updates data in the dataset dataset – Connection Object – maintains the connection Connection Object – maintains the connection
  • 53.
    The Data Set TheData Set  Holds data returned from a Holds data returned from a procedure or Query performed by procedure or Query performed by the data adapter the data adapter  Provides a local “Copy” of the data Provides a local “Copy” of the data from the table on the local machine from the table on the local machine  Prevents persistent connections Prevents persistent connections with the database and reduces with the database and reduces network traffic network traffic
  • 54.
    The use ofthe wizard The use of the wizard  Give Demo on using the wizard Give Demo on using the wizard
  • 55.
    The Data Set TheData Set  Generating the data set object Generating the data set object  The use of the onload event handler The use of the onload event handler  Binding controls Binding controls  Creating navigation for a database Creating navigation for a database
  • 56.
    Generating the DataSet Generating the Data Set Object Object  Once the Data Adapter and the Once the Data Adapter and the connection object is created click on connection object is created click on Data in the menu Data in the menu  Click generate dataset Click generate dataset  Give a name to the dataset Give a name to the dataset  Click OK Click OK
  • 57.
    The use ofthe onLoad The use of the onLoad event Handler event Handler  Double click the form Double click the form  Place the fill method in the Load Place the fill method in the Load event handler event handler  This will fill the dataset object with This will fill the dataset object with the data from the table when the the data from the table when the form loads form loads  Example Example SQLDataAdapter1.Fill(MyDataSet1) SQLDataAdapter1.Fill(MyDataSet1)
  • 58.
    Binding Controls Binding Controls Once you create a data set you can then Once you create a data set you can then bind the controls of the form to fields or bind the controls of the form to fields or columns of the database table columns of the database table  This is done with in the Bindings property This is done with in the Bindings property in the text box properties sheet in the text box properties sheet  Under the bindings property click text Under the bindings property click text and then the field you wish to bind to the and then the field you wish to bind to the text box text box
  • 59.
    Creating navigation fora Creating navigation for a database database  Managed by the BindingManagerBase Object Managed by the BindingManagerBase Object  This object contains the Position Property the This object contains the Position Property the holds the current position of the record in the holds the current position of the record in the dataset dataset  This is done by adding one to the position This is done by adding one to the position attribute of the object attribute of the object  Methods of this object includes Methods of this object includes – Addnew() Addnew() – EndCurrentEdit() EndCurrentEdit() – CancelCurrentEdit() -> provides a role back feature CancelCurrentEdit() -> provides a role back feature – RemoveAt() -> deletes current row at given position RemoveAt() -> deletes current row at given position
  • 60.
    Exception Handling Exception Handling Implementation Implementation Use try catch block much the same in Java Use try catch block much the same in Java  Can help trouble shoot connections to databases Can help trouble shoot connections to databases  Very important to use when filling the dataset Very important to use when filling the dataset  Example Example Try Try SqlDataAdapter1.Fill(DataSet11) SqlDataAdapter1.Fill(DataSet11) Catch Catch ex ex As As Exception Exception MessageBox.Show("Error will dataset fill") MessageBox.Show("Error will dataset fill") End End Try Try
  • 61.
    Practice Example 2 PracticeExample 2  Connecting a form to your Hardware customers Connecting a form to your Hardware customers  Create a form with text fields for each column Create a form with text fields for each column – Create the data Adapter and Data Connection with the Create the data Adapter and Data Connection with the use of the wizard use of the wizard – Create the data set object Create the data set object – Create the onload event handler to fill the data set Create the onload event handler to fill the data set – Bind your controls Bind your controls – Be sure to use exception handling for filling the data Be sure to use exception handling for filling the data set set – Create a Next button to navigate to the next record in Create a Next button to navigate to the next record in the database the database
  • 62.
    End Of Day2 End Of Day 2
  • 63.
    VB .Net SeminarDay 3 VB .Net Seminar Day 3 June 9, 2004 June 9, 2004
  • 64.
    Topics Topics  Adding andEditing Records Adding and Editing Records  Updates and deletes with Bound controls Updates and deletes with Bound controls  Classes and Modules in VB .Net Classes and Modules in VB .Net  Menus Menus  From design From design  MDI (Multi Document Interfaces) MDI (Multi Document Interfaces)  Bound and unbound controls in VB .net Bound and unbound controls in VB .net  Why Unbound controls are used Why Unbound controls are used
  • 65.
    Adding and Editing Addingand Editing Records Records  When Adding records When Adding records – The Position of the dataset should be set to The Position of the dataset should be set to the end the end – The text boxes should be cleared The text boxes should be cleared  The AddNew() Method accomplishes all The AddNew() Method accomplishes all this in one method call this in one method call  The AddNew() Method is part of the The AddNew() Method is part of the BindingManagerBase Object BindingManagerBase Object  When changes are being made, a cancel When changes are being made, a cancel button should be provided to “Roll Back” button should be provided to “Roll Back” changes made to the data set changes made to the data set
  • 66.
    Edit Edit  When Navigatingthe database the Text When Navigating the database the Text boxes should be disabled to prevent boxes should be disabled to prevent changes changes  There should be an edit button that There should be an edit button that – Disables the navigation button Disables the navigation button – Enables the text boxes for editing Enables the text boxes for editing – Provide a cancel button that “Roles Back” the Provide a cancel button that “Roles Back” the changes that are made by calling the changes that are made by calling the CancelCurrentEdit() method of the CancelCurrentEdit() method of the BindingManagerBase Object BindingManagerBase Object
  • 67.
    Update and Deleting Updateand Deleting Records Records  This is done by This is done by – Ending the current edit by calling EndCurrentEdit() in Ending the current edit by calling EndCurrentEdit() in the BindingManagerBase class the BindingManagerBase class – Updating the DB with Update() in the data adapter Updating the DB with Update() in the data adapter – Cause the dataset to reflect the changes by calling the Cause the dataset to reflect the changes by calling the AcceptChanges() method in the data set AcceptChanges() method in the data set  Deleting the records Deleting the records – First Ask the user if they are sure they want to delete First Ask the user if they are sure they want to delete – Use the RemoveAt() method of the Use the RemoveAt() method of the BindingManagerBase object BindingManagerBase object – Update the database with the Update() method Update the database with the Update() method – Have the dataset reflect the change by calling the Have the dataset reflect the change by calling the AcceptChanges() method of the dataset object AcceptChanges() method of the dataset object
  • 68.
    Practice Example 1 PracticeExample 1  With the Example finished yesterday With the Example finished yesterday – Add an Add Button Add an Add Button – Add an Edit Button Add an Edit Button – Provide a Save and a delete feature Provide a Save and a delete feature – Use exception handling for everything Use exception handling for everything
  • 69.
    Classes and Modulesin VB Classes and Modules in VB .Net .Net  Creating classes in VB .Net Creating classes in VB .Net  The constructor and Sub procedures The constructor and Sub procedures in VB .Net in VB .Net  The use of Modules The use of Modules
  • 70.
    Creating Classes in CreatingClasses in VB .Net VB .Net  Classes can be added to a project by Classes can be added to a project by – Right clicking the project container Right clicking the project container – Click add Click add – Click add class Click add class  As in Most OOP Languages VB classes have As in Most OOP Languages VB classes have – Public and private attributes Public and private attributes – Public and private Methods (called functions or Public and private Methods (called functions or sub procedures) sub procedures) – Constructors and Destructors (destructors are Constructors and Destructors (destructors are not really needed in VB because of garbage not really needed in VB because of garbage collection) collection)
  • 71.
    Modules Modules  Modules canalso be added to a Modules can also be added to a project to provide a place for project to provide a place for “Global” Methods and Identifiers “Global” Methods and Identifiers  These Identifiers and methods can These Identifiers and methods can be either public or private be either public or private  Public Identifiers and methods can Public Identifiers and methods can be accessed from all of the forms be accessed from all of the forms and classes in the VB project and classes in the VB project
  • 72.
    Practice Example Practice Example For this Example For this Example – Create an Auto Class Create an Auto Class – An Auto will have An Auto will have  Three Attributes Three Attributes  Three Methods Three Methods  Two constructors Two constructors – Try instantiating the method in the Try instantiating the method in the form form
  • 73.
    Menus Menus  When addingmenus to a form you When adding menus to a form you can type in the choice right into the can type in the choice right into the menu object menu object  Click event handlers can then be Click event handlers can then be added for each menu choice in the added for each menu choice in the same manner as the button same manner as the button
  • 74.
    Form Design Form Design Colors are important Colors are important – They should be contrast in color They should be contrast in color – Ease to read Ease to read – Easy on the eyes for long periods of viewing Easy on the eyes for long periods of viewing  Should provide easy navigation Should provide easy navigation  Should provide a way to enter the data Should provide a way to enter the data easily with just using the keyboard easily with just using the keyboard
  • 75.
    Multi Document Multi Document Interfaces(MDI) Interfaces (MDI)  When creating a form in VB .Net you are creating When creating a form in VB .Net you are creating a class a class  Every class in vb must be instantiated before it is Every class in vb must be instantiated before it is used used  This is accomplished by using the new keyword This is accomplished by using the new keyword  When the instance of the form is created, the When the instance of the form is created, the form can then be visible by calling the forms form can then be visible by calling the forms show method show method  Closing a form does not exit the program. To Closing a form does not exit the program. To exit the program the End method should be exit the program the End method should be called called
  • 76.
    Practice Example 3 PracticeExample 3  Create a Form that will be a switch Create a Form that will be a switch board board – Add a form to yesterdays example Add a form to yesterdays example – Place a button that will open the Place a button that will open the customer form customer form – Place a button that will exit the Place a button that will exit the program program
  • 77.
    Bound and Unbound Boundand Unbound Controls Controls  So far we have seen the benefits of bound So far we have seen the benefits of bound controls controls  These are ok if you intend to use the same SQL These are ok if you intend to use the same SQL query for the whole application query for the whole application  Once controls are bound to a data set, changes Once controls are bound to a data set, changes to the query in the data adapter can not be to the query in the data adapter can not be accomplished accomplished  Unbounded controls give you the power to Unbounded controls give you the power to create new data adapters with new queries. create new data adapters with new queries.  Values can then be placed into the query to find Values can then be placed into the query to find specific records in a database specific records in a database
  • 78.
  • 79.
    VB .Net SeminarDay 4 VB .Net Seminar Day 4 June 10, 2004 June 10, 2004
  • 80.
    Topics Topics  ASP .Netbasic applications ASP .Net basic applications  ASP .Net Database applications ASP .Net Database applications  Web Forms Web Forms  Crystal Reports Crystal Reports  Creating Help Files Creating Help Files  Demo with Serial port programming and Demo with Serial port programming and VB .Net VB .Net  Handout Certificates Handout Certificates
  • 81.
    ASP .Net basic ASP.Net basic Applications Applications
  • 85.