Book - pseudorandom bits

advertisement
Neal Stublen
nstublen@jccc.edu
Open/Close Connections
ADO.NET uses “connection pooling” to
optimize opening and closing
connections to the database
 cxn.Open() and cxn.Close() are using
connections from the connection pool
that share the same connection string
 ADO.NET manages the actual
connection to the database
 http://msdn.microsoft.com/enus/library/8xx3tyca(v=vs.110).aspx

Think of it like this…
class SqlConnectionPool
{
public SqlConnection Open(string cxnStr)
{
if (mPool.Contains(cxnString))
{
return mPool[cxnString];
}
// Create a new connection
...
}
}
And…
class SqlConnectionPool
{
public void CheckIdle()
{
foreach (cxn in mPool)
{
if (cxn.IsIdle())
{
cxn.ReallyClose();
mPool.Remove(cxn);
}
}
}
}
DataSets in Class Libraries
Create a DataSet in the class libraries
 Select “Referenced DataSets” when
adding a DataSet control to a form
 Add a BindingSource
 Add form controls and bind them to the
BindingSource

Designer Walkthrough
Summary









MenuStrip w/ defaults
ToolStrip w/ defaults
StatusStrip
View Menu Toggles
PerformClick()
ToolStripContainer w/ docking
ContextMenuStrip
SplitContainer
ErrorProvider
File System Static Classes
System.IO namespace
 Directory

 CreateDirectory, Exists, Delete

File
 Exists, Delete, Copy, Move

Path
 Combine, GetDirectoryName, GetFileName,
GetExtension, GetTempFileName
 DirectorySeparatorChar,
VolumeSeparatorChar
File System Instance Classes

DirectoryInfo
 EnumeratorDirectories(), EnumerateFiles()

FileInfo
 Name, Length, Open(), OpenText()
File System Exceptions
FileNotFoundException
 DirectoryNotFoundException
 EndOfStreamException
 IOException

Stream Classes
FileStream
 StreamReader
 StreamWriter
 BinaryReader
 BinaryWriter

Code Practice
Browse for a text file
 Place the filename in a TextBox
 Read each line from the file and insert
into a ListView
 Use two columns in the ListView

 Line number
 Content
Review
OpenFileDialog
 ImageList
 ListView, DetailsView

What’s XML?
Structured data file
 Tags identify each data element
 Tags can have attributes and child tags







<Books>
<Book Code=“BK0001”>
<Name>Having Fun in Kansas City</Name>
<Price>19.95</Price>
</Book>
</Books>
XML Tags
Elements are identified by start tags,
<tag_name>, and end tags,
</tag_name>
 Content can be placed between tags in
the form of text or additional elements
 Elements can be described using a
single tag, <tag_name />
 Comments are tags in the form,

<!-– my comment -->
Tag Attributes

In addition to content, each tag can also
contain zero, one, or more attributes
instead of child elements:
<Book ISBN=“978-1-890774-59-2”>
</Book>
<Book>
<ISBN>978-1-890774-59-2</ISBN>
</Book>
Working with XML Files
Any text editor can be used to create
XML files
 Visual Studio helps create and edit XML
files

 Creates XML declaration
 Color coded tags
 Automatic indentation and closing tags
 Expanding and collapsing tags
XmlReader/XmlWriter
System.XML is the namespace that
contains XML classes
 Useful for exporting and importing data
in a common format

Writing XML Files
XmlWriter w = XmlWriter.Create(path, settings);
w.WriteStartDocument();
// A start tag
w.WriteStartElement(root_name);
// A nested start tag
w.WriteStartElement(parent_name);
// An attribute on the parent_name tag
w.WriteAttributeString(name, value);
// A complete element
w.WriteElementString(child_name, value);
// End tags for parent_name and root
w.WriteEndElement();
w.WriteEndElement();
w.Close();
Using XMLWriterSettings

Define indentation
XmlWriterSettings settings = new XmlWriterSettings();
settings.Indent = true;
settings.IndentChars = " ";
Code Practice
Create a new project called
CustomerExport
 Export the rows from the Customers
table to Customers.xml
 Consider how you would use
SqlConnection, SqlCommand, and
SqlReader
 Save the XML file on the Desktop as…

XML Format
<Customers>
<Customer id="157">
<Name>Abeyatunge, Derek</Name>
<Address>1414 S. Dairy Ashford</Address>
<City>North Chili</City>
<State>NY</State>
<ZipCode>14514
</ZipCode>
</Customer>
...
</Customers>
Review
MemoryStream
 XmlWriter
 SqlDataReader “inspection”
 System.Environment.GetFolderPath
 FileStream
 Debugging visualizers

Download