* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download Lecture 4.13.2011 - Databases Part 3
Survey
Document related concepts
Concurrency control wikipedia , lookup
Microsoft Access wikipedia , lookup
Entity–attribute–value model wikipedia , lookup
Functional Database Model wikipedia , lookup
Extensible Storage Engine wikipedia , lookup
Open Database Connectivity wikipedia , lookup
Microsoft Jet Database Engine wikipedia , lookup
Microsoft SQL Server wikipedia , lookup
Versant Object Database wikipedia , lookup
Relational model wikipedia , lookup
Transcript
Programming in Visual Basic 2010: The Very Beginner’s Guide Chapter 14.3 LINQ to SQL Databases – Part 3 by Jim McKeown Customer Queries Sometimes there’s just too much data • Queries look through a database and retrieve data that matches the search criteria • Queries find records that match the search, display selected fields in the results and order the records for easy reference • Use a DataGridView to demonstrate a query Query • 2 search or searches in a database; return specified fields from selected records and display them in a specific order Database File for this Part We need the Customers database file See my web page. Download and open and look at it. Close it. 3 Customer Queries Create a new form Name the controls Add a DataGridView (I used a form) 4 Tasks – Build the Connections, etc. See grid in book and create form from it, if you wish. Or use the DataGridView control from the toolbox in lieu of the form and controls we’re used to. If you use controls, name Controls and Labels,… Either will be okay. Electing to do the form is a bit more work; when electing the datagridview, some things are done for you… The slides ahead are for Forms: 5 Add Binding Source from Toolbox (Category: Data) Name it bdsCustomer in Name Property Add DataSource property via drop down…. Goto next slide (except this one) If using DataGridView in lieu of Form 6 If using DataGridView in lieu of form, there are a few differences. Here are a few… select DataGridView control. Click on play Choose Data Source can select WagesDataSetBinding Links WagesDataSet and WagesDataSetBinding in component tray Select WagesDataSetBindingSource See properties DataSource (linked to WagesDataSet) Select DataMember; select tblWages Note: grid modified and has fields. Expand. Fill form space up with grid… Tasks Add Project Data Source items… Database, dataset, New Connection, Change, (Microsoft Access Database File), Browse for Database File (from desktop), Select Customers.mdb, (book says Wages. Wrong) Test Connection, OK Next, Yes, Next, Goto next slide 7 Tasks Step 10 in book, p. 588 Select Database Objects for the Data Set. we do this by expanding the Tables Checkbox click on tblCustomers. Leave checked. Finish Component Tray now includes A Customers Data Set 8 Tasks Select DataMember property of binding source (bdsCustomer) and set to tblCustomers. Adds TBLCustomersTable Adaptor to Component tray. Save Project. Onto Step 13 in book… 9 Tasks Bind the Controls to the Dataset (if using controls / form). For each control, Go to DataBindings in property window, Text properties, bdsCustomer, and associate controls to dataset objects. 10 Tasks Add Binding Navigator drag from toolbox to top of form Name it bdsCustomers via property window Link your binding navigator to your data by changing BindingSource property of the binding navigator to bdsCustomer (drop down) Run your program!! 11 On to Customer Queries Select TblCustomersTableAdapter in component tray. Select Add Query... at the bottom of the Properties window Search Criteria Builder wizard displays Select a New query name: and enter Outdoors to build a query of customers interested in the outdoors (see next slide) 12 Query Wizard looks like: Customers Search Criteria Builder Added query name 13 Customer Queries Select Query Builder button to open the Query Builder dialog (three slides down) Top section has the fields listed for tblCustomers and all fields are selected Leave all the fields selected All fields must be selected when using the DataGridView 14 Customer Queries Second section has a list of the fields and the search criteria for it (two slides down) Build your query in this section Scroll down to the Interests field Change the Filter to = ‘Outdoors’ Modifies a query template (next slide) that looks through all the records and returns those with Outdoors as an Interest And adds the query being built in the third section 15 See SQL next slide: Customer Queries Third section now reads SELECT ID, LastName, FirstName, CustNum, Address, City, State, Zip, Since, [Last], Preferred, AcctBalance, Interests FROM tblCustomers WHERE (Interests = 'Outdoors') ADDED THE Where! 16 WHERE clause added to the SQL statement being build Statement says to select all fields from tblCustomers and only those records where ‘Outdoors’ is in the Interests field Customer Queries Customers Query Builder 17 Customer Queries Select OK to close the Query Builder (last slide) Select OK to close the Search Criteria Builder and create your query (slide not shown) • ToolStrip named OutdoorsToolStrip is added to component tray and thus your query is added! • underneath Binding Navigator Run program; all records available as output Select Outdoors runs the query and it displays only those records with Outdoors listed in the Interests field 18 Customer Queries Note the Code added to the click event for the Outdoors button on the ToolStrip Try Me.TblCustomersTableAdapter.Outdoors(Me.CustomersDa taSet.tblCustomers) Catch ex As System.Exception System.Windows.Forms.MessageBox.Show(ex.Message) End Try 19 Query: Select All Records. (new) Select TblCustomersTableAdapter in component tray Select Add Query... bottom of the Properties window Displays Search Criteria Builder wizard Data source table already set Select a New query name: (I named it AllQuery) and Select Query Builder Button. (Want all, so no changes) Select OK for Query Builder (see window title too) 20 Select OK for Search Criteria Builder (see window title) Query: AllQuery SQL stays the same. SELECT ID, LastName, FirstName, CustNum, Address, City, State, Zip, Since, [Last], Preferred, AcctBalance, Interests FROM tblCustomers ToolStrip named All added to the component try and underneath Binding Navigator strip 21 Run the program Click Outdoors to run that query and it displays only those records in the DataGridView Click All to display all the records in your view. Query: AllQuery Code added to the click event for the All button in the new ToolStrip Also added another subroutine in the code window for this query: Private Sub AllQueryToolStripButton_Click…. Try Me.TblCustomersTableAdapter.All(Me.CustomersDataSet .tblCustomers) Catch ex As System.Exception 22 System.Windows.Forms.MessageBox.Show(ex.Message) End Try More If you want to play with these, you can get rid of a set of query toolstrips. See book. 23 Data Base Terminology - Important When a DataSet is created it generates an .xsd file View it by selecting the TableAdapter and Edit Queries in the DataSet Designer at the bottom of the Properties window Contains the XML schema XML (Extensible Markup Language): Is a specification for creating content and structure for data; 24 XML is an open standard specification widely used as a specification language for data and the web Customer Queries These documents define and validate the content and structure of your data Use to exchange data between applications Schema a diagram or plan detailing the structure of your content; for VB, it contains the structure for your DataSet 25 Customer Queries Customers DataSet1 Existing Queries 26 VB Quiz 03 What happens if you don't select all the fields for a query? An Exception will be generated. What makes the Query Builder useful? You don’t have to know SQL. But this is limiting… How were the records sorted in the Payable query? Last Name What SQL code was needed to do it? Ordered by… 27 Potential Problems Your program won’t work if the database is corrupt Database file cannot be in use by another program Don’t delete or change code that’s automatically generated Bind your DataSet to a DataGridView or to individual controls such as a TextBox or Label Include a BindingNavigator so you can move between records Be careful when deleting controls from the component tray and Solution Explorer 28 On Your Own Take a look at Appendix G -- Structured Query Language (SQL) Basics Add queries to the Customer program Customers in your state Customers without Preferred status Customers name Ecks, Ray Customers since 2008 29 On Your Own Create a program with the Customers file that displays data in TextBoxes and CheckBoxes Add controls and code to allow the user to update the database 30 Part 5; Project 4. 50 points Create a program with the KidsFirst file that displays data in a DataGridView Add queries to find all students in Miss Brooks class all students without a pet (look for ‘none’) all seven-year-old students all seven-year-old students in Mr. Moore’s class all students in order by LastName all students in descending order by Locker 31 If you are smart…. You will go over the Review questions, the terms, the multiple choice questions, etc. at the end of the chapter! 32 Summary Visual Basic has controls that can link it to a database Chapter contains tutorials to demonstrate how to connect to an Access file and manipulate records in a file Database controls were introduced Simple SQL examples were introduced 33