<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" gd:etag="W/&quot;DUUERH86eyp7ImA9WhRaE0U.&quot;"><id>tag:blogger.com,1999:blog-1377035743924480918</id><updated>2012-02-16T02:13:25.113-08:00</updated><category term="XBox" /><category term="XML" /><category term="SQL" /><category term="Master Chief" /><category term="MOSS 07" /><category term="Web Services" /><category term="ASP.NET" /><category term=".NET" /><category term="Networking" /><title>Geek In A Cube</title><subtitle type="html">(Notes To Myself)</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://chrystalsander.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://chrystalsander.blogspot.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/1377035743924480918/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>Chrystal Sander</name><uri>http://www.blogger.com/profile/15786792589787153968</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="29" src="http://3.bp.blogspot.com/_f_sHYo8LsZw/TQVrIUgi8MI/AAAAAAAAA7k/p8Q4gBKlR4g/S220/chrystal1.jpg" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>54</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/InsufficientMemory" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="insufficientmemory" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:emailServiceId xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">InsufficientMemory</feedburner:emailServiceId><feedburner:feedburnerHostname xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://feedburner.google.com</feedburner:feedburnerHostname><entry gd:etag="W/&quot;CkYFQ3o6eyp7ImA9WhRVFkg.&quot;"><id>tag:blogger.com,1999:blog-1377035743924480918.post-2717602719796363819</id><published>2012-01-15T09:40:00.000-08:00</published><updated>2012-01-15T09:55:12.413-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-15T09:55:12.413-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="SQL" /><title>SQL Server Error:  Recover [DBNAME] From Suspect Mode</title><content type="html">This error can occur when the error log file does not match the database file or when the .&lt;span id="SPELLING_ERROR_0" class="blsp-spelling-error"&gt;mdb&lt;/span&gt; file is detected as being corrupt.&lt;br /&gt;&lt;br /&gt;There are multiple ways to fix the problem and the solution depends on whether or not your database has data that is critical for you to keep. For me, I only get this error on my local box where I'm conducting allot of experiments and tests so that there is no need for me to worry about critical data. This makes the restoration task much more simple.&lt;br /&gt;&lt;br /&gt;First, I try the following canned stored procedure : &lt;strong&gt;&lt;span id="SPELLING_ERROR_1" class="blsp-spelling-error"&gt;sp&lt;/span&gt;_&lt;span id="SPELLING_ERROR_2" class="blsp-spelling-error"&gt;resetstatus&lt;/span&gt;. &lt;/strong&gt;If this fails then the following always works: &lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;Stop the &lt;span id="SPELLING_ERROR_3" class="blsp-spelling-error"&gt;SQL&lt;/span&gt; Server database &amp;amp; services&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;Rename or move the "&lt;span id="SPELLING_ERROR_4" class="blsp-spelling-error"&gt;msdblog&lt;/span&gt;.&lt;span id="SPELLING_ERROR_5" class="blsp-spelling-error"&gt;ldf&lt;/span&gt;" &amp;amp; "&lt;span id="SPELLING_ERROR_6" class="blsp-spelling-error"&gt;msdbdata&lt;/span&gt;.&lt;span id="SPELLING_ERROR_7" class="blsp-spelling-error"&gt;mdf&lt;/span&gt;" files&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;Copy "&lt;span id="SPELLING_ERROR_8" class="blsp-spelling-error"&gt;msdblog&lt;/span&gt;.&lt;span id="SPELLING_ERROR_9" class="blsp-spelling-error"&gt;ldf&lt;/span&gt; &amp;amp; &lt;span id="SPELLING_ERROR_10" class="blsp-spelling-error"&gt;msdbdata&lt;/span&gt;.&lt;span id="SPELLING_ERROR_11" class="blsp-spelling-error"&gt;mdf&lt;/span&gt;" files from any other working database installation to the same path&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;Start the &lt;span id="SPELLING_ERROR_12" class="blsp-spelling-error"&gt;SQL&lt;/span&gt; Server database&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1377035743924480918-2717602719796363819?l=chrystalsander.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://chrystalsander.blogspot.com/feeds/2717602719796363819/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://chrystalsander.blogspot.com/2012/01/sql-server-error-recover-dbname-from.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1377035743924480918/posts/default/2717602719796363819?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1377035743924480918/posts/default/2717602719796363819?v=2" /><link rel="alternate" type="text/html" href="http://chrystalsander.blogspot.com/2012/01/sql-server-error-recover-dbname-from.html" title="SQL Server Error:  Recover [DBNAME] From Suspect Mode" /><author><name>Chrystal Sander</name><uri>http://www.blogger.com/profile/15786792589787153968</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="29" src="http://3.bp.blogspot.com/_f_sHYo8LsZw/TQVrIUgi8MI/AAAAAAAAA7k/p8Q4gBKlR4g/S220/chrystal1.jpg" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;DUAHQH0yeyp7ImA9WhRQF04.&quot;"><id>tag:blogger.com,1999:blog-1377035743924480918.post-3341926839208970141</id><published>2011-12-12T01:01:00.001-08:00</published><updated>2011-12-12T16:55:31.393-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-12T16:55:31.393-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Networking" /><title>Setting Up Your Home Wireless Network: Part I</title><content type="html">&lt;div align="center"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 183px; DISPLAY: block; HEIGHT: 244px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5685164569506050594" border="0" alt="" src="http://4.bp.blogspot.com/-gRPRwXZx-j4/TuXDDf8LciI/AAAAAAAAA_0/yGAXyXnqQCw/s320/netgear1.jpg" /&gt; &lt;em&gt;NETGEAR - N300 Wireless-N Router with 4-port Ethernet Switch&lt;/em&gt;&lt;/div&gt;&lt;br /&gt;To those of us already immersed in technology, setting up a wireless network will seem simple. However, we often forget how confusing it can be for someone with no experience. Here is a very simple summary of what needs to happen to make your home wireless.&lt;br/&gt;&lt;br /&gt;First, make sure you have all the equipment you need:&lt;br/&gt;&lt;br /&gt;1. Broadband internet connection (DSL or Cable)&lt;br/&gt;&lt;br /&gt;2. A modem (If you're already wired to the internet then you have a modem)&lt;br/&gt;&lt;br /&gt;3. A wireless router. A regular router is a piece of equipment that will, basically, allow you to daisy-chain multiple network cables to one internet connection. For example, I have my cable, Xbox and computer all going through my router. So, of course, a wireless router also allows you to connect your devices wirelessly. I've had good experience with Netgear products as shown above.&lt;br/&gt;&lt;br /&gt;4. Lastly, you need to make sure your device has a Wireless Network Adapter. Most laptops come with these included. If you want to double check your Windows device, then do the following:&lt;br/&gt;&lt;i&gt;&lt;br /&gt;&amp;nbsp&amp;nbspA.Click the "Start" button --&amp;gt; select Control Panel --&amp;gt; select System and Security&lt;br/&gt;&lt;br /&gt;&amp;nbsp&amp;nbspB.Under System, click Device Manager.‌&lt;br/&gt;&lt;br /&gt;&amp;nbsp&amp;nbspC.Double-click Network adapters.&lt;br/&gt;&lt;br /&gt;&amp;nbsp&amp;nbspD.Look for a network adapter that includes "wireless" in the name (see picture below).&lt;/i&gt;&lt;br/&gt;&lt;br /&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 320px; DISPLAY: block; HEIGHT: 299px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5685171647680429282" border="0" alt="" src="http://3.bp.blogspot.com/-irAntXLmR3E/TuXJfgMdPOI/AAAAAAAABAA/8wWqlQxyF6M/s320/deviceMgr.JPG" /&gt;Once you have your hardware, then you are ready to get the network up and running. I'll explain that in Part II.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1377035743924480918-3341926839208970141?l=chrystalsander.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://chrystalsander.blogspot.com/feeds/3341926839208970141/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://chrystalsander.blogspot.com/2011/12/setting-up-your-home-wireless-network.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1377035743924480918/posts/default/3341926839208970141?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1377035743924480918/posts/default/3341926839208970141?v=2" /><link rel="alternate" type="text/html" href="http://chrystalsander.blogspot.com/2011/12/setting-up-your-home-wireless-network.html" title="Setting Up Your Home Wireless Network: Part I" /><author><name>Chrystal Sander</name><uri>http://www.blogger.com/profile/15786792589787153968</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="29" src="http://3.bp.blogspot.com/_f_sHYo8LsZw/TQVrIUgi8MI/AAAAAAAAA7k/p8Q4gBKlR4g/S220/chrystal1.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-gRPRwXZx-j4/TuXDDf8LciI/AAAAAAAAA_0/yGAXyXnqQCw/s72-c/netgear1.jpg" height="72" width="72" /><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;Ak8NRXcyeip7ImA9WhRQFkg.&quot;"><id>tag:blogger.com,1999:blog-1377035743924480918.post-8127989699462494723</id><published>2011-12-11T18:30:00.000-08:00</published><updated>2011-12-11T19:01:34.992-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-11T19:01:34.992-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Web Services" /><category scheme="http://www.blogger.com/atom/ns#" term="XML" /><title>Intro to XML and Serialization</title><content type="html">XML (&lt;a href="http://www.w3schools.com/xml/" target="_blank"&gt;Extensible Markup Language&lt;/a&gt;) is a set of rules for encoding documents sent across the internet. In simpler terms, I tend to view XML as more of a format for passing data. Let's say you were online shopping for a calculator. The website would collect your data. For example,&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#009900;"&gt;Name: Master Chief&lt;br /&gt;Address: 50 Forerunner Lane 98356&lt;br /&gt;Item: Calculator&lt;br /&gt;Price 76.98&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;The data above is easy for you to read if you are human, speak English, and live in America; however, if you are in France then it would need to look different for you to understand. That is one reason we have internet standards, formats, languages, etc. -- we want computers "anywhere to be able to read your data and translate it to human verbatum.&lt;br /&gt;&lt;br /&gt;If we were to translate your data into read-able XML, then it would first look something like this:&lt;br /&gt;&lt;span style="color:#009900;"&gt;&lt;br /&gt;&amp;lt;name&amp;gt;Master Chief&amp;lt;/name&amp;gt;&lt;br /&gt;&amp;lt;address&amp;gt;50 Forerunner Lane 98356&amp;lt;/address&amp;gt;&lt;br /&gt;&amp;lt;item&amp;gt;Calculator&amp;lt;/item&amp;gt;&lt;br /&gt;&amp;lt;price&amp;gt;76.98&amp;lt;/price&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Now, for the complicated part -- serializing and de-serializing the data. Once your computer is ready to actually send the data to it's destination, it must be serialized. Serialization is the process of converting the data into a format that can be easily sent across the internet. My definition of serialization is the breaking up of data into small parts so that it can be sent more quickly and efficiently. Once the data reaches it recipient, then it must be deserialized back into the format above.&lt;br /&gt;&lt;br /&gt;The data above may seem pretty simple to send so why bother with serialization? Most data is not so simple. What if you want to send a whole book or an entire database? It could take forever! Also, serialization can implement encryption of your private data so that it is more secure and not easily seen by anyone else -- handy for credit card information !&lt;br /&gt;&lt;br /&gt;And that's XML and Serialization simplified.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1377035743924480918-8127989699462494723?l=chrystalsander.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://chrystalsander.blogspot.com/feeds/8127989699462494723/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://chrystalsander.blogspot.com/2011/12/intro-to-xml-and-serialization.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1377035743924480918/posts/default/8127989699462494723?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1377035743924480918/posts/default/8127989699462494723?v=2" /><link rel="alternate" type="text/html" href="http://chrystalsander.blogspot.com/2011/12/intro-to-xml-and-serialization.html" title="Intro to XML and Serialization" /><author><name>Chrystal Sander</name><uri>http://www.blogger.com/profile/15786792589787153968</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="29" src="http://3.bp.blogspot.com/_f_sHYo8LsZw/TQVrIUgi8MI/AAAAAAAAA7k/p8Q4gBKlR4g/S220/chrystal1.jpg" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;DEQHQn0yfip7ImA9WhdWGUs.&quot;"><id>tag:blogger.com,1999:blog-1377035743924480918.post-2354896576943395371</id><published>2011-09-13T19:09:00.000-07:00</published><updated>2011-09-13T19:12:13.396-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-13T19:12:13.396-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term=".NET" /><title>St. Louis Day Of .NET</title><content type="html">&lt;a href="http://1.bp.blogspot.com/-XONjZOl70fk/TnANXxeHtJI/AAAAAAAAA_s/DDKFRFfZ6gw/s1600/Capture.GIF"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 212px; DISPLAY: block; HEIGHT: 184px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5652032234417796242" border="0" alt="" src="http://1.bp.blogspot.com/-XONjZOl70fk/TnANXxeHtJI/AAAAAAAAA_s/DDKFRFfZ6gw/s320/Capture.GIF" /&gt;&lt;/a&gt; This is late coming, but I wanted to make sure I comment on this year's &lt;a href="http://www.stlouisdayofdotnet.com/2011" target="_blank"&gt;St. Louis Day of Dot Net&lt;/a&gt; . It was awesome! Microsoft &lt;a href="http://www.microsoft.com/visualstudio/en-us/lightswitch" target="_blank"&gt;"Lightswitch"&lt;/a&gt; was introduced. I caught up to HTML5 technology, as well as many others, and it was great.&lt;br /&gt;&lt;br /&gt;The yearly event was started in 2008 by the &lt;a href="http://www.stlnet.org/" target="_blank"&gt;St Louis .NET user group&lt;/a&gt;. Many props to this group and the generous sponsors. This year, 800 people attended the conference -- ranging from developers, architects, quality assurance, managers, designers, DBAs and other technology positions.&lt;br /&gt;&lt;br /&gt;It seems that most went away happy, satisfied, with a better understanding and encouragement to learn more about new technologies in .NET, databases, website development, architecture principles and software development in general.&lt;br /&gt;&lt;br /&gt;Also, thanks to my company for letting me attend these types of events. They are short enough to attend but provide enough information that I get my motivation re-charged.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1377035743924480918-2354896576943395371?l=chrystalsander.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://chrystalsander.blogspot.com/feeds/2354896576943395371/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://chrystalsander.blogspot.com/2011/09/st-louis-day-of-net_13.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1377035743924480918/posts/default/2354896576943395371?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1377035743924480918/posts/default/2354896576943395371?v=2" /><link rel="alternate" type="text/html" href="http://chrystalsander.blogspot.com/2011/09/st-louis-day-of-net_13.html" title="St. Louis Day Of .NET" /><author><name>Chrystal Sander</name><uri>http://www.blogger.com/profile/15786792589787153968</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="29" src="http://3.bp.blogspot.com/_f_sHYo8LsZw/TQVrIUgi8MI/AAAAAAAAA7k/p8Q4gBKlR4g/S220/chrystal1.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-XONjZOl70fk/TnANXxeHtJI/AAAAAAAAA_s/DDKFRFfZ6gw/s72-c/Capture.GIF" height="72" width="72" /><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;DEcEQH0yfCp7ImA9WhdWGUs.&quot;"><id>tag:blogger.com,1999:blog-1377035743924480918.post-1598141797667430713</id><published>2011-09-12T06:35:00.000-07:00</published><updated>2011-09-13T19:06:41.394-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-13T19:06:41.394-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Master Chief" /><title>Must Have Been A Rough Weekend</title><content type="html">&lt;a href="http://1.bp.blogspot.com/-Nm9z87NcBsQ/TnAMG5dfe3I/AAAAAAAAA_k/gjKuOIP9Ubw/s1600/Capture.GIF"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 320px; DISPLAY: block; HEIGHT: 266px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5652030844993239922" border="0" alt="" src="http://1.bp.blogspot.com/-Nm9z87NcBsQ/TnAMG5dfe3I/AAAAAAAAA_k/gjKuOIP9Ubw/s320/Capture.GIF" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;a href="http://3.bp.blogspot.com/-OfkZj_1yEuQ/TmzpHe3nTsI/AAAAAAAAA_Y/Vfw1N7Ek4W0/s1600/Capture.GIF"&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1377035743924480918-1598141797667430713?l=chrystalsander.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://chrystalsander.blogspot.com/feeds/1598141797667430713/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://chrystalsander.blogspot.com/2011/09/must-have-been-rough-weekend.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1377035743924480918/posts/default/1598141797667430713?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1377035743924480918/posts/default/1598141797667430713?v=2" /><link rel="alternate" type="text/html" href="http://chrystalsander.blogspot.com/2011/09/must-have-been-rough-weekend.html" title="Must Have Been A Rough Weekend" /><author><name>Chrystal Sander</name><uri>http://www.blogger.com/profile/15786792589787153968</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="29" src="http://3.bp.blogspot.com/_f_sHYo8LsZw/TQVrIUgi8MI/AAAAAAAAA7k/p8Q4gBKlR4g/S220/chrystal1.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-Nm9z87NcBsQ/TnAMG5dfe3I/AAAAAAAAA_k/gjKuOIP9Ubw/s72-c/Capture.GIF" height="72" width="72" /><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;D04NQHc6eCp7ImA9WhdWF0U.&quot;"><id>tag:blogger.com,1999:blog-1377035743924480918.post-789918509915403261</id><published>2011-09-11T09:15:00.000-07:00</published><updated>2011-09-11T17:06:31.910-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-11T17:06:31.910-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="SQL" /><title>SQL:  Maintaining Custom User Data Via Publishing Wizard</title><content type="html">We refresh our testing databases periodically with no problems. It is a logical protocol to make sure to alert all users ahead of time so that they may backup any needed custom data that they have entered themselves; however, when I did a data refresh this week something went awry and before I knew it there was a line to my desk, the phone was ringing, and email started piling up.&lt;br /&gt;&lt;br /&gt;Fortunately, we did have a backup copy of this database so I was able to query and recover this data. However, I needed a quick and simple way to have the users re-create this data without my involvement. I could set up some type of job to restore the data after each refresh , but the data would only need to exist for a few months and I did not have time to go through the red tape that would be required for this. Given this particular scenario, it was decided to create a SQL script that would do INSERTS for the data.&lt;br /&gt;&lt;br /&gt;Creating an INSERT script should not be difficult but it was too timely. Exporting and Importing the data was not ideal. I decided to investigate tools that would create the script for me. And there it was -- on my machine all along -- the SQL Server Publishing Wizard. I had forgotten all about it. I had just needed to locate it since there was no icon or link; therefore, the entire purpose of this way too-long-winded post :&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;color:#000099;"&gt;C:\Program Files\Microsoft SQL Server\90\Tools\Publishing\1.4\SqlPubWiz.exe&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Yay, now I have a reference and reminder!&lt;br /&gt;&lt;br /&gt;Anyway, it is worth mentioning that this tool is way inappropriate for large data. The data needed was a very small portion compared to the millions of rows that exists. I had to query the needed data to insert into a temp table and this made the wizard fast. Ideally, it would have been better to have the ability to query a table for data from within the wizard but I'm sure it is just a matter of time.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1377035743924480918-789918509915403261?l=chrystalsander.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://chrystalsander.blogspot.com/feeds/789918509915403261/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://chrystalsander.blogspot.com/2011/09/sql-maintaining-custom-user-data-via.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1377035743924480918/posts/default/789918509915403261?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1377035743924480918/posts/default/789918509915403261?v=2" /><link rel="alternate" type="text/html" href="http://chrystalsander.blogspot.com/2011/09/sql-maintaining-custom-user-data-via.html" title="SQL:  Maintaining Custom User Data Via Publishing Wizard" /><author><name>Chrystal Sander</name><uri>http://www.blogger.com/profile/15786792589787153968</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="29" src="http://3.bp.blogspot.com/_f_sHYo8LsZw/TQVrIUgi8MI/AAAAAAAAA7k/p8Q4gBKlR4g/S220/chrystal1.jpg" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;Ck8MRX06cCp7ImA9WhdQFk4.&quot;"><id>tag:blogger.com,1999:blog-1377035743924480918.post-1775629287264868043</id><published>2011-08-17T18:16:00.000-07:00</published><updated>2011-08-17T18:28:04.318-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-08-17T18:28:04.318-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="SQL" /><title>Error:  Cannot resolve the collation conflict</title><content type="html">This error started occurring after one of my &lt;span id="SPELLING_ERROR_0" class="blsp-spelling-error"&gt;SQL&lt;/span&gt; Server 2008 databases had been restored:
&lt;br /&gt;
&lt;br /&gt;&lt;span style="font-family:courier new;color:#009900;"&gt;&lt;span id="SPELLING_ERROR_1" class="blsp-spelling-error"&gt;Msg&lt;/span&gt; 468, Level 16, State 9 ...
&lt;br /&gt;Cannot resolve the collation conflict between "&lt;span id="SPELLING_ERROR_2" class="blsp-spelling-error"&gt;SQL&lt;/span&gt;_Latin1_General_&lt;span id="SPELLING_ERROR_3" class="blsp-spelling-error"&gt;CP&lt;/span&gt;1_CI_AS" and "&lt;span id="SPELLING_ERROR_4" class="blsp-spelling-error"&gt;SQL&lt;/span&gt;_Latin1_General_&lt;span id="SPELLING_ERROR_5" class="blsp-spelling-error"&gt;CP&lt;/span&gt;1_CS_AS" in the equal to operation.
&lt;br /&gt;&lt;/span&gt;
&lt;br /&gt;Supposedly, this type of error can &lt;span id="SPELLING_ERROR_6" class="blsp-spelling-error"&gt;occur when&lt;/span&gt; the &lt;span id="SPELLING_ERROR_7" class="blsp-spelling-error"&gt;tempdb&lt;/span&gt; collation does not match the current database collation -- especially if using temp tables.
&lt;br /&gt;
&lt;br /&gt;The easiest way to deal with this is to cast one of the field's collation so it matches the other, or you can cast both if you need. I'm not sure if this is best practice in the long run; however, if you're just doing some ad-&lt;span id="SPELLING_ERROR_8" class="blsp-spelling-error"&gt;hoc&lt;/span&gt; data mining then this is &lt;span id="SPELLING_ERROR_9" class="blsp-spelling-corrected"&gt;definitely&lt;/span&gt; a quick fix:
&lt;br /&gt;
&lt;br /&gt;&lt;span style="font-family:courier new;color:#009900;"&gt;INNER JOIN [TABLE1].FIELD1 AS EA
&lt;br /&gt;ON EA.SERIAL_&lt;span id="SPELLING_ERROR_10" class="blsp-spelling-error"&gt;NBR&lt;/span&gt; &lt;span style="color:#cc0000;"&gt;COLLATE database_default&lt;/span&gt; = E.SERIAL_&lt;span id="SPELLING_ERROR_11" class="blsp-spelling-error"&gt;NBR&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;COLLATE database_default&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#ff0000;"&gt; &lt;/span&gt;
&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1377035743924480918-1775629287264868043?l=chrystalsander.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://chrystalsander.blogspot.com/feeds/1775629287264868043/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://chrystalsander.blogspot.com/2011/08/error-cannot-resolve-collation-conflict.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1377035743924480918/posts/default/1775629287264868043?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1377035743924480918/posts/default/1775629287264868043?v=2" /><link rel="alternate" type="text/html" href="http://chrystalsander.blogspot.com/2011/08/error-cannot-resolve-collation-conflict.html" title="Error:  Cannot resolve the collation conflict" /><author><name>Chrystal Sander</name><uri>http://www.blogger.com/profile/15786792589787153968</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="29" src="http://3.bp.blogspot.com/_f_sHYo8LsZw/TQVrIUgi8MI/AAAAAAAAA7k/p8Q4gBKlR4g/S220/chrystal1.jpg" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;DU8AQn8_eip7ImA9WhdQE04.&quot;"><id>tag:blogger.com,1999:blog-1377035743924480918.post-7503660535392778347</id><published>2011-08-14T08:44:00.000-07:00</published><updated>2011-08-14T09:04:03.142-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-08-14T09:04:03.142-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="XBox" /><title>XBox Game Review: Your Shape -- Fitness Evolved</title><content type="html">&lt;a href="http://4.bp.blogspot.com/-cXqQ7mKMo6I/Tkftkg4M6VI/AAAAAAAAA_I/825bOZfo11g/s1600/fe.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 220px; DISPLAY: block; HEIGHT: 220px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5640738269861570898" border="0" alt="" src="http://4.bp.blogspot.com/-cXqQ7mKMo6I/Tkftkg4M6VI/AAAAAAAAA_I/825bOZfo11g/s320/fe.jpg" /&gt;&lt;/a&gt;
&lt;br /&gt;My Rating: 7/10
&lt;br /&gt;
&lt;br /&gt;I got this program last year for the &lt;span id="SPELLING_ERROR_0" class="blsp-spelling-error"&gt;Kinect&lt;/span&gt; and still have not finished it. Even though the graphics are obviously first-generation &lt;span id="SPELLING_ERROR_1" class="blsp-spelling-error"&gt;Kinect&lt;/span&gt;, the content is good -- if you've got the motivation. Unfortunately, the game is not very motivating. I wouldn't even call this a game since there is no fun-factor. I'm sure I burned many more calories in &lt;a href="http://www.xbox.com/kinectadventures" target="_blank"&gt;&lt;span id="SPELLING_ERROR_2" class="blsp-spelling-error"&gt;Kinect&lt;/span&gt; Adventures&lt;/a&gt;. After all, white-water rafting is much more enjoyable than squats.
&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1377035743924480918-7503660535392778347?l=chrystalsander.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://chrystalsander.blogspot.com/feeds/7503660535392778347/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://chrystalsander.blogspot.com/2011/08/xbox-game-review-your-shape-fitness.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1377035743924480918/posts/default/7503660535392778347?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1377035743924480918/posts/default/7503660535392778347?v=2" /><link rel="alternate" type="text/html" href="http://chrystalsander.blogspot.com/2011/08/xbox-game-review-your-shape-fitness.html" title="XBox Game Review: Your Shape -- Fitness Evolved" /><author><name>Chrystal Sander</name><uri>http://www.blogger.com/profile/15786792589787153968</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="29" src="http://3.bp.blogspot.com/_f_sHYo8LsZw/TQVrIUgi8MI/AAAAAAAAA7k/p8Q4gBKlR4g/S220/chrystal1.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-cXqQ7mKMo6I/Tkftkg4M6VI/AAAAAAAAA_I/825bOZfo11g/s72-c/fe.jpg" height="72" width="72" /><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;DEUEQX8_cCp7ImA9WhdQE04.&quot;"><id>tag:blogger.com,1999:blog-1377035743924480918.post-2119978627082220112</id><published>2011-08-14T08:30:00.000-07:00</published><updated>2011-08-14T08:36:40.148-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-08-14T08:36:40.148-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="SQL" /><title>Locate Stored Procedures Related To a Table</title><content type="html">&lt;span style="font-family:courier new;"&gt;&lt;span style="color:#009900;"&gt;----Option 1&lt;/span&gt;
&lt;br /&gt;SELECT DISTINCT so.name
&lt;br /&gt;FROM syscomments sc
&lt;br /&gt;INNER JOIN sysobjects so ON sc.id=so.id
&lt;br /&gt;WHERE LOWER(sc.TEXT) LIKE &lt;span style="color:#ff0000;"&gt;'%name%'&lt;/span&gt;
&lt;br /&gt;&lt;span style="color:#009900;"&gt;----Option 2&lt;/span&gt;
&lt;br /&gt;SELECT DISTINCT o.name, o.xtype
&lt;br /&gt;FROM syscomments sc
&lt;br /&gt;INNER JOIN sysobjects o ON sc.id=o.id
&lt;br /&gt;WHERE LOWER(sc.TEXT) LIKE &lt;span style="color:#ff0000;"&gt;'%name%'&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1377035743924480918-2119978627082220112?l=chrystalsander.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://chrystalsander.blogspot.com/feeds/2119978627082220112/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://chrystalsander.blogspot.com/2011/08/locate-stored-procedures-related-to.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1377035743924480918/posts/default/2119978627082220112?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1377035743924480918/posts/default/2119978627082220112?v=2" /><link rel="alternate" type="text/html" href="http://chrystalsander.blogspot.com/2011/08/locate-stored-procedures-related-to.html" title="Locate Stored Procedures Related To a Table" /><author><name>Chrystal Sander</name><uri>http://www.blogger.com/profile/15786792589787153968</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="29" src="http://3.bp.blogspot.com/_f_sHYo8LsZw/TQVrIUgi8MI/AAAAAAAAA7k/p8Q4gBKlR4g/S220/chrystal1.jpg" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;C0MCSH05fCp7ImA9WhZRFUo.&quot;"><id>tag:blogger.com,1999:blog-1377035743924480918.post-2377735932563473731</id><published>2011-04-11T18:23:00.000-07:00</published><updated>2011-04-11T18:24:29.324-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-04-11T18:24:29.324-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term=".NET" /><title>Visual Basic Operators:  'AndAlso' &amp; 'OrElse'</title><content type="html">Since I've mostly been using C# for the past few years, I sometimes get confused when I come across a Visual Basic application and have to distinguish between the newer operators (OrElse, AndALso vs Or, And)&lt;br /&gt;&lt;br /&gt;&lt;font style="font-weight: bold; color: rgb(0, 0, 153);"&gt;&lt;font style="font-style: italic;"&gt;Operator: OrElse&lt;/font&gt; &lt;/font&gt;&lt;br /&gt;&lt;br /&gt;This example uses the OrElse operator to perform logical disjunction on two expressions. The result is a Boolean value that represents whether either of the two expressions is true. If the first expression is True, the second is not evaluated.  If the first expression is false then the second expression is evaluated.&lt;br /&gt;&lt;br /&gt;&lt;font style="color: rgb(0, 0, 153);" face="courier new"&gt;Dim A As Integer = 10&lt;/font&gt;&lt;br /&gt;&lt;font style="color: rgb(0, 0, 153);" face="courier new"&gt;Dim B As Integer = 8&lt;/font&gt;&lt;br /&gt;&lt;font style="color: rgb(0, 0, 153);" face="courier new"&gt;Dim C As Integer = 6&lt;/font&gt;&lt;br /&gt;&lt;font style="color: rgb(0, 0, 153);" face="courier new"&gt;Dim myCheck As Boolean&lt;/font&gt;&lt;br /&gt;&lt;font style="color: rgb(0, 0, 153);" face="courier new"&gt;myCheck = A &amp;gt; B OrElse B &amp;gt; C   &lt;font style="color: rgb(0, 102, 0);"&gt;' True. Second expression is not evaluated.&lt;/font&gt;&lt;/font&gt;&lt;br /&gt;&lt;font style="color: rgb(0, 0, 153);" face="courier new"&gt;myCheck = B &amp;gt; A OrElse B &amp;gt; C   &lt;font style="color: rgb(0, 102, 0);"&gt;' True. Second expression is evaluated.&lt;/font&gt;&lt;/font&gt;&lt;br /&gt;&lt;font style="color: rgb(0, 0, 153);" face="courier new"&gt;myCheck = B &amp;gt; A OrElse C &amp;gt; B   &lt;font style="color: rgb(0, 102, 0);"&gt;' False.&lt;/font&gt;&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;font style="font-weight: bold; color: rgb(0, 0, 153); font-style: italic;"&gt;Operator:  Or&lt;/font&gt;  (if either expression evaluates to true then true will be returned)&lt;br /&gt;&lt;br /&gt;&lt;font style="color: rgb(0, 0, 153);" face="courier new"&gt;Dim A As Integer = 10&lt;/font&gt;&lt;br /&gt;&lt;font style="color: rgb(0, 0, 153);" face="courier new"&gt;Dim B As Integer = 8&lt;/font&gt;&lt;br /&gt;&lt;font style="color: rgb(0, 0, 153);" face="courier new"&gt;Dim C As Integer = 6&lt;/font&gt;&lt;br /&gt;&lt;font style="color: rgb(0, 0, 153);" face="courier new"&gt;Dim myCheck As Boolean&lt;/font&gt;&lt;br /&gt;&lt;font style="color: rgb(0, 0, 153);" face="courier new"&gt;myCheck = A &amp;gt; B Or B &amp;gt; C   &lt;font style="color: rgb(0, 102, 0);"&gt;' Returns True.&lt;/font&gt;&lt;/font&gt;&lt;br /&gt;&lt;font style="color: rgb(0, 0, 153);" face="courier new"&gt;myCheck = B &amp;gt; A Or B &amp;gt; C   &lt;font style="color: rgb(0, 102, 0);"&gt;' Returns True.&lt;/font&gt;&lt;/font&gt;&lt;br /&gt;&lt;font style="color: rgb(0, 0, 153);" face="courier new"&gt;myCheck = B &amp;gt; A Or C &amp;gt; B   &lt;font style="color: rgb(0, 102, 0);"&gt;' Returns False.&lt;/font&gt;&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;font style="font-weight: bold; color: rgb(0, 0, 153); font-style: italic;"&gt;Operator:  AndAlso&lt;/font&gt; (if first expression evaluates to false then second expression is not evaluated)&lt;br /&gt;&lt;br /&gt;&lt;font style="color: rgb(0, 0, 153);" face="courier new"&gt;Dim a As Integer = 10&lt;/font&gt;&lt;br /&gt;&lt;font style="color: rgb(0, 0, 153);" face="courier new"&gt;Dim b As Integer = 8&lt;/font&gt;&lt;br /&gt;&lt;font style="color: rgb(0, 0, 153);" face="courier new"&gt;Dim c As Integer = 6&lt;/font&gt;&lt;br /&gt;&lt;font style="color: rgb(0, 0, 153);" face="courier new"&gt;Dim firstCheck, secondCheck, thirdCheck As Boolean&lt;/font&gt;&lt;br /&gt;&lt;font style="color: rgb(0, 0, 153);" face="courier new"&gt;firstCheck = a &amp;gt; b AndAlso b &amp;gt; c  &lt;font style="color: rgb(0, 102, 0);"&gt; ' Returns True.&lt;/font&gt;&lt;/font&gt;&lt;br /&gt;&lt;font style="color: rgb(0, 0, 153);" face="courier new"&gt;secondCheck = b &amp;gt; a AndAlso b &amp;gt; c &lt;font style="color: rgb(0, 102, 0);"&gt; ' Returns False&lt;/font&gt;&lt;/font&gt;&lt;br /&gt;&lt;font style="color: rgb(0, 0, 153);" face="courier new"&gt;thirdCheck = a &amp;gt; b AndAlso c &amp;gt; b   &lt;font style="color: rgb(0, 102, 0);"&gt;' Returns False&lt;/font&gt;&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;font style="color: rgb(0, 0, 153); font-weight: bold; font-style: italic;"&gt;Operator:  And&lt;/font&gt;  (both expressions are evaluated)&lt;br /&gt;&lt;br /&gt;&lt;font style="color: rgb(0, 0, 153);" face="courier new"&gt;Dim a As Integer = 10&lt;/font&gt;&lt;br /&gt;&lt;font style="color: rgb(0, 0, 153);" face="courier new"&gt;Dim b As Integer = 8&lt;/font&gt;&lt;br /&gt;&lt;font style="color: rgb(0, 0, 153);" face="courier new"&gt;Dim c As Integer = 6&lt;/font&gt;&lt;br /&gt;&lt;font style="color: rgb(0, 0, 153);" face="courier new"&gt;Dim firstCheck, secondCheck As Boolean&lt;/font&gt;&lt;br /&gt;&lt;font style="color: rgb(0, 0, 153);" face="courier new"&gt;firstCheck = a &amp;gt; b And b &amp;gt; c  &lt;font style="color: rgb(0, 102, 0);"&gt; ' Returns True.&lt;/font&gt;&lt;/font&gt;&lt;br /&gt;&lt;font style="color: rgb(0, 0, 153);" face="courier new"&gt;secondCheck = b &amp;gt; a And b &amp;gt; c &lt;font style="color: rgb(0, 102, 0);"&gt; ' Returns False&lt;/font&gt;&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;Ideally,  the short circuit operations, you're saving on the extra condition check when the first one is satisfied (OrElse) or not satisfied (AndAlso). So these should give you better performance in general.&lt;br /&gt;&lt;br /&gt;OrElse: &lt;a href="http://msdn.microsoft.com/en-us/library/ea1sssb2.aspx" target="_blank"&gt; http://msdn.microsoft.com/en-us/library/ea1sssb2.aspx&lt;/a&gt;&lt;br /&gt;AndAlso:&lt;a href="http://msdn.microsoft.com/en-us/library/cb8x3kfz.aspx" target="_blank"&gt; http://msdn.microsoft.com/en-us/library/cb8x3kfz.aspx&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1377035743924480918-2377735932563473731?l=chrystalsander.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://chrystalsander.blogspot.com/feeds/2377735932563473731/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://chrystalsander.blogspot.com/2011/04/visual-basic-operators-andalso-orelse.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1377035743924480918/posts/default/2377735932563473731?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1377035743924480918/posts/default/2377735932563473731?v=2" /><link rel="alternate" type="text/html" href="http://chrystalsander.blogspot.com/2011/04/visual-basic-operators-andalso-orelse.html" title="Visual Basic Operators:  'AndAlso' &amp; 'OrElse'" /><author><name>Chrystal Sander</name><uri>http://www.blogger.com/profile/15786792589787153968</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="29" src="http://3.bp.blogspot.com/_f_sHYo8LsZw/TQVrIUgi8MI/AAAAAAAAA7k/p8Q4gBKlR4g/S220/chrystal1.jpg" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;DEEARng_eip7ImA9WhZRFEk.&quot;"><id>tag:blogger.com,1999:blog-1377035743924480918.post-7007857934097204433</id><published>2011-04-10T07:43:00.001-07:00</published><updated>2011-04-10T07:44:07.642-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-04-10T07:44:07.642-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="XBox" /><title>XBox Game Review: Homefront</title><content type="html">&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/-TdtWldCfhLM/TZidiCD9naI/AAAAAAAAA-k/8Q3PJu8eDm0/s1600/homefront.jpg"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 154px; height: 220px;" src="http://4.bp.blogspot.com/-TdtWldCfhLM/TZidiCD9naI/AAAAAAAAA-k/8Q3PJu8eDm0/s320/homefront.jpg" alt="" id="BLOGGER_PHOTO_ID_5591392145375075746" border="0" /&gt;&lt;/a&gt;My Rating:  6.5/10&lt;br /&gt;&lt;br /&gt;Despite the nagging voice in the back of my head that this game would be all hype, I was looking forward to this game so much that I pre-ordered it anyway.  Bad idea.&lt;br /&gt;&lt;br /&gt;The story was interesting -- Both North and South Korea join up with Japan to make a super-army that invades the United States.  Having grown up in the &lt;a href="http://www.imdb.com/title/tt0087985/" target="_blank"&gt;Red Dawn&lt;/a&gt; era, the story inspired a touch of fear in me; however, this was quickly flamed out.&lt;br /&gt;&lt;br /&gt;Game-play was rather sloppy.  Auto-aim only worked for enemies that were really close so perhaps the PC version is better. &lt;br /&gt;&lt;br /&gt;The graphics were not worth mentioning.  Many of the same objects were re-used throughout the entire game.&lt;br /&gt;&lt;br /&gt;The one good surprise was the multi-player mode.  Though not terribly extensive, the game-play was enjoyable.  Regardless,  I decided not to invest in multi-player mode and also did not play this game back through for the achievements.  Instead, I took it to &lt;a href="http://www.gamestop.com/" target="_blank"&gt;GameStop &lt;/a&gt;to trade in for &lt;a href="http://www.ea.com/crysis-2" target="_blank"&gt;Crysis 2&lt;/a&gt; for as much money as  possible before the inevitable price-drop that is soon to arrive.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1377035743924480918-7007857934097204433?l=chrystalsander.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://chrystalsander.blogspot.com/feeds/7007857934097204433/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://chrystalsander.blogspot.com/2011/04/xbox-game-review-homefront.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1377035743924480918/posts/default/7007857934097204433?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1377035743924480918/posts/default/7007857934097204433?v=2" /><link rel="alternate" type="text/html" href="http://chrystalsander.blogspot.com/2011/04/xbox-game-review-homefront.html" title="XBox Game Review: Homefront" /><author><name>Chrystal Sander</name><uri>http://www.blogger.com/profile/15786792589787153968</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="29" src="http://3.bp.blogspot.com/_f_sHYo8LsZw/TQVrIUgi8MI/AAAAAAAAA7k/p8Q4gBKlR4g/S220/chrystal1.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-TdtWldCfhLM/TZidiCD9naI/AAAAAAAAA-k/8Q3PJu8eDm0/s72-c/homefront.jpg" height="72" width="72" /><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;A0EGSX85fip7ImA9WhZSGUs.&quot;"><id>tag:blogger.com,1999:blog-1377035743924480918.post-1252669152394493741</id><published>2011-04-03T09:46:00.000-07:00</published><updated>2011-04-04T19:13:48.126-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-04-04T19:13:48.126-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="SQL" /><title>SQL: UNION vs. UNION ALL</title><content type="html">I try to avoid UNION clauses in most SQL that I write.  Historically, they have taken too much of a toll on performance.  Now we have a speedier alternative to the UNION clause -- UNION ALL.&lt;br /&gt;&lt;br /&gt;In a nutshell, a UNION statement effectively does a SELECT DISTINCT on the results set. If you know that all the records returned are unique from your union, use UNION ALL instead, it gives faster results.&lt;br /&gt;&lt;br /&gt;This &lt;span lang="EN"&gt;difference is that UNION ALL will not eliminate duplicate rows, instead it just pulls all rows  from all tables fitting your query specifics and combines them into a  table.&lt;br /&gt;&lt;br /&gt;UNION  Definition:&lt;br /&gt;The UNION command is used to select related information from two tables, much like the JOIN command. However, when using the UNION command all selected columns need to be of the same data type. With UNION, only distinct values are selected.&lt;br /&gt;&lt;br /&gt;UNION ALL Definition:&lt;br /&gt;The UNION ALL command is equal to the UNION command, except that UNION ALL selects all values.&lt;br /&gt;&lt;br /&gt;A great reference can be found in &lt;a href="http://blog.sqlauthority.com/2009/03/11/sql-server-difference-between-union-vs-union-all-optimal-performance-comparison/" target="_blank"&gt;Pinal Dave's blog.&lt;/a&gt;&lt;/span&gt;&lt;em&gt;&lt;b&gt;&lt;span lang="EN"&gt;&lt;/span&gt;&lt;/b&gt;&lt;/em&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1377035743924480918-1252669152394493741?l=chrystalsander.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://chrystalsander.blogspot.com/feeds/1252669152394493741/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://chrystalsander.blogspot.com/2011/04/sql-union-vs-union-all.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1377035743924480918/posts/default/1252669152394493741?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1377035743924480918/posts/default/1252669152394493741?v=2" /><link rel="alternate" type="text/html" href="http://chrystalsander.blogspot.com/2011/04/sql-union-vs-union-all.html" title="SQL: UNION vs. UNION ALL" /><author><name>Chrystal Sander</name><uri>http://www.blogger.com/profile/15786792589787153968</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="29" src="http://3.bp.blogspot.com/_f_sHYo8LsZw/TQVrIUgi8MI/AAAAAAAAA7k/p8Q4gBKlR4g/S220/chrystal1.jpg" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;A0YBRHw6fCp7ImA9WhZSGEk.&quot;"><id>tag:blogger.com,1999:blog-1377035743924480918.post-1073687539606969090</id><published>2011-04-03T08:56:00.000-07:00</published><updated>2011-04-03T09:45:55.214-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-04-03T09:45:55.214-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="XBox" /><title>Xbox Game Review: Call of Duty - Black Ops</title><content type="html">&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/-xm39jXeTNhE/TZibJpnog4I/AAAAAAAAA-c/mifaY6wUYSE/s1600/codbo.JPG"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 177px; height: 256px;" src="http://1.bp.blogspot.com/-xm39jXeTNhE/TZibJpnog4I/AAAAAAAAA-c/mifaY6wUYSE/s320/codbo.JPG" alt="" id="BLOGGER_PHOTO_ID_5591389527473685378" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;My Rating:  8/10&lt;br /&gt;&lt;br /&gt;I was looking forward to the story-line in this game but ended up hating it.  I switched the game to "Easy" mode just so I could get away from the repetitive, screeching, nails-on-the-chalkboard  What do the numbers mean!!!"   It seems that whenever&lt;a href="http://www.activision.com"&gt; Activision &lt;/a&gt;gets involved, then the Call Of Duty series goes downhill a ways.&lt;br /&gt;&lt;br /&gt;The game-play is good and the the graphics are superb.  Out of the majority of the other games, it should be a top-ranker in my book ... but it is not.  Like I mentioned, the campaign became so annoying that I had to force myself to finish it.   My intentions have been to play it back through to get some achievement points out of it but this has not happened.&lt;br /&gt;&lt;br /&gt;On the other hand, multi-player is excellent.  For those non-competitive types who want to just run around with friends and shoot, "Combat Training" mode is excellent as well.   For multi-player alone,  I'll hold on to this game for a while.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1377035743924480918-1073687539606969090?l=chrystalsander.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://chrystalsander.blogspot.com/feeds/1073687539606969090/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://chrystalsander.blogspot.com/2011/04/xbox-game-review-call-of-duty-black-ops.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1377035743924480918/posts/default/1073687539606969090?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1377035743924480918/posts/default/1073687539606969090?v=2" /><link rel="alternate" type="text/html" href="http://chrystalsander.blogspot.com/2011/04/xbox-game-review-call-of-duty-black-ops.html" title="Xbox Game Review: Call of Duty - Black Ops" /><author><name>Chrystal Sander</name><uri>http://www.blogger.com/profile/15786792589787153968</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="29" src="http://3.bp.blogspot.com/_f_sHYo8LsZw/TQVrIUgi8MI/AAAAAAAAA7k/p8Q4gBKlR4g/S220/chrystal1.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-xm39jXeTNhE/TZibJpnog4I/AAAAAAAAA-c/mifaY6wUYSE/s72-c/codbo.JPG" height="72" width="72" /><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;D0ADRno5fip7ImA9WhZSGEk.&quot;"><id>tag:blogger.com,1999:blog-1377035743924480918.post-7666120140857026527</id><published>2011-04-03T08:44:00.000-07:00</published><updated>2011-04-03T08:49:37.426-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-04-03T08:49:37.426-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term=".NET" /><title>Using FileIOPermissions With StreamWriter</title><content type="html">&lt;pre&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;--The following exemplifies writing to a text file in a scenario where&lt;br /&gt;--permissions need to be temporarily altered:&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;string tempPath = @"c:/file.txt";&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;if (File.Exists(tempPath))&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;{&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;FileIOPermission fio =&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;   new FileIOPermission(FileIOPermissionAccess.Write, tempPath);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;fio.AddPathList(FileIOPermissionAccess.Write |&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;   FileIOPermissionAccess.Read, tempPath);&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;fio.Demand();&lt;/span&gt;  &lt;span style="color: rgb(0, 153, 0);"&gt;--use the .Demand method to obtain permission&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;StreamReader reader = new StreamReader(tempPath);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;string content = reader.ReadToEnd();&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;reader.Close();&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;for (int j = 0; j &amp;lt; stringToReplace.Length; j++)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;{&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;  content = Regex.Replace(content, stringToReplace[j],&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;      replacementString, RegexOptions.IgnoreCase);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;} &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;StreamWriter writer = new StreamWriter(tempPath);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;writer.Write(content); writer.Close();&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;} &lt;/span&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1377035743924480918-7666120140857026527?l=chrystalsander.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://chrystalsander.blogspot.com/feeds/7666120140857026527/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://chrystalsander.blogspot.com/2011/04/using-fileiopermissions-with.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1377035743924480918/posts/default/7666120140857026527?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1377035743924480918/posts/default/7666120140857026527?v=2" /><link rel="alternate" type="text/html" href="http://chrystalsander.blogspot.com/2011/04/using-fileiopermissions-with.html" title="Using FileIOPermissions With StreamWriter" /><author><name>Chrystal Sander</name><uri>http://www.blogger.com/profile/15786792589787153968</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="29" src="http://3.bp.blogspot.com/_f_sHYo8LsZw/TQVrIUgi8MI/AAAAAAAAA7k/p8Q4gBKlR4g/S220/chrystal1.jpg" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;CUADSHwycSp7ImA9WhZSE0s.&quot;"><id>tag:blogger.com,1999:blog-1377035743924480918.post-3783541389359559905</id><published>2011-03-28T18:51:00.001-07:00</published><updated>2011-03-28T18:56:19.299-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-03-28T18:56:19.299-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Master Chief" /><title>Chief Practicing His Modeling Skills</title><content type="html">&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/-bJOB8eL97YM/TZE8H94_LhI/AAAAAAAAA-M/H8Q4J5dgF_o/s1600/mchief_poser.JPG"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 268px;" src="http://2.bp.blogspot.com/-bJOB8eL97YM/TZE8H94_LhI/AAAAAAAAA-M/H8Q4J5dgF_o/s320/mchief_poser.JPG" alt="" id="BLOGGER_PHOTO_ID_5589314720113831442" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;center&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/center&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1377035743924480918-3783541389359559905?l=chrystalsander.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://chrystalsander.blogspot.com/feeds/3783541389359559905/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://chrystalsander.blogspot.com/2011/03/chief-practicing-his-modeling-skills.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1377035743924480918/posts/default/3783541389359559905?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1377035743924480918/posts/default/3783541389359559905?v=2" /><link rel="alternate" type="text/html" href="http://chrystalsander.blogspot.com/2011/03/chief-practicing-his-modeling-skills.html" title="Chief Practicing His Modeling Skills" /><author><name>Chrystal Sander</name><uri>http://www.blogger.com/profile/15786792589787153968</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="29" src="http://3.bp.blogspot.com/_f_sHYo8LsZw/TQVrIUgi8MI/AAAAAAAAA7k/p8Q4gBKlR4g/S220/chrystal1.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-bJOB8eL97YM/TZE8H94_LhI/AAAAAAAAA-M/H8Q4J5dgF_o/s72-c/mchief_poser.JPG" height="72" width="72" /><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;CkYDRH8zfSp7ImA9WhZSEkk.&quot;"><id>tag:blogger.com,1999:blog-1377035743924480918.post-1012862940011898434</id><published>2011-03-27T08:16:00.000-07:00</published><updated>2011-03-27T08:36:15.185-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-03-27T08:36:15.185-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="ASP.NET" /><title>Deprecated 'center' Tag In HTML 5</title><content type="html">Ok, so if your web site is no longer centered in FireFox but still works in Internet Explorer, then remember back to when the 'center' tag was deprecated back in HTML 5.   FireFox simply will not tolerate this tag any longer and pushes to the standard of having tags DESCRIBE its contents and not DEFINE them. 
&lt;br /&gt;
&lt;br /&gt;Anyway, you might get away with replacing your 'center' tags with:
&lt;br /&gt;
&lt;br /&gt;&lt;span style="font-family: courier new; color: rgb(0, 0, 153);"&gt; 'div style="text-align: center;"'&lt;/span&gt;
&lt;br /&gt;
&lt;br /&gt;However, it would probably be better to change your architecture to reference an "auto" property in your .css :
&lt;br /&gt;
&lt;br /&gt;&lt;span style="font-family: courier new; color: rgb(0, 0, 153);"&gt;"margin: auto;"&lt;/span&gt;
&lt;br /&gt;&lt;span style="font-family: courier new; color: rgb(0, 0, 153);"&gt;"margin-left: auto;"&lt;/span&gt;
&lt;br /&gt;&lt;span style="font-family: courier new; color: rgb(0, 0, 153);"&gt;"margin-right: auto;"&lt;/span&gt;
&lt;br /&gt;&lt;/center&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1377035743924480918-1012862940011898434?l=chrystalsander.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://chrystalsander.blogspot.com/feeds/1012862940011898434/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://chrystalsander.blogspot.com/2011/03/deprecated-center-tag-in-html-5.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1377035743924480918/posts/default/1012862940011898434?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1377035743924480918/posts/default/1012862940011898434?v=2" /><link rel="alternate" type="text/html" href="http://chrystalsander.blogspot.com/2011/03/deprecated-center-tag-in-html-5.html" title="Deprecated 'center' Tag In HTML 5" /><author><name>Chrystal Sander</name><uri>http://www.blogger.com/profile/15786792589787153968</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="29" src="http://3.bp.blogspot.com/_f_sHYo8LsZw/TQVrIUgi8MI/AAAAAAAAA7k/p8Q4gBKlR4g/S220/chrystal1.jpg" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;Ck4NQ3s8fSp7ImA9WhZSEEw.&quot;"><id>tag:blogger.com,1999:blog-1377035743924480918.post-4018478087001507227</id><published>2011-03-24T16:50:00.000-07:00</published><updated>2011-03-24T16:56:32.575-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-03-24T16:56:32.575-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term=".NET" /><title>Rapid Application Development (RAD) With The DataGridVIew</title><content type="html">Earlier this week, I came across a new developer who was trying to loop through his DataGridView to get the data out of it.  Usually, RAD development with the DataGridView just does not work for most of my business scenarios but here was a clear case where it worked well so I will paste my instructions here:&lt;br /&gt;&lt;br /&gt;1.  Create your form.&lt;br /&gt;&lt;br /&gt;2.  Drag a DataGridView to your form.  A pop-up window entitled "DataGridView Tasks" should appear.  If not, then there should be a small arrow in the top right-hand corner of the DataGrid.  &lt;br /&gt;&lt;br /&gt;3.  From here, select "Choose Data Source  --&gt;  Add Project Data Source."  This should trigger a wizard that will assist you in setting up your database connection.  Select "Database", then select your table, and continue to walk through the wizard.&lt;br /&gt;&lt;br /&gt;4.  If you return to your form, you should now see a DataSet, a BindingSource, and a TableAdapter.  These are the tools that you will use to get and save your DataGrid data.&lt;br /&gt;&lt;br /&gt;5.  Note that in your Form_Load event, there should be a like of code similar to the following:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;this.tableAdapter.Fill(this.dataSet1.table);&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;6.  Now, add a button to your form and create a _Click event.  Here you should be able to save your data by entering your version of the following lines of code:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;this.Validate();&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;this.tableBindingSource.EndEdit();&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;this.tableAdapter.Update(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;dataSet1&lt;/span&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;.table);&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;7.  The data should now be updated in your DataGrid and database.&lt;br /&gt;&lt;br /&gt;This code will fill your DataGridView upon load.  You can modify the SQL in the DataSet to pull only select data if you wish.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms171933%28v=vs.80%29.aspx" target="_blank"&gt;http://msdn.microsoft.com/en-us/library/ms171933(v=vs.80).aspx&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1377035743924480918-4018478087001507227?l=chrystalsander.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://chrystalsander.blogspot.com/feeds/4018478087001507227/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://chrystalsander.blogspot.com/2011/03/rapid-application-development-rad-with.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1377035743924480918/posts/default/4018478087001507227?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1377035743924480918/posts/default/4018478087001507227?v=2" /><link rel="alternate" type="text/html" href="http://chrystalsander.blogspot.com/2011/03/rapid-application-development-rad-with.html" title="Rapid Application Development (RAD) With The DataGridVIew" /><author><name>Chrystal Sander</name><uri>http://www.blogger.com/profile/15786792589787153968</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="29" src="http://3.bp.blogspot.com/_f_sHYo8LsZw/TQVrIUgi8MI/AAAAAAAAA7k/p8Q4gBKlR4g/S220/chrystal1.jpg" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;DUYGQ3Y9fCp7ImA9WhZTGU8.&quot;"><id>tag:blogger.com,1999:blog-1377035743924480918.post-3470256519816559786</id><published>2011-03-23T17:35:00.000-07:00</published><updated>2011-03-23T17:38:42.864-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-03-23T17:38:42.864-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="SQL" /><title>Setting DateTime Value to Zero</title><content type="html">&lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: green;"&gt;--using DATEDIFF can set the time portion of your DateTime value to zeros --Handy!&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="color: rgb(0, 0, 153);" class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;DECLARE @Day DATETIME&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="color: rgb(0, 0, 153);" class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;SET @Day = DATEADD(DAY, -7, DATEDIFF(Day, 0, GETDATE()))&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1377035743924480918-3470256519816559786?l=chrystalsander.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://chrystalsander.blogspot.com/feeds/3470256519816559786/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://chrystalsander.blogspot.com/2011/03/setting-datetime-value-to-zero.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1377035743924480918/posts/default/3470256519816559786?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1377035743924480918/posts/default/3470256519816559786?v=2" /><link rel="alternate" type="text/html" href="http://chrystalsander.blogspot.com/2011/03/setting-datetime-value-to-zero.html" title="Setting DateTime Value to Zero" /><author><name>Chrystal Sander</name><uri>http://www.blogger.com/profile/15786792589787153968</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="29" src="http://3.bp.blogspot.com/_f_sHYo8LsZw/TQVrIUgi8MI/AAAAAAAAA7k/p8Q4gBKlR4g/S220/chrystal1.jpg" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;A0QEQ347fCp7ImA9WhZTFk4.&quot;"><id>tag:blogger.com,1999:blog-1377035743924480918.post-9187938768580538116</id><published>2011-03-20T09:34:00.000-07:00</published><updated>2011-03-20T09:41:42.004-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-03-20T09:41:42.004-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="MOSS 07" /><title>Moving Files In SharePoint</title><content type="html">&lt;p style="font-family: lucida grande;" class="MsoNormal"&gt;SharePoint's SiteManager is a great tool to manipulate folders and files;  however, it can sometimes fall short at times when a massive amount files need to be relocated.  With proper permissions, you can get around this by using Windows Explorer instead.  &lt;span style="font-style: italic; color: rgb(255, 0, 0);"&gt;PLEASE NOTE:  &lt;/span&gt;&lt;span style="font-style: italic;"&gt;When moving a mass of files around in this manner, you can lose certain file details -- such as history data.&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="font-family: lucida grande;"&gt;&lt;span&gt;Moving Files in SharePoint Via Windows Explorer:&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family: lucida grande;"&gt;&lt;span&gt;1.&lt;span style="font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;      &lt;/span&gt;&lt;/span&gt;Open up your SharePoint page in internet explorer and copy the path (ie, &lt;a href="http://dime/sites/yoursite" target="_blank"&gt;http://dime/sites/yoursite&lt;/a&gt;).&lt;/p&gt;&lt;p style="font-family: lucida grande;"&gt;&lt;span&gt;2.&lt;span style="font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;      &lt;/span&gt;&lt;/span&gt;Open up windows explorer and navigate to your web folders.&lt;/p&gt;&lt;p style="font-family: lucida grande;"&gt;&lt;span&gt;3.&lt;span style="font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;      &lt;/span&gt;&lt;/span&gt;Right click on ‘Web Folders’ and select ‘New’.&lt;/p&gt;&lt;p style="font-family: lucida grande;"&gt;&lt;span&gt;4.&lt;span style="font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;      &lt;/span&gt;&lt;/span&gt;Enter your path from step 1 and, like magic, you can drag and drop your files!  :D&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1377035743924480918-9187938768580538116?l=chrystalsander.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://chrystalsander.blogspot.com/feeds/9187938768580538116/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://chrystalsander.blogspot.com/2011/03/moving-files-in-sharepoint.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1377035743924480918/posts/default/9187938768580538116?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1377035743924480918/posts/default/9187938768580538116?v=2" /><link rel="alternate" type="text/html" href="http://chrystalsander.blogspot.com/2011/03/moving-files-in-sharepoint.html" title="Moving Files In SharePoint" /><author><name>Chrystal Sander</name><uri>http://www.blogger.com/profile/15786792589787153968</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="29" src="http://3.bp.blogspot.com/_f_sHYo8LsZw/TQVrIUgi8MI/AAAAAAAAA7k/p8Q4gBKlR4g/S220/chrystal1.jpg" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;AkINRHkyfSp7ImA9Wx9aFUk.&quot;"><id>tag:blogger.com,1999:blog-1377035743924480918.post-7604288604411412384</id><published>2011-03-07T17:41:00.000-08:00</published><updated>2011-03-07T17:43:15.795-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-03-07T17:43:15.795-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term=".NET" /><title>Ignore Casing When Searching For A String</title><content type="html">&lt;span style="color: rgb(0, 153, 0);font-family:courier new;" &gt;--use regex to search for string regardless of casing:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;content = Regex.Replace(content, stringToReplace, replacementString,&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;RegexOptions.IgnoreCase);&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1377035743924480918-7604288604411412384?l=chrystalsander.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://chrystalsander.blogspot.com/feeds/7604288604411412384/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://chrystalsander.blogspot.com/2011/03/ignore-casing-when-searching-for-string.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1377035743924480918/posts/default/7604288604411412384?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1377035743924480918/posts/default/7604288604411412384?v=2" /><link rel="alternate" type="text/html" href="http://chrystalsander.blogspot.com/2011/03/ignore-casing-when-searching-for-string.html" title="Ignore Casing When Searching For A String" /><author><name>Chrystal Sander</name><uri>http://www.blogger.com/profile/15786792589787153968</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="29" src="http://3.bp.blogspot.com/_f_sHYo8LsZw/TQVrIUgi8MI/AAAAAAAAA7k/p8Q4gBKlR4g/S220/chrystal1.jpg" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;C04BSXg7fSp7ImA9Wx9aFE4.&quot;"><id>tag:blogger.com,1999:blog-1377035743924480918.post-992508308022236239</id><published>2011-03-06T09:10:00.000-08:00</published><updated>2011-03-06T09:19:18.605-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-03-06T09:19:18.605-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term=".NET" /><title>Convert Comma-Delimited String To Array &amp; Loop</title><content type="html">&lt;span style="color: rgb(0, 153, 0);font-family:courier new;" &gt;--set whatever delimiter you want to use:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;char delimiter = ',';&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);font-family:courier new;" &gt;--Get the string you want to turn to an array (in this case, I use the app.config)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;string s = ConfigurationManager.AppSettings["StringToReplace"];&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);font-family:courier new;" &gt;--Declare an array for your string&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;string[] stringToReplace = s.Split(delimiter);&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);font-family:courier new;" &gt;--Finally, if you want to loop through your new array:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;string content = String.Empty;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;for (int j = 0; j &lt;&gt; 0; j++)&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;{&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;content = stringToReplace[j];&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1377035743924480918-992508308022236239?l=chrystalsander.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://chrystalsander.blogspot.com/feeds/992508308022236239/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://chrystalsander.blogspot.com/2011/03/convert-comma-delimited-string-to-array.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1377035743924480918/posts/default/992508308022236239?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1377035743924480918/posts/default/992508308022236239?v=2" /><link rel="alternate" type="text/html" href="http://chrystalsander.blogspot.com/2011/03/convert-comma-delimited-string-to-array.html" title="Convert Comma-Delimited String To Array &amp; Loop" /><author><name>Chrystal Sander</name><uri>http://www.blogger.com/profile/15786792589787153968</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="29" src="http://3.bp.blogspot.com/_f_sHYo8LsZw/TQVrIUgi8MI/AAAAAAAAA7k/p8Q4gBKlR4g/S220/chrystal1.jpg" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;CkENQX8zfSp7ImA9Wx9UEU4.&quot;"><id>tag:blogger.com,1999:blog-1377035743924480918.post-8693301797611566323</id><published>2011-02-07T18:01:00.000-08:00</published><updated>2011-02-07T18:04:50.185-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-02-07T18:04:50.185-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term=".NET" /><title>Error:  Option Strict On disallows operands of type Object for operator '&lt;&gt;'.</title><content type="html">This is a fairly easy error to fix :&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(255, 0, 0);"&gt;Error      55           Option Strict On disallows operands of type  Object for operator '&lt;&gt;'. Use the 'Is' operator to test for object  identity. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Chances are, you have a line of code like this:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: 9pt; font-family: &amp;quot;Courier New&amp;quot;; color: blue;"&gt;If&lt;/span&gt;&lt;span style="font-size: 9pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt; (&lt;span style="color: blue;"&gt;Me&lt;/span&gt;._item &lt;&gt; Value) &lt;span style="color: blue;"&gt;Then&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;Change it to this:&lt;br /&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 9pt; font-family: &amp;quot;Courier New&amp;quot;; color: blue;"&gt;If&lt;/span&gt;&lt;span style="font-size: 9pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt; &lt;span style="color: blue;"&gt;Not&lt;/span&gt; (&lt;span style="color: blue;"&gt;Me&lt;/span&gt;._item &lt;span style="color: blue;"&gt;Is&lt;/span&gt; Value) &lt;span style="color: blue;"&gt;Then&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;Of course, you could always try setting &lt;span style="font-style: italic;"&gt;Option Strict off,&lt;/span&gt; but that is usually not the best practice.&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1377035743924480918-8693301797611566323?l=chrystalsander.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://chrystalsander.blogspot.com/feeds/8693301797611566323/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://chrystalsander.blogspot.com/2011/02/error-option-strict-on-disallows.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1377035743924480918/posts/default/8693301797611566323?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1377035743924480918/posts/default/8693301797611566323?v=2" /><link rel="alternate" type="text/html" href="http://chrystalsander.blogspot.com/2011/02/error-option-strict-on-disallows.html" title="Error:  Option Strict On disallows operands of type Object for operator '&lt;&gt;'." /><author><name>Chrystal Sander</name><uri>http://www.blogger.com/profile/15786792589787153968</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="29" src="http://3.bp.blogspot.com/_f_sHYo8LsZw/TQVrIUgi8MI/AAAAAAAAA7k/p8Q4gBKlR4g/S220/chrystal1.jpg" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;DEQNQno8eip7ImA9Wx9VFkU.&quot;"><id>tag:blogger.com,1999:blog-1377035743924480918.post-7417925632798113034</id><published>2011-02-02T14:38:00.000-08:00</published><updated>2011-02-02T14:39:53.472-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-02-02T14:39:53.472-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Master Chief" /><title>Master Snowmen Builder</title><content type="html">&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_f_sHYo8LsZw/TUndDv08oTI/AAAAAAAAA94/YBWjQdH2UIg/s1600/mstrsnowmn.jpg"&gt;&lt;img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 320px; height: 308px;" src="http://2.bp.blogspot.com/_f_sHYo8LsZw/TUndDv08oTI/AAAAAAAAA94/YBWjQdH2UIg/s320/mstrsnowmn.jpg" alt="" id="BLOGGER_PHOTO_ID_5569225470668218674" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1377035743924480918-7417925632798113034?l=chrystalsander.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://chrystalsander.blogspot.com/feeds/7417925632798113034/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://chrystalsander.blogspot.com/2011/02/master-snowmen-buildre.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1377035743924480918/posts/default/7417925632798113034?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1377035743924480918/posts/default/7417925632798113034?v=2" /><link rel="alternate" type="text/html" href="http://chrystalsander.blogspot.com/2011/02/master-snowmen-buildre.html" title="Master Snowmen Builder" /><author><name>Chrystal Sander</name><uri>http://www.blogger.com/profile/15786792589787153968</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="29" src="http://3.bp.blogspot.com/_f_sHYo8LsZw/TQVrIUgi8MI/AAAAAAAAA7k/p8Q4gBKlR4g/S220/chrystal1.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_f_sHYo8LsZw/TUndDv08oTI/AAAAAAAAA94/YBWjQdH2UIg/s72-c/mstrsnowmn.jpg" height="72" width="72" /><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;DUMGRHgzeSp7ImA9Wx9WFUo.&quot;"><id>tag:blogger.com,1999:blog-1377035743924480918.post-3850294021620537231</id><published>2011-01-20T18:20:00.000-08:00</published><updated>2011-01-20T18:37:05.681-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-01-20T18:37:05.681-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="SQL" /><title>SQL Error Handling</title><content type="html">During the pre-SQL Server 2005 days, we had to handle errors via transactions.  At times, this could prove challenging when dealing with specific errors.  Some might fall through making debugging difficult.&lt;br /&gt;&lt;br /&gt;Fortunately, the team at Microsoft copied the try/catch approach from Visual Studio to SQL Server.&lt;br /&gt;&lt;br /&gt;Here is the deprecated approach:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 102);font-family:courier new;" &gt;BEGIN TRANSACTION&lt;br /&gt;&lt;br /&gt; DELETE FROM tblBlah&lt;br /&gt; WHERE DATESENT &lt;= @DATE  IF @@ERROR = 0     COMMIT TRANSACTION ELSE  ROLLBACK TRANSACTION&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Here is the current best practice:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 102);font-family:courier new;" &gt;BEGIN TRY&lt;br /&gt;BEGIN TRANSACTION&lt;br /&gt;&lt;br /&gt; DELETE FROM dbo.tblBlah&lt;br /&gt; WHERE DATESENT &lt;= @DATE  COMMIT TRANSACTION  END TRY  BEGIN CATCH   IF @@TRANCOUNT &gt; 0&lt;br /&gt;ROLLBACK TRANSACTION&lt;br /&gt;&lt;br /&gt;END CATCH&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1377035743924480918-3850294021620537231?l=chrystalsander.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://chrystalsander.blogspot.com/feeds/3850294021620537231/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://chrystalsander.blogspot.com/2011/01/sql-error-handling.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1377035743924480918/posts/default/3850294021620537231?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1377035743924480918/posts/default/3850294021620537231?v=2" /><link rel="alternate" type="text/html" href="http://chrystalsander.blogspot.com/2011/01/sql-error-handling.html" title="SQL Error Handling" /><author><name>Chrystal Sander</name><uri>http://www.blogger.com/profile/15786792589787153968</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="29" src="http://3.bp.blogspot.com/_f_sHYo8LsZw/TQVrIUgi8MI/AAAAAAAAA7k/p8Q4gBKlR4g/S220/chrystal1.jpg" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;DUYDQ3c-cCp7ImA9Wx9WE0Q.&quot;"><id>tag:blogger.com,1999:blog-1377035743924480918.post-8220397880361710582</id><published>2011-01-18T16:27:00.000-08:00</published><updated>2011-01-18T16:32:52.958-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-01-18T16:32:52.958-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="SQL" /><title>Shhh! Secret Procedures!</title><content type="html">I don't have to tell you that the folks at Microsoft can be quite sneaky so, in case you don't already know, there are a number of unofficially documented SQL stored procedures that can make your life not only better, but often cursor-free.&lt;br /&gt;&lt;br /&gt;The one that is most helpful to me is entitled "sp_msforeachtable."   Using this stored procedure you can accomplish the same tasks on each table.&lt;br /&gt;&lt;br /&gt;You can Google it for more information but a short and simple article can be found at DatabaseJournal.com:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.databasejournal.com/sqletc/article.php/1490991/Quickly-Disable-Constraint-and-Triggers.htm" target="_blank"&gt;"Beginning with version 6.5 of SQL Server, Microsoft provides a stored procedure called sp_MSreachfortable. Using the question mark as a place holder for all table names, the procedure will do the same as the above query in a single line. You can replace the above cursor with this : &lt;br&gt;&lt;br /&gt;sp_MSforeachtable @command1="print '?' dbcc checktable ('?')"&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;For more handy secrets, do a search on "undocument sql server stored procedures" or &lt;a href="http://lmgtfy.com/?q=undocumented+sql+server+stored+procedures"&gt;http://lmgtfy.com/?q=undocumented+sql+server+stored+procedures&lt;/a&gt; .&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1377035743924480918-8220397880361710582?l=chrystalsander.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://chrystalsander.blogspot.com/feeds/8220397880361710582/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://chrystalsander.blogspot.com/2011/01/shhh-secret-procedures.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1377035743924480918/posts/default/8220397880361710582?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1377035743924480918/posts/default/8220397880361710582?v=2" /><link rel="alternate" type="text/html" href="http://chrystalsander.blogspot.com/2011/01/shhh-secret-procedures.html" title="Shhh! Secret Procedures!" /><author><name>Chrystal Sander</name><uri>http://www.blogger.com/profile/15786792589787153968</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="29" src="http://3.bp.blogspot.com/_f_sHYo8LsZw/TQVrIUgi8MI/AAAAAAAAA7k/p8Q4gBKlR4g/S220/chrystal1.jpg" /></author><thr:total>0</thr:total></entry></feed>

