<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-8908545278841936450</id><updated>2011-11-10T01:43:06.247-08:00</updated><category term='login failed'/><category term='DataGridView'/><category term='li'/><category term='downlevel'/><category term='Unmanaged'/><category term='img'/><category term='INT'/><category term='min-width'/><category term='VB.NET'/><category term='VML'/><category term='DataTable'/><category term='functions'/><category term='date'/><category term='iteration'/><category term='FTPS'/><category term='ASP.NET'/><category term='DataSource'/><category term='truncate'/><category term='Photoshop'/><category term='data bound'/><category term='ready'/><category term='64'/><category term='window'/><category term='FTP'/><category term='sysobjects'/><category term='distance'/><category term='Safari'/><category term='IP'/><category term='LINQ to SQL'/><category term='integer'/><category term='UpdatePanel'/><category term='Recordset'/><category term='float'/><category term='table'/><category term='result set'/><category term='network passwords'/><category term='jQuery'/><category term='select'/><category term='CSS'/><category term='menus'/><category term='IEnumerable'/><category term='Web Services'/><category term='schema'/><category term='auto-refresh'/><category term='DLL'/><category term='paste method of worksheet class failed'/><category term='parameters'/><category term='Recent menu'/><category term='max-height'/><category term='postback'/><category term='HTMLEncode'/><category term='empty grid'/><category term='startup object'/><category term='0x80010105'/><category term='stacking'/><category term='user'/><category term='vertical'/><category term='oracle'/><category term='style'/><category term='for each db'/><category term='visual studio'/><category term='NAT'/><category term='split'/><category term='SetEndOfFile'/><category term='output'/><category term='nested'/><category term='port scan'/><category term='agony'/><category term='text'/><category term='z-index'/><category term='transparency'/><category term='color'/><category term='FileUpload'/><category term='MDI'/><category term='regular expressions'/><category term='exponents'/><category term='methods'/><category term='T-SQL'/><category term='octet'/><category term='JavaScript'/><category term='automation'/><category term='disable'/><category term='error'/><category term='numeric'/><category term='increment'/><category term='vista'/><category term='hover'/><category term='web design'/><category term='.NET'/><category term='Web References'/><category term='linked server'/><category term='four part query'/><category term='RPC_E_SERVERFAULT'/><category term='MOSS 2007'/><category term='list'/><category term='gaps'/><category term='XP'/><category term='SSE'/><category term='SQL Server'/><category term='AJAX'/><category term='query plan'/><category term='asmx'/><category term='load'/><category term='ADODB'/><category term='export'/><category term='enable application framework'/><category term='ASPX'/><category term='png'/><category term='string'/><category term='console'/><category term='Access'/><category term='excel'/><category term='escape characters'/><category term='end of file'/><category term='AddPicture'/><category term='horizontal'/><category term='v:image'/><category term='work days'/><category term='Certificates'/><category term='workdays'/><category term='sp_msforeachdb'/><category term='casting'/><category term='SSL'/><category term='404'/><category term='image'/><category term='firewall'/><category term='trusted connection'/><category term='explain plan'/><category term='Lists'/><category term='WebResource.axd'/><category term='Menu'/><category term='Windows Forms'/><category term='unknown runtime error'/><category term='innerHTML'/><category term='geocoding'/><category term='IE6'/><category term='char'/><category term='workaround'/><category term='stored procedure'/><category term='InlineShapes'/><category term='document'/><category term='SharePoint'/><category term='xtype'/><category term='refresh'/><category term='precision'/><category term='datediff'/><category term='renumbering'/><category term='windows explorer'/><category term='scrolling'/><category term='VB'/><category term='min-height'/><category term='button'/><category term='centered'/><category term='WSS 3.0'/><category term='ADO.NET'/><category term='FusionCharts'/><category term='alpha'/><category term='PHP'/><category term='tcp'/><category term='VPC'/><category term='doPostBack'/><category term='identity'/><category term='div'/><category term='BindingSource'/><category term='max-width'/><category term='Word automation'/><category term='Shapes'/><category term='425'/><category term='ODBC'/><category term='belatedpng'/><category term='decimal'/><category term='ul'/><category term='StringBuilder'/><category term='execution plan'/><title type='text'>Brain Of Dave</title><subtitle type='html'>Dave Of Brain</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://brainof-dave.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8908545278841936450/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://brainof-dave.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Dave</name><uri>http://www.blogger.com/profile/02365594340981258761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>58</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8908545278841936450.post-7433807729845812079</id><published>2011-03-17T13:46:00.000-07:00</published><updated>2011-03-17T13:59:48.161-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='belatedpng'/><category scheme='http://www.blogger.com/atom/ns#' term='VML'/><category scheme='http://www.blogger.com/atom/ns#' term='v:image'/><category scheme='http://www.blogger.com/atom/ns#' term='img'/><category scheme='http://www.blogger.com/atom/ns#' term='IE6'/><title type='text'>Attribute only valid on v:image</title><summary type='text'>Ran into an error in IE6 on a site I was developing:"Attribute only valid on v:image"The error message popped up on a Google Map canvas I had embedded in the page whenever a user interacted with the map.The culprit was a combination of DD_belatedpng and a rule included by default in html5boilerplate where all  tags were being fixed by DD_belatedpng when the page loaded.  Removing the img selector</summary><link rel='replies' type='application/atom+xml' href='http://brainof-dave.blogspot.com/feeds/7433807729845812079/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8908545278841936450&amp;postID=7433807729845812079' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8908545278841936450/posts/default/7433807729845812079'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8908545278841936450/posts/default/7433807729845812079'/><link rel='alternate' type='text/html' href='http://brainof-dave.blogspot.com/2011/03/attribute-only-valid-on-vimage.html' title='Attribute only valid on v:image'/><author><name>Dave</name><uri>http://www.blogger.com/profile/02365594340981258761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8908545278841936450.post-6729561775228616972</id><published>2009-08-25T12:23:00.000-07:00</published><updated>2009-08-25T12:37:44.780-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='innerHTML'/><category scheme='http://www.blogger.com/atom/ns#' term='FusionCharts'/><category scheme='http://www.blogger.com/atom/ns#' term='unknown runtime error'/><category scheme='http://www.blogger.com/atom/ns#' term='jQuery'/><category scheme='http://www.blogger.com/atom/ns#' term='IE6'/><title type='text'>FusionCharts, IE6, and "Unknown runtime error"</title><summary type='text'>FusionCharts' JavaScript file makes use of innerHTML to replace a placeholder &lt;div&gt;'s content with the generated SWF.  However, on IE6, this causes an "Unknown runtime error".I am working with version 1.2.4.  I have jQuery 1.3 loaded on the site, so I replaced four instances of innerHTML calls with $().html() syntax:Line 237:{ n.innerHTML = obj.getSWFHTML(); },false );became{ $(n).html(</summary><link rel='replies' type='application/atom+xml' href='http://brainof-dave.blogspot.com/feeds/6729561775228616972/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8908545278841936450&amp;postID=6729561775228616972' title='43 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8908545278841936450/posts/default/6729561775228616972'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8908545278841936450/posts/default/6729561775228616972'/><link rel='alternate' type='text/html' href='http://brainof-dave.blogspot.com/2009/08/fusioncharts-ie6-and-unknown-runtime.html' title='FusionCharts, IE6, and &quot;Unknown runtime error&quot;'/><author><name>Dave</name><uri>http://www.blogger.com/profile/02365594340981258761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>43</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8908545278841936450.post-1321790051417379071</id><published>2009-07-25T19:56:00.000-07:00</published><updated>2009-07-25T19:58:05.682-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='image'/><category scheme='http://www.blogger.com/atom/ns#' term='ready'/><category scheme='http://www.blogger.com/atom/ns#' term='load'/><category scheme='http://www.blogger.com/atom/ns#' term='window'/><category scheme='http://www.blogger.com/atom/ns#' term='jQuery'/><category scheme='http://www.blogger.com/atom/ns#' term='document'/><title type='text'>jQuery execution after image load</title><summary type='text'>If you need to run JavaScript that's based on some attribute of a loaded image (e.g. height or width), use a callback with $(window).load() instead of $(document).ready().</summary><link rel='replies' type='application/atom+xml' href='http://brainof-dave.blogspot.com/feeds/1321790051417379071/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8908545278841936450&amp;postID=1321790051417379071' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8908545278841936450/posts/default/1321790051417379071'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8908545278841936450/posts/default/1321790051417379071'/><link rel='alternate' type='text/html' href='http://brainof-dave.blogspot.com/2009/07/jquery-execution-after-image-load.html' title='jQuery execution after image load'/><author><name>Dave</name><uri>http://www.blogger.com/profile/02365594340981258761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8908545278841936450.post-5226512728951692533</id><published>2009-06-05T14:03:00.001-07:00</published><updated>2009-06-05T14:04:35.126-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='distance'/><category scheme='http://www.blogger.com/atom/ns#' term='T-SQL'/><category scheme='http://www.blogger.com/atom/ns#' term='geocoding'/><category scheme='http://www.blogger.com/atom/ns#' term='functions'/><title type='text'>Pure T-SQL (Geo) Distance Calculations</title><summary type='text'>Awesome post by Joe Finsterwald (http://www.wtfdeveloper.com/Default2.aspx) shows how to implement geographical distance calculation functionality in pure T-SQL.</summary><link rel='replies' type='application/atom+xml' href='http://brainof-dave.blogspot.com/feeds/5226512728951692533/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8908545278841936450&amp;postID=5226512728951692533' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8908545278841936450/posts/default/5226512728951692533'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8908545278841936450/posts/default/5226512728951692533'/><link rel='alternate' type='text/html' href='http://brainof-dave.blogspot.com/2009/06/pure-t-sql-geo-distance-calculations.html' title='Pure T-SQL (Geo) Distance Calculations'/><author><name>Dave</name><uri>http://www.blogger.com/profile/02365594340981258761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8908545278841936450.post-7173734549861308476</id><published>2009-04-27T13:56:00.001-07:00</published><updated>2009-04-27T14:00:12.179-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SSE'/><category scheme='http://www.blogger.com/atom/ns#' term='T-SQL'/><category scheme='http://www.blogger.com/atom/ns#' term='date'/><category scheme='http://www.blogger.com/atom/ns#' term='casting'/><title type='text'>T-SQL Epoch Date Conversion</title><summary type='text'>I needed a way to convert a BIGINT containing a date in SSE (seconds since epoch - 1/1/1970) format into a DATETIME.  The following query does the trick:SELECT DATEADD(DAY, CAST(sse_value AS BIGINT)/86400000, CAST('19700101' AS DATETIME))Thanks to some guy named Steve Kass for pointing this out on DevelopmentNow.</summary><link rel='replies' type='application/atom+xml' href='http://brainof-dave.blogspot.com/feeds/7173734549861308476/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8908545278841936450&amp;postID=7173734549861308476' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8908545278841936450/posts/default/7173734549861308476'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8908545278841936450/posts/default/7173734549861308476'/><link rel='alternate' type='text/html' href='http://brainof-dave.blogspot.com/2009/04/t-sql-epoch-date-conversion.html' title='T-SQL Epoch Date Conversion'/><author><name>Dave</name><uri>http://www.blogger.com/profile/02365594340981258761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8908545278841936450.post-9045323262957578983</id><published>2009-04-11T21:45:00.000-07:00</published><updated>2009-04-11T21:46:40.812-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='image'/><category scheme='http://www.blogger.com/atom/ns#' term='Photoshop'/><category scheme='http://www.blogger.com/atom/ns#' term='color'/><category scheme='http://www.blogger.com/atom/ns#' term='Safari'/><title type='text'>Safari color issues?</title><summary type='text'>If you're experiencing color issues with your images in Safari, make sure that an embedded color profile was not saved with the image.  Open the image in Photoshop; File --&gt; Save As; uncheck Embed Color Profile; save image.</summary><link rel='replies' type='application/atom+xml' href='http://brainof-dave.blogspot.com/feeds/9045323262957578983/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8908545278841936450&amp;postID=9045323262957578983' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8908545278841936450/posts/default/9045323262957578983'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8908545278841936450/posts/default/9045323262957578983'/><link rel='alternate' type='text/html' href='http://brainof-dave.blogspot.com/2009/04/safari-color-issues.html' title='Safari color issues?'/><author><name>Dave</name><uri>http://www.blogger.com/profile/02365594340981258761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8908545278841936450.post-1143332108881343605</id><published>2009-01-07T13:55:00.000-08:00</published><updated>2009-01-07T13:57:03.688-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='stacking'/><category scheme='http://www.blogger.com/atom/ns#' term='z-index'/><category scheme='http://www.blogger.com/atom/ns#' term='CSS'/><category scheme='http://www.blogger.com/atom/ns#' term='style'/><category scheme='http://www.blogger.com/atom/ns#' term='IE6'/><title type='text'>Another IE z-index bug workaround tip thingy</title><summary type='text'>If you're having trouble getting z-indexes to work right in IE, the order of your style declarations in your css file might matter.  Try putting the style code for the element you want to stack on top at the bottom of your css file and see if the problem persists.</summary><link rel='replies' type='application/atom+xml' href='http://brainof-dave.blogspot.com/feeds/1143332108881343605/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8908545278841936450&amp;postID=1143332108881343605' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8908545278841936450/posts/default/1143332108881343605'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8908545278841936450/posts/default/1143332108881343605'/><link rel='alternate' type='text/html' href='http://brainof-dave.blogspot.com/2009/01/another-ie-z-index-bug-workaround-tip.html' title='Another IE z-index bug workaround tip thingy'/><author><name>Dave</name><uri>http://www.blogger.com/profile/02365594340981258761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8908545278841936450.post-274765767856463517</id><published>2008-12-29T12:00:00.001-08:00</published><updated>2008-12-29T12:03:23.301-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='png'/><category scheme='http://www.blogger.com/atom/ns#' term='alpha'/><category scheme='http://www.blogger.com/atom/ns#' term='transparency'/><category scheme='http://www.blogger.com/atom/ns#' term='IE6'/><title type='text'>Followup: IE6 PNG Alpha Transparency Fix</title><summary type='text'>I, like many others, ran into the issue of &lt;a&gt; links not being click-able when they sit on top of an element upon which the alpha fix has been run.A hint I got off of this site gave me the answer I was looking for: The element containing the filtered png must not have a position set, and the links within that element must have a position set.</summary><link rel='replies' type='application/atom+xml' href='http://brainof-dave.blogspot.com/feeds/274765767856463517/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8908545278841936450&amp;postID=274765767856463517' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8908545278841936450/posts/default/274765767856463517'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8908545278841936450/posts/default/274765767856463517'/><link rel='alternate' type='text/html' href='http://brainof-dave.blogspot.com/2008/12/followup-ie6-png-alpha-transparency-fix.html' title='Followup: IE6 PNG Alpha Transparency Fix'/><author><name>Dave</name><uri>http://www.blogger.com/profile/02365594340981258761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8908545278841936450.post-1054671988861668563</id><published>2008-12-04T20:48:00.000-08:00</published><updated>2008-12-04T20:51:14.595-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='centered'/><category scheme='http://www.blogger.com/atom/ns#' term='web design'/><category scheme='http://www.blogger.com/atom/ns#' term='vertical'/><category scheme='http://www.blogger.com/atom/ns#' term='horizontal'/><category scheme='http://www.blogger.com/atom/ns#' term='div'/><category scheme='http://www.blogger.com/atom/ns#' term='CSS'/><title type='text'>Vertically &amp; Horizontally Centered &lt;div&gt;</title><summary type='text'>Ran across this beautiful CSS example of a perfectly centered &lt;div&gt;:#mydiv{    position:absolute;      top: 50%;      left: 50%;      width:30em;      height:18em;      margin-top: -9em; /*set to a negative number 1/2 of your height*/      margin-left: -15em; /*set to a negative number 1/2 of your width*/}</summary><link rel='replies' type='application/atom+xml' href='http://brainof-dave.blogspot.com/feeds/1054671988861668563/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8908545278841936450&amp;postID=1054671988861668563' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8908545278841936450/posts/default/1054671988861668563'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8908545278841936450/posts/default/1054671988861668563'/><link rel='alternate' type='text/html' href='http://brainof-dave.blogspot.com/2008/12/vertically-horizontally-centered.html' title='Vertically &amp; Horizontally Centered &amp;lt;div&amp;gt;'/><author><name>Dave</name><uri>http://www.blogger.com/profile/02365594340981258761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8908545278841936450.post-2687614881870901428</id><published>2008-11-19T07:58:00.001-08:00</published><updated>2008-11-19T08:01:02.145-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='425'/><category scheme='http://www.blogger.com/atom/ns#' term='NAT'/><category scheme='http://www.blogger.com/atom/ns#' term='FTP'/><category scheme='http://www.blogger.com/atom/ns#' term='firewall'/><category scheme='http://www.blogger.com/atom/ns#' term='FTPS'/><title type='text'>FTP/SSL through a NAT firewall</title><summary type='text'>This was a helpful article in understanding connectivity issues when attempting to use FTPS through a NATed firewall:http://geekswithblogs.net/Lance/archive/2005/08/23/50912.aspxI'm using FileZilla Server to receive files from someone else and needed to set up FTPS.  Specifying a particular port, and then opening that port, solved the problems I was having (i.e. 425 errors).</summary><link rel='replies' type='application/atom+xml' href='http://brainof-dave.blogspot.com/feeds/2687614881870901428/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8908545278841936450&amp;postID=2687614881870901428' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8908545278841936450/posts/default/2687614881870901428'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8908545278841936450/posts/default/2687614881870901428'/><link rel='alternate' type='text/html' href='http://brainof-dave.blogspot.com/2008/11/ftpssl-through-nat-firewall.html' title='FTP/SSL through a NAT firewall'/><author><name>Dave</name><uri>http://www.blogger.com/profile/02365594340981258761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8908545278841936450.post-6160664729311893632</id><published>2008-10-27T11:30:00.001-07:00</published><updated>2008-10-27T15:06:42.834-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='hover'/><category scheme='http://www.blogger.com/atom/ns#' term='ul'/><category scheme='http://www.blogger.com/atom/ns#' term='nested'/><category scheme='http://www.blogger.com/atom/ns#' term='li'/><category scheme='http://www.blogger.com/atom/ns#' term='menus'/><category scheme='http://www.blogger.com/atom/ns#' term='jQuery'/><category scheme='http://www.blogger.com/atom/ns#' term='IE6'/><title type='text'>Using jQuery to make LI elements hover-able in IE6</title><summary type='text'>Another necessary hack, this time to overcome IE6's non-support of the hover pseudo-class for LI elements.This is to be used in situations where navigation is structured using UL, LI, and A elements and styled via CSS.  Please note that additional selectors will be required when implementing this solution: the standard selector (using li:hover notation) and the alternate selector (using li.over </summary><link rel='replies' type='application/atom+xml' href='http://brainof-dave.blogspot.com/feeds/6160664729311893632/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8908545278841936450&amp;postID=6160664729311893632' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8908545278841936450/posts/default/6160664729311893632'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8908545278841936450/posts/default/6160664729311893632'/><link rel='alternate' type='text/html' href='http://brainof-dave.blogspot.com/2008/10/recursive-javascript-to-make-li.html' title='Using jQuery to make LI elements hover-able in IE6'/><author><name>Dave</name><uri>http://www.blogger.com/profile/02365594340981258761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8908545278841936450.post-4678281930704541431</id><published>2008-10-27T11:27:00.000-07:00</published><updated>2008-10-27T11:29:58.120-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='png'/><category scheme='http://www.blogger.com/atom/ns#' term='alpha'/><category scheme='http://www.blogger.com/atom/ns#' term='IE6'/><title type='text'>IE6 PNG alpha transparency solution</title><summary type='text'>I know a bazillion solutions have been posted to the interwebs to solve this problem, but I wanted to make a note of one that I found to work quite well:http://www.twinhelix.com/css/iepngfix/</summary><link rel='replies' type='application/atom+xml' href='http://brainof-dave.blogspot.com/feeds/4678281930704541431/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8908545278841936450&amp;postID=4678281930704541431' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8908545278841936450/posts/default/4678281930704541431'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8908545278841936450/posts/default/4678281930704541431'/><link rel='alternate' type='text/html' href='http://brainof-dave.blogspot.com/2008/10/ie6-png-alpha-transparency-solution.html' title='IE6 PNG alpha transparency solution'/><author><name>Dave</name><uri>http://www.blogger.com/profile/02365594340981258761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8908545278841936450.post-6385945688850005855</id><published>2008-09-25T10:45:00.000-07:00</published><updated>2008-09-25T10:50:45.915-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaScript'/><category scheme='http://www.blogger.com/atom/ns#' term='HTMLEncode'/><title type='text'>JavaScript HTMLEncode function</title><summary type='text'>Found this neat trick on another blog (http://lunarmedia.com/blogs/lunarmedia_blog/archive/2006/10/23/120405.aspx) to escape characters for presentation in HTML:function escapeHTML (str){   var div = document.createElement('div');   var text = document.createTextNode(str);   div.appendChild(text);   return div.innerHTML;}; </summary><link rel='replies' type='application/atom+xml' href='http://brainof-dave.blogspot.com/feeds/6385945688850005855/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8908545278841936450&amp;postID=6385945688850005855' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8908545278841936450/posts/default/6385945688850005855'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8908545278841936450/posts/default/6385945688850005855'/><link rel='alternate' type='text/html' href='http://brainof-dave.blogspot.com/2008/09/javascript-htmlencode-function.html' title='JavaScript HTMLEncode function'/><author><name>Dave</name><uri>http://www.blogger.com/profile/02365594340981258761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8908545278841936450.post-8532470533756632094</id><published>2008-09-18T06:58:00.000-07:00</published><updated>2008-09-18T07:01:27.814-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='WebResource.axd'/><category scheme='http://www.blogger.com/atom/ns#' term='404'/><category scheme='http://www.blogger.com/atom/ns#' term='workaround'/><title type='text'>IDIOTIC WebResource.axd workaround</title><summary type='text'>I was tasked with moving an ASP.NET 3.5 website from one web server to another.  Everything worked great on the second server, except I was getting 404 errors anytime an embedded resource was requested with a WebResource.axd URL.I went all over Google looking for the answer, and found a workaround that works, but is absolutely ridiculous:Place an empty WebResource.axd file at the location that is</summary><link rel='replies' type='application/atom+xml' href='http://brainof-dave.blogspot.com/feeds/8532470533756632094/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8908545278841936450&amp;postID=8532470533756632094' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8908545278841936450/posts/default/8532470533756632094'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8908545278841936450/posts/default/8532470533756632094'/><link rel='alternate' type='text/html' href='http://brainof-dave.blogspot.com/2008/09/idiotic-webresourceaxd-workaround.html' title='IDIOTIC WebResource.axd workaround'/><author><name>Dave</name><uri>http://www.blogger.com/profile/02365594340981258761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8908545278841936450.post-3874495378399643959</id><published>2008-08-01T07:40:00.000-07:00</published><updated>2008-08-01T07:50:27.344-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SSL'/><category scheme='http://www.blogger.com/atom/ns#' term='Web Services'/><category scheme='http://www.blogger.com/atom/ns#' term='asmx'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='Certificates'/><title type='text'>The remote certificate is invalid according to the validation procedure</title><summary type='text'>I'm calling an ASP.NET web service from an ASP.NET web application.  The two applications are on different servers.  The web service requires SSL and presents the application with a self-signed certificate.  Since this is an internal app, I want the client application to trust the web service and its self-signed cert.There are lots of suggestions on how to do this in your code by coding a </summary><link rel='replies' type='application/atom+xml' href='http://brainof-dave.blogspot.com/feeds/3874495378399643959/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8908545278841936450&amp;postID=3874495378399643959' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8908545278841936450/posts/default/3874495378399643959'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8908545278841936450/posts/default/3874495378399643959'/><link rel='alternate' type='text/html' href='http://brainof-dave.blogspot.com/2008/08/remote-certificate-is-invalid-according.html' title='The remote certificate is invalid according to the validation procedure'/><author><name>Dave</name><uri>http://www.blogger.com/profile/02365594340981258761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8908545278841936450.post-2540262722716302990</id><published>2008-07-29T07:20:00.000-07:00</published><updated>2008-07-29T07:27:00.818-07:00</updated><title type='text'>SharePoint: Errors 6482, 6398</title><summary type='text'>The Event Log on our MOSS 2007 server was filled with alternating error codes 6482 and 6398.6482:Application Server Administration job failed for service instance Microsoft.Office.Server.Search.Administration.SearchServiceInstance (dc8cedfd-9340-42bb-adee-57e75040cdf6).Reason: Retrieving the COM class factory for component with CLSID {3D42CCB1-4665-4620-92A3-478F47389230} failed due to the </summary><link rel='replies' type='application/atom+xml' href='http://brainof-dave.blogspot.com/feeds/2540262722716302990/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8908545278841936450&amp;postID=2540262722716302990' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8908545278841936450/posts/default/2540262722716302990'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8908545278841936450/posts/default/2540262722716302990'/><link rel='alternate' type='text/html' href='http://brainof-dave.blogspot.com/2008/07/sharepoint-errors-6482-6398.html' title='SharePoint: Errors 6482, 6398'/><author><name>Dave</name><uri>http://www.blogger.com/profile/02365594340981258761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8908545278841936450.post-6172837701150526732</id><published>2008-07-24T13:27:00.001-07:00</published><updated>2008-07-24T13:34:15.646-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='visual studio'/><category scheme='http://www.blogger.com/atom/ns#' term='Lists'/><category scheme='http://www.blogger.com/atom/ns#' term='Web Services'/><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint'/><category scheme='http://www.blogger.com/atom/ns#' term='asmx'/><category scheme='http://www.blogger.com/atom/ns#' term='Web References'/><category scheme='http://www.blogger.com/atom/ns#' term='MOSS 2007'/><title type='text'>Accessing subsites' lists via the MOSS 2007 Lists.asmx web service</title><summary type='text'>I spent a little bit of time trying to figure this one out.  I'm playing with the exposed web services that MOSS 2007 provides, trying to figure out how to manipulate lists via this API.  My web reference is set to http://company.com/Clients/_vti_bin/Lists.asmx, but I am getting the same response as if the web reference were set to the site root (i.e. http://company.com/_vti_bin/Lists.asmx).</summary><link rel='replies' type='application/atom+xml' href='http://brainof-dave.blogspot.com/feeds/6172837701150526732/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8908545278841936450&amp;postID=6172837701150526732' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8908545278841936450/posts/default/6172837701150526732'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8908545278841936450/posts/default/6172837701150526732'/><link rel='alternate' type='text/html' href='http://brainof-dave.blogspot.com/2008/07/accessing-subsites-lists-via-moss-2007.html' title='Accessing subsites&apos; lists via the MOSS 2007 Lists.asmx web service'/><author><name>Dave</name><uri>http://www.blogger.com/profile/02365594340981258761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8908545278841936450.post-467363572769350793</id><published>2008-06-16T12:11:00.000-07:00</published><updated>2008-06-16T12:15:39.703-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='workdays'/><category scheme='http://www.blogger.com/atom/ns#' term='datediff'/><category scheme='http://www.blogger.com/atom/ns#' term='T-SQL'/><category scheme='http://www.blogger.com/atom/ns#' term='work days'/><category scheme='http://www.blogger.com/atom/ns#' term='date'/><title type='text'>Calculating Work Days</title><summary type='text'>I ran across the following T-SQL function to calculate the number of workdays between a given start date and end date.  (This does not exclude non-weekend non-workdays such as holidays.) Thanks to Jeff Moden for this function, which I found at http://www.sqlservercentral.com/articles/Advanced+Querying/calculatingworkdays/1660/:SELECT  (DATEDIFF(dd, @StartDate, @EndDate) + 1) -(DATEDIFF(wk, @</summary><link rel='replies' type='application/atom+xml' href='http://brainof-dave.blogspot.com/feeds/467363572769350793/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8908545278841936450&amp;postID=467363572769350793' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8908545278841936450/posts/default/467363572769350793'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8908545278841936450/posts/default/467363572769350793'/><link rel='alternate' type='text/html' href='http://brainof-dave.blogspot.com/2008/06/calculating-work-days.html' title='Calculating Work Days'/><author><name>Dave</name><uri>http://www.blogger.com/profile/02365594340981258761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8908545278841936450.post-3579463831528239545</id><published>2008-06-12T10:55:00.000-07:00</published><updated>2008-06-12T11:00:25.562-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='downlevel'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='Safari'/><category scheme='http://www.blogger.com/atom/ns#' term='Menu'/><title type='text'>ASP.NET Menu control &amp; "downlevel" browsers</title><summary type='text'>I ran into this fix when trying to get an ASP.NET 2.0 Menu control to render correctly on Safari.  It turns out that ASP.NET thinks Safari is a downlevel browser (meaning incapable of rendering XHTML), so it sends a funky (and generally non-functioning) rendering of the Menu control down to the browser. This isn't guaranteed to work in all cases, but in my case, adding the following Page </summary><link rel='replies' type='application/atom+xml' href='http://brainof-dave.blogspot.com/feeds/3579463831528239545/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8908545278841936450&amp;postID=3579463831528239545' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8908545278841936450/posts/default/3579463831528239545'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8908545278841936450/posts/default/3579463831528239545'/><link rel='alternate' type='text/html' href='http://brainof-dave.blogspot.com/2008/06/aspnet-menu-control-downlevel-browsers.html' title='ASP.NET Menu control &amp; &quot;downlevel&quot; browsers'/><author><name>Dave</name><uri>http://www.blogger.com/profile/02365594340981258761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8908545278841936450.post-938407535169501931</id><published>2008-06-11T20:06:00.000-07:00</published><updated>2008-06-11T20:09:02.025-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='ODBC'/><category scheme='http://www.blogger.com/atom/ns#' term='text'/><category scheme='http://www.blogger.com/atom/ns#' term='result set'/><category scheme='http://www.blogger.com/atom/ns#' term='error'/><category scheme='http://www.blogger.com/atom/ns#' term='select'/><title type='text'>Result set was not generated by a SELECT statement</title><summary type='text'>This obscure error occurred when using PHP ODBC to retrieve values from a stored procedure.  It turns out this occurs when the stored procedure SELECTs data from one or more TEXT columns.  Convert these columns to VARCHAR(8000) and you're good to go.</summary><link rel='replies' type='application/atom+xml' href='http://brainof-dave.blogspot.com/feeds/938407535169501931/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8908545278841936450&amp;postID=938407535169501931' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8908545278841936450/posts/default/938407535169501931'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8908545278841936450/posts/default/938407535169501931'/><link rel='alternate' type='text/html' href='http://brainof-dave.blogspot.com/2008/06/result-set-was-not-generated-by-select.html' title='Result set was not generated by a SELECT statement'/><author><name>Dave</name><uri>http://www.blogger.com/profile/02365594340981258761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8908545278841936450.post-3014443108649976633</id><published>2008-06-09T07:05:00.000-07:00</published><updated>2008-06-09T07:10:10.358-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vista'/><category scheme='http://www.blogger.com/atom/ns#' term='user'/><category scheme='http://www.blogger.com/atom/ns#' term='trusted connection'/><category scheme='http://www.blogger.com/atom/ns#' term='login failed'/><category scheme='http://www.blogger.com/atom/ns#' term='agony'/><category scheme='http://www.blogger.com/atom/ns#' term='64'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL Server'/><category scheme='http://www.blogger.com/atom/ns#' term='network passwords'/><title type='text'>AGONY: Vista Business x64 and SQL Server Management Studio</title><summary type='text'>I have been fighting this one for days: my computer is currently joined to our corporate domain, but I am logged in as a local user.  I've used "Manage network passwords" to add all of the relevant credentials for domain access.  However, I still get the following error when logging in via Windows Authentication in SSMS:Login failed for user ''.  The user is not associated with a trusted SQL </summary><link rel='replies' type='application/atom+xml' href='http://brainof-dave.blogspot.com/feeds/3014443108649976633/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8908545278841936450&amp;postID=3014443108649976633' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8908545278841936450/posts/default/3014443108649976633'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8908545278841936450/posts/default/3014443108649976633'/><link rel='alternate' type='text/html' href='http://brainof-dave.blogspot.com/2008/06/agony-vista-business-x64-and-sql-server.html' title='AGONY: Vista Business x64 and SQL Server Management Studio'/><author><name>Dave</name><uri>http://www.blogger.com/profile/02365594340981258761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8908545278841936450.post-1133527171429147007</id><published>2008-04-23T10:52:00.001-07:00</published><updated>2008-04-23T10:53:55.277-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='visual studio'/><category scheme='http://www.blogger.com/atom/ns#' term='WSS 3.0'/><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint'/><category scheme='http://www.blogger.com/atom/ns#' term='XP'/><title type='text'>How to install Windows SharePoint Services 3.0 Tools to XP or Vista</title><summary type='text'>Another blog ripoff, this time from Janne Mattila, on how to trick XP or Vista machines into thinking that WSS 3.0 is installed so that you can install WSS 3.0 Tools for Visual Studio 2005:http://blogs.msdn.com/jannemattila/archive/2007/08/16/how-to-install-windows-sharepoint-services-3-0-tools-to-xp-or-vista.aspxDetails: it's a registry hack...[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Shared Tools\</summary><link rel='replies' type='application/atom+xml' href='http://brainof-dave.blogspot.com/feeds/1133527171429147007/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8908545278841936450&amp;postID=1133527171429147007' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8908545278841936450/posts/default/1133527171429147007'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8908545278841936450/posts/default/1133527171429147007'/><link rel='alternate' type='text/html' href='http://brainof-dave.blogspot.com/2008/04/how-to-install-windows-sharepoint.html' title='How to install Windows SharePoint Services 3.0 Tools to XP or Vista'/><author><name>Dave</name><uri>http://www.blogger.com/profile/02365594340981258761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8908545278841936450.post-3261213432254390780</id><published>2008-04-22T12:38:00.001-07:00</published><updated>2008-04-23T10:51:47.701-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VPC'/><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint'/><category scheme='http://www.blogger.com/atom/ns#' term='MOSS 2007'/><title type='text'>How to Create a MOSS 2007 VPC Image</title><summary type='text'>Wonderful series of posts by Tony Zink outlining exactly what you need to do to set up Microsoft Office SharePoint Server 2007 on a Virtual PC with a SQL Server 2005 backend and full e-mail capabilities:http://www.pptspaces.com/sharepointreporterblog/Lists/Posts/Post.aspx?ID=28</summary><link rel='replies' type='application/atom+xml' href='http://brainof-dave.blogspot.com/feeds/3261213432254390780/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8908545278841936450&amp;postID=3261213432254390780' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8908545278841936450/posts/default/3261213432254390780'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8908545278841936450/posts/default/3261213432254390780'/><link rel='alternate' type='text/html' href='http://brainof-dave.blogspot.com/2008/04/how-to-create-moss-2007-vpc-image.html' title='How to Create a MOSS 2007 VPC Image'/><author><name>Dave</name><uri>http://www.blogger.com/profile/02365594340981258761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8908545278841936450.post-8333180722879559639</id><published>2008-04-03T08:00:00.000-07:00</published><updated>2008-04-03T08:07:30.017-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='DataSource'/><category scheme='http://www.blogger.com/atom/ns#' term='LINQ to SQL'/><category scheme='http://www.blogger.com/atom/ns#' term='IEnumerable'/><category scheme='http://www.blogger.com/atom/ns#' term='empty grid'/><category scheme='http://www.blogger.com/atom/ns#' term='DataGridView'/><category scheme='http://www.blogger.com/atom/ns#' term='BindingSource'/><title type='text'>LINQ to SQL and the DataGridView control</title><summary type='text'>A DataGridView control won't bind directly to an IEnumerable object, so two options are:1. Create a BindingSource, set its DataSource to the IEnumerable object, then set the DataGridView.DataSource property to the BindingSource.2. Bind the DataGridView.DataSource property to the IEnumerable object's ToList() method.Thanks to Ken Tucker on Microsoft Forums for this tip.</summary><link rel='replies' type='application/atom+xml' href='http://brainof-dave.blogspot.com/feeds/8333180722879559639/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8908545278841936450&amp;postID=8333180722879559639' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8908545278841936450/posts/default/8333180722879559639'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8908545278841936450/posts/default/8333180722879559639'/><link rel='alternate' type='text/html' href='http://brainof-dave.blogspot.com/2008/04/linq-to-sql-and-datagridview-control.html' title='LINQ to SQL and the DataGridView control'/><author><name>Dave</name><uri>http://www.blogger.com/profile/02365594340981258761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8908545278841936450.post-702142666716588801</id><published>2008-03-03T10:20:00.000-08:00</published><updated>2008-03-03T10:24:42.921-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaScript'/><category scheme='http://www.blogger.com/atom/ns#' term='doPostBack'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><title type='text'>How to resolve "__doPostBack is not defined" error</title><summary type='text'>Thanks to Julien Pinquié:When I ran across this, I found that I'd closed a &lt;script&gt; tag referring to an external .js file with /&gt; notation instead of &lt;script&gt;&lt;/script&gt;; the &lt;script&gt; tag doesn't accept this notation for whatever reason.</summary><link rel='replies' type='application/atom+xml' href='http://brainof-dave.blogspot.com/feeds/702142666716588801/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8908545278841936450&amp;postID=702142666716588801' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8908545278841936450/posts/default/702142666716588801'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8908545278841936450/posts/default/702142666716588801'/><link rel='alternate' type='text/html' href='http://brainof-dave.blogspot.com/2008/03/how-to-resolve-dopostback-is-not.html' title='How to resolve &quot;__doPostBack is not defined&quot; error'/><author><name>Dave</name><uri>http://www.blogger.com/profile/02365594340981258761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8908545278841936450.post-7063369449361950086</id><published>2008-02-17T08:46:00.000-08:00</published><updated>2008-02-17T08:51:58.347-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VB.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='tcp'/><category scheme='http://www.blogger.com/atom/ns#' term='port scan'/><title type='text'>Simple Port Scan</title><summary type='text'>The following function will check to see if connectivity is enabled for a particular host on a particular port via TCP/IP:Function ScanPort(ByVal strHost As String, ByVal intPort As Integer) As Boolean    Dim aobjIPs() As System.Net.IPAddress = System.Net.Dns.GetHostEntry(strHost).AddressList    If aobjIPs.Length &gt; 0 Then        Dim objEndpoint As New System.Net.IPEndPoint(aobjIPs(0), intPort)</summary><link rel='replies' type='application/atom+xml' href='http://brainof-dave.blogspot.com/feeds/7063369449361950086/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8908545278841936450&amp;postID=7063369449361950086' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8908545278841936450/posts/default/7063369449361950086'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8908545278841936450/posts/default/7063369449361950086'/><link rel='alternate' type='text/html' href='http://brainof-dave.blogspot.com/2008/02/simple-port-scan.html' title='Simple Port Scan'/><author><name>Dave</name><uri>http://www.blogger.com/profile/02365594340981258761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8908545278841936450.post-2083536211143785897</id><published>2008-01-31T08:55:00.000-08:00</published><updated>2008-01-31T09:00:17.740-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaScript'/><category scheme='http://www.blogger.com/atom/ns#' term='disable'/><category scheme='http://www.blogger.com/atom/ns#' term='postback'/><category scheme='http://www.blogger.com/atom/ns#' term='button'/><title type='text'>JavaScript button disable with postback</title><summary type='text'>When an ASP.NET server-side button is given client-side JavaScript code to execute when handling onclick, the button no longer posts back by default.  However, there is a small piece of code you can add to the onclick attribute of the button to re-enable the postback behavior.Adding this code in the Page_Load method will remove a server-side button's postback call:btnConfirm.Attributes.Add("</summary><link rel='replies' type='application/atom+xml' href='http://brainof-dave.blogspot.com/feeds/2083536211143785897/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8908545278841936450&amp;postID=2083536211143785897' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8908545278841936450/posts/default/2083536211143785897'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8908545278841936450/posts/default/2083536211143785897'/><link rel='alternate' type='text/html' href='http://brainof-dave.blogspot.com/2008/01/javascript-button-disable-with-postback.html' title='JavaScript button disable with postback'/><author><name>Dave</name><uri>http://www.blogger.com/profile/02365594340981258761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8908545278841936450.post-3187288046830735003</id><published>2008-01-31T08:48:00.000-08:00</published><updated>2008-01-31T08:55:30.548-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AJAX'/><category scheme='http://www.blogger.com/atom/ns#' term='UpdatePanel'/><category scheme='http://www.blogger.com/atom/ns#' term='FileUpload'/><title type='text'>FileUpload control in an UpdatePanel</title><summary type='text'>By nature, FileUpload controls require an entire page postback to submit the file contents, so they are explicitly excluded from support within an UpdatePanel...however, if you put the Submit button that performs the postback intended to upload the file into a PostbackTrigger, you can place your FileUpload control within the UpdatePanel.&lt;asp:UpdatePanel runat="server"&gt;    &lt;ContentTemplate&gt;</summary><link rel='replies' type='application/atom+xml' href='http://brainof-dave.blogspot.com/feeds/3187288046830735003/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8908545278841936450&amp;postID=3187288046830735003' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8908545278841936450/posts/default/3187288046830735003'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8908545278841936450/posts/default/3187288046830735003'/><link rel='alternate' type='text/html' href='http://brainof-dave.blogspot.com/2008/01/fileupload-control-in-updatepanel.html' title='FileUpload control in an UpdatePanel'/><author><name>Dave</name><uri>http://www.blogger.com/profile/02365594340981258761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8908545278841936450.post-3552622093093492830</id><published>2008-01-09T11:31:00.000-08:00</published><updated>2008-01-09T11:38:03.833-08:00</updated><title type='text'>Transactions and strongly typed TableAdapters</title><summary type='text'>To do this, create a new class file containing a Partial Class declaration with the name of your table adapter.  Add this code to the class:Private _transaction As SqlTransactionPrivate Property Transaction() As SqlTransaction    Get        Return Me._transaction    End Get    Set(ByVal Value As SqlTransaction)        Me._transaction = Value    End SetEnd PropertyPublic Sub BeginTransaction()    </summary><link rel='replies' type='application/atom+xml' href='http://brainof-dave.blogspot.com/feeds/3552622093093492830/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8908545278841936450&amp;postID=3552622093093492830' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8908545278841936450/posts/default/3552622093093492830'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8908545278841936450/posts/default/3552622093093492830'/><link rel='alternate' type='text/html' href='http://brainof-dave.blogspot.com/2008/01/transactions-and-strongly-typed.html' title='Transactions and strongly typed TableAdapters'/><author><name>Dave</name><uri>http://www.blogger.com/profile/02365594340981258761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8908545278841936450.post-9069395800417194111</id><published>2007-12-03T07:16:00.000-08:00</published><updated>2007-12-03T07:18:09.688-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='min-width'/><category scheme='http://www.blogger.com/atom/ns#' term='max-height'/><category scheme='http://www.blogger.com/atom/ns#' term='CSS'/><category scheme='http://www.blogger.com/atom/ns#' term='min-height'/><category scheme='http://www.blogger.com/atom/ns#' term='max-width'/><category scheme='http://www.blogger.com/atom/ns#' term='IE6'/><title type='text'>Min-height fast hack (IE6 sucks)</title><summary type='text'>Blatantly plagiarized from http://www.dustindiaz.com/min-height-fast-hack/:selector { min-height:500px; height:auto !important; height:500px;}</summary><link rel='replies' type='application/atom+xml' href='http://brainof-dave.blogspot.com/feeds/9069395800417194111/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8908545278841936450&amp;postID=9069395800417194111' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8908545278841936450/posts/default/9069395800417194111'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8908545278841936450/posts/default/9069395800417194111'/><link rel='alternate' type='text/html' href='http://brainof-dave.blogspot.com/2007/12/min-height-fast-hack-ie6-sucks.html' title='Min-height fast hack (IE6 sucks)'/><author><name>Dave</name><uri>http://www.blogger.com/profile/02365594340981258761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8908545278841936450.post-559278737417831727</id><published>2007-11-05T19:42:00.001-08:00</published><updated>2007-11-05T19:45:32.790-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='split'/><category scheme='http://www.blogger.com/atom/ns#' term='IP'/><category scheme='http://www.blogger.com/atom/ns#' term='octet'/><category scheme='http://www.blogger.com/atom/ns#' term='T-SQL'/><category scheme='http://www.blogger.com/atom/ns#' term='string'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL Server'/><title type='text'>T-SQL IP octet split</title><summary type='text'>Found a neat piece of T-SQL that can be used to separate the octets of an IP address:Declare @IP varchar(20)Select @IP = '239.147.8.165'select @IP AS IP,    cast(substring(@IP, 1, charindex('.', @IP) - 1) as int) AS Octet1,    cast(substring(@IP, charindex('.', @IP) + 1,        charindex('.', @IP, charindex('.', @IP) + 1) -            charindex('.', @IP) - 1) as int) as Octet2,    cast(reverse(</summary><link rel='replies' type='application/atom+xml' href='http://brainof-dave.blogspot.com/feeds/559278737417831727/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8908545278841936450&amp;postID=559278737417831727' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8908545278841936450/posts/default/559278737417831727'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8908545278841936450/posts/default/559278737417831727'/><link rel='alternate' type='text/html' href='http://brainof-dave.blogspot.com/2007/11/t-sql-ip-octet-split.html' title='T-SQL IP octet split'/><author><name>Dave</name><uri>http://www.blogger.com/profile/02365594340981258761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8908545278841936450.post-7210956797854828773</id><published>2007-10-18T11:27:00.000-07:00</published><updated>2007-10-18T11:31:22.341-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='ASPX'/><category scheme='http://www.blogger.com/atom/ns#' term='auto-refresh'/><category scheme='http://www.blogger.com/atom/ns#' term='refresh'/><title type='text'>Auto-refresh an ASPX page</title><summary type='text'>This is especially useful when using a master page but you don't want every page using the master page to refresh.In the Page_Load() event handler, add this code:      'Refresh the page every 30 seconds.    Dim lit As New LiteralControl("&lt;meta equiv=""refresh"" content=""30"" /&gt;")  Header.Controls.Add(lit)</summary><link rel='replies' type='application/atom+xml' href='http://brainof-dave.blogspot.com/feeds/7210956797854828773/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8908545278841936450&amp;postID=7210956797854828773' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8908545278841936450/posts/default/7210956797854828773'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8908545278841936450/posts/default/7210956797854828773'/><link rel='alternate' type='text/html' href='http://brainof-dave.blogspot.com/2007/10/auto-refresh-aspx-page.html' title='Auto-refresh an ASPX page'/><author><name>Dave</name><uri>http://www.blogger.com/profile/02365594340981258761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8908545278841936450.post-1284565005327486650</id><published>2007-10-14T08:39:00.000-07:00</published><updated>2007-10-14T08:42:09.627-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VB.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='enable application framework'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows Forms'/><category scheme='http://www.blogger.com/atom/ns#' term='startup object'/><title type='text'>Startup object must be a form when "Enable Application Framework" is checked.</title><summary type='text'>If you're reusing a form and are trying to make it the main form of an application, and you get this error, ensure that the constructor for the form takes no arguments.</summary><link rel='replies' type='application/atom+xml' href='http://brainof-dave.blogspot.com/feeds/1284565005327486650/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8908545278841936450&amp;postID=1284565005327486650' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8908545278841936450/posts/default/1284565005327486650'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8908545278841936450/posts/default/1284565005327486650'/><link rel='alternate' type='text/html' href='http://brainof-dave.blogspot.com/2007/10/startup-object-must-be-form-when-enable.html' title='Startup object must be a form when &quot;Enable Application Framework&quot; is checked.'/><author><name>Dave</name><uri>http://www.blogger.com/profile/02365594340981258761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8908545278841936450.post-3320705517238078585</id><published>2007-08-21T06:15:00.001-07:00</published><updated>2007-08-21T06:17:04.043-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Access'/><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='table'/><title type='text'>Programmatically open Access and show a table</title><summary type='text'>Just a note on one way of accomplishing this:Dim objAccess As Object = CreateObject("Access.Application")objAccess.OpenCurrentDatabase(strFileName)objAccess.Visible = TrueobjAccess.DoCmd.Maximize()objAccess.DoCmd.OpenTable(strTableName)</summary><link rel='replies' type='application/atom+xml' href='http://brainof-dave.blogspot.com/feeds/3320705517238078585/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8908545278841936450&amp;postID=3320705517238078585' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8908545278841936450/posts/default/3320705517238078585'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8908545278841936450/posts/default/3320705517238078585'/><link rel='alternate' type='text/html' href='http://brainof-dave.blogspot.com/2007/08/programmatically-open-access-and-show.html' title='Programmatically open Access and show a table'/><author><name>Dave</name><uri>http://www.blogger.com/profile/02365594340981258761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8908545278841936450.post-5275318956782422302</id><published>2007-08-15T19:47:00.000-07:00</published><updated>2007-08-15T19:51:33.314-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Windows Forms'/><category scheme='http://www.blogger.com/atom/ns#' term='console'/><title type='text'>Console and Windows Form in the same application</title><summary type='text'>I recently needed to write a program that had an attended and unattended mode:1. Create a console application in Visual Studio .NET.2. Use this as a template:Module Module1    Sub Main()        If Command$() = "-winform" Then            Dim frm As New testform()            Windows.Forms.Application.Run(frm)        Else            Console.WriteLine("this is the console option")        End If    </summary><link rel='replies' type='application/atom+xml' href='http://brainof-dave.blogspot.com/feeds/5275318956782422302/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8908545278841936450&amp;postID=5275318956782422302' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8908545278841936450/posts/default/5275318956782422302'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8908545278841936450/posts/default/5275318956782422302'/><link rel='alternate' type='text/html' href='http://brainof-dave.blogspot.com/2007/08/console-and-windows-form-in-same.html' title='Console and Windows Form in the same application'/><author><name>Dave</name><uri>http://www.blogger.com/profile/02365594340981258761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8908545278841936450.post-3008206663979998703</id><published>2007-08-15T08:44:00.001-07:00</published><updated>2007-08-15T10:01:12.301-07:00</updated><title type='text'>Saving window settings in My.Settings</title><summary type='text'>This is useful for saving window position and size when an application closes and then restoring these settings when the application starts again.1. In app.config, create three new settings:- IsMaximized (Boolean)- MainFormPosition (System.Drawing.Point)- MainFormSize (System.Drawing.Size)2. In the form's Load event handler, add the following code:If My.Settings.MainFormPosition &lt;&gt; Nothing  _</summary><link rel='replies' type='application/atom+xml' href='http://brainof-dave.blogspot.com/feeds/3008206663979998703/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8908545278841936450&amp;postID=3008206663979998703' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8908545278841936450/posts/default/3008206663979998703'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8908545278841936450/posts/default/3008206663979998703'/><link rel='alternate' type='text/html' href='http://brainof-dave.blogspot.com/2007/08/saving-window-settings-in-mysettings.html' title='Saving window settings in My.Settings'/><author><name>Dave</name><uri>http://www.blogger.com/profile/02365594340981258761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8908545278841936450.post-3968918192622268174</id><published>2007-08-15T08:29:00.000-07:00</published><updated>2007-08-15T08:44:22.563-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='DataSource'/><category scheme='http://www.blogger.com/atom/ns#' term='VB.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='scrolling'/><category scheme='http://www.blogger.com/atom/ns#' term='data bound'/><category scheme='http://www.blogger.com/atom/ns#' term='DataGridView'/><title type='text'>Turning off auto-scrolling in a bound DataGridView</title><summary type='text'>I was running into an issue where I didn't want the grid to auto-scroll or change the selected row when the underlying DataSource property was changed.  Here's what I came up with:' dgv is a DataGridView control with SelectionMode set to FullRowSelect and MultiSelect set to False.Dim intSelectedIndex As Integer = 0If dgv.SelectedRows.Count &gt; 0 Then    intSelectedIndex = dgv.SelectedRows(0).</summary><link rel='replies' type='application/atom+xml' href='http://brainof-dave.blogspot.com/feeds/3968918192622268174/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8908545278841936450&amp;postID=3968918192622268174' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8908545278841936450/posts/default/3968918192622268174'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8908545278841936450/posts/default/3968918192622268174'/><link rel='alternate' type='text/html' href='http://brainof-dave.blogspot.com/2007/08/turning-off-auto-scrolling-in-bound.html' title='Turning off auto-scrolling in a bound DataGridView'/><author><name>Dave</name><uri>http://www.blogger.com/profile/02365594340981258761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8908545278841936450.post-9159974354101717891</id><published>2007-07-31T06:54:00.000-07:00</published><updated>2007-07-31T07:19:16.534-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Recent menu'/><title type='text'>Adding a Recent menu to your application</title><summary type='text'>An easy way to implement a Recent menu in your application is to use the My.Settings namespace and store the recently opened items in a StringCollection setting.1. Create a setting called RecentDocuments of type System.Collections.Specialized.StringCollection.2. Add the following methods to your form class:Private Function GetRecentDocuments() As StringCollection        'StringCollection can be </summary><link rel='replies' type='application/atom+xml' href='http://brainof-dave.blogspot.com/feeds/9159974354101717891/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8908545278841936450&amp;postID=9159974354101717891' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8908545278841936450/posts/default/9159974354101717891'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8908545278841936450/posts/default/9159974354101717891'/><link rel='alternate' type='text/html' href='http://brainof-dave.blogspot.com/2007/07/adding-recent-menu-to-your-application.html' title='Adding a Recent menu to your application'/><author><name>Dave</name><uri>http://www.blogger.com/profile/02365594340981258761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8908545278841936450.post-3388791295002940617</id><published>2007-07-31T06:34:00.000-07:00</published><updated>2007-07-31T06:42:40.327-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MDI'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows Forms'/><title type='text'>MDI Application Quick Start</title><summary type='text'>Here's what needs to happen to get an MDI application up and running:1. Set the form's IsMdiContainer property to True.2. Create a menu strip for the form.3. Create a Window menu in the menu strip.4. Set the menu strip's MdiWindowListItem property to the name of the Window menu.Always refer to the topmost window with a reference to the main form's ActiveMdiChild property.When a new child window </summary><link rel='replies' type='application/atom+xml' href='http://brainof-dave.blogspot.com/feeds/3388791295002940617/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8908545278841936450&amp;postID=3388791295002940617' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8908545278841936450/posts/default/3388791295002940617'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8908545278841936450/posts/default/3388791295002940617'/><link rel='alternate' type='text/html' href='http://brainof-dave.blogspot.com/2007/07/mdi-application-quick-start.html' title='MDI Application Quick Start'/><author><name>Dave</name><uri>http://www.blogger.com/profile/02365594340981258761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8908545278841936450.post-3463781318162946094</id><published>2007-07-13T07:12:00.000-07:00</published><updated>2007-07-13T07:20:32.805-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='InlineShapes'/><category scheme='http://www.blogger.com/atom/ns#' term='VB'/><category scheme='http://www.blogger.com/atom/ns#' term='Word automation'/><category scheme='http://www.blogger.com/atom/ns#' term='Shapes'/><category scheme='http://www.blogger.com/atom/ns#' term='0x80010105'/><category scheme='http://www.blogger.com/atom/ns#' term='AddPicture'/><category scheme='http://www.blogger.com/atom/ns#' term='RPC_E_SERVERFAULT'/><title type='text'>Error inserting images into Word document</title><summary type='text'>On calls to Range.InlineShapes.Add("C:\blah.jpg") and Range.Shapes.Add("C:\blah.jpg") I kept getting a very helpful, precise error:The server threw an exception.(Exception from HRESULT: 0x80010105 (RPC_E_SERVERFAULT))Thanks for that!After playing around with the code for awhile, I found that my particular problem was being caused by how I instantiated the Word.Document object.  My code read:Dim </summary><link rel='replies' type='application/atom+xml' href='http://brainof-dave.blogspot.com/feeds/3463781318162946094/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8908545278841936450&amp;postID=3463781318162946094' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8908545278841936450/posts/default/3463781318162946094'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8908545278841936450/posts/default/3463781318162946094'/><link rel='alternate' type='text/html' href='http://brainof-dave.blogspot.com/2007/07/error-inserting-images-into-word.html' title='Error inserting images into Word document'/><author><name>Dave</name><uri>http://www.blogger.com/profile/02365594340981258761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8908545278841936450.post-8523429637548758441</id><published>2007-06-29T07:20:00.001-07:00</published><updated>2007-06-29T07:23:56.837-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='parameters'/><category scheme='http://www.blogger.com/atom/ns#' term='char'/><category scheme='http://www.blogger.com/atom/ns#' term='output'/><category scheme='http://www.blogger.com/atom/ns#' term='StringBuilder'/><category scheme='http://www.blogger.com/atom/ns#' term='string'/><category scheme='http://www.blogger.com/atom/ns#' term='DLL'/><category scheme='http://www.blogger.com/atom/ns#' term='Unmanaged'/><title type='text'>Unmanaged DLLs and string (or char*) output parameters</title><summary type='text'>I wrestled with this one for awhile, but discovered (via Google) that you can use StringBuilder to allocate a fixed-length string, then pass the StringBuilder in by value to the exported function/method in the unmanaged DLL.  Strings don't work in this case because they are not fixed length, and access violation errors can (and usually) occur.Declare Ansi Function Function_Name Lib "lib.dll" (</summary><link rel='replies' type='application/atom+xml' href='http://brainof-dave.blogspot.com/feeds/8523429637548758441/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8908545278841936450&amp;postID=8523429637548758441' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8908545278841936450/posts/default/8523429637548758441'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8908545278841936450/posts/default/8523429637548758441'/><link rel='alternate' type='text/html' href='http://brainof-dave.blogspot.com/2007/06/unmanaged-dlls-and-string-or-char.html' title='Unmanaged DLLs and string (or char*) output parameters'/><author><name>Dave</name><uri>http://www.blogger.com/profile/02365594340981258761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8908545278841936450.post-7949637567785181856</id><published>2007-06-29T06:32:00.000-07:00</published><updated>2007-06-29T06:33:49.397-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='visual studio'/><category scheme='http://www.blogger.com/atom/ns#' term='methods'/><category scheme='http://www.blogger.com/atom/ns#' term='export'/><category scheme='http://www.blogger.com/atom/ns#' term='list'/><category scheme='http://www.blogger.com/atom/ns#' term='DLL'/><category scheme='http://www.blogger.com/atom/ns#' term='functions'/><title type='text'>Viewing exports for a DLL</title><summary type='text'>Open a Visual Studio Command Prompt, navigate to the directory of the DLL to inspect, and use the following command:dumpbin /export whatever.dll</summary><link rel='replies' type='application/atom+xml' href='http://brainof-dave.blogspot.com/feeds/7949637567785181856/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8908545278841936450&amp;postID=7949637567785181856' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8908545278841936450/posts/default/7949637567785181856'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8908545278841936450/posts/default/7949637567785181856'/><link rel='alternate' type='text/html' href='http://brainof-dave.blogspot.com/2007/06/viewing-exports-for-dll.html' title='Viewing exports for a DLL'/><author><name>Dave</name><uri>http://www.blogger.com/profile/02365594340981258761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8908545278841936450.post-2876150367646267840</id><published>2007-06-15T11:13:00.001-07:00</published><updated>2007-06-15T11:14:03.533-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='query plan'/><category scheme='http://www.blogger.com/atom/ns#' term='execution plan'/><category scheme='http://www.blogger.com/atom/ns#' term='explain plan'/><category scheme='http://www.blogger.com/atom/ns#' term='oracle'/><title type='text'>More on Oracle execution plans</title><summary type='text'>Another useful command in looking at Oracle execution plans is:set autotrace traceonly explain</summary><link rel='replies' type='application/atom+xml' href='http://brainof-dave.blogspot.com/feeds/2876150367646267840/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8908545278841936450&amp;postID=2876150367646267840' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8908545278841936450/posts/default/2876150367646267840'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8908545278841936450/posts/default/2876150367646267840'/><link rel='alternate' type='text/html' href='http://brainof-dave.blogspot.com/2007/06/more-on-oracle-execution-plans.html' title='More on Oracle execution plans'/><author><name>Dave</name><uri>http://www.blogger.com/profile/02365594340981258761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8908545278841936450.post-3739524689725721618</id><published>2007-06-15T09:51:00.000-07:00</published><updated>2007-06-15T09:52:40.184-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='query plan'/><category scheme='http://www.blogger.com/atom/ns#' term='explain plan'/><category scheme='http://www.blogger.com/atom/ns#' term='oracle'/><title type='text'>Query plans in Oracle (EXPLAIN PLAN)</title><summary type='text'>Discovered this article when looking up how to view a query plan in Oracle.</summary><link rel='replies' type='application/atom+xml' href='http://brainof-dave.blogspot.com/feeds/3739524689725721618/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8908545278841936450&amp;postID=3739524689725721618' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8908545278841936450/posts/default/3739524689725721618'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8908545278841936450/posts/default/3739524689725721618'/><link rel='alternate' type='text/html' href='http://brainof-dave.blogspot.com/2007/06/query-plans-in-oracle-explain-plan.html' title='Query plans in Oracle (EXPLAIN PLAN)'/><author><name>Dave</name><uri>http://www.blogger.com/profile/02365594340981258761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8908545278841936450.post-735580601352091207</id><published>2007-06-14T11:02:00.001-07:00</published><updated>2007-06-14T11:16:29.976-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='schema'/><category scheme='http://www.blogger.com/atom/ns#' term='four part query'/><category scheme='http://www.blogger.com/atom/ns#' term='linked server'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL Server'/><category scheme='http://www.blogger.com/atom/ns#' term='oracle'/><title type='text'>How to determine owners of Oracle tables</title><summary type='text'>I recently needed to find out the schema names of certain Oracle tables that belonged to schemas other than the connecting user.  This is because the four-part queries in SQL Server require the schema/owner name of the tables referenced.  This query (run in SQL*Plus) lists the owners and names of all tables that can be seen by the connecting user:SELECT OWNER, TABLE_NAME FROM ALL_TABLES;A full </summary><link rel='replies' type='application/atom+xml' href='http://brainof-dave.blogspot.com/feeds/735580601352091207/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8908545278841936450&amp;postID=735580601352091207' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8908545278841936450/posts/default/735580601352091207'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8908545278841936450/posts/default/735580601352091207'/><link rel='alternate' type='text/html' href='http://brainof-dave.blogspot.com/2007/06/how-to-determine-owners-of-oracle.html' title='How to determine owners of Oracle tables'/><author><name>Dave</name><uri>http://www.blogger.com/profile/02365594340981258761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8908545278841936450.post-6165905400011639784</id><published>2007-06-01T14:36:00.000-07:00</published><updated>2007-06-01T14:43:37.460-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='float'/><category scheme='http://www.blogger.com/atom/ns#' term='decimal'/><category scheme='http://www.blogger.com/atom/ns#' term='precision'/><category scheme='http://www.blogger.com/atom/ns#' term='numeric'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL Server'/><category scheme='http://www.blogger.com/atom/ns#' term='casting'/><category scheme='http://www.blogger.com/atom/ns#' term='exponents'/><title type='text'>Casting to NUMERIC/DECIMAL with E notation</title><summary type='text'>Found this neat tidbit on some other guy's blog.  Basically, NUMERICs/DECIMALs are exact numeric types and cannot contain the E notation in their representations.  FLOATs are approximate numeric types and can contain the E notation.  FLOATs can also be CASTed to NUMERIC/DECIMAL with no problems (other than a loss of precision).For example, take the VARCHAR value X = '10000000E-2'.  To cast it to </summary><link rel='replies' type='application/atom+xml' href='http://brainof-dave.blogspot.com/feeds/6165905400011639784/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8908545278841936450&amp;postID=6165905400011639784' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8908545278841936450/posts/default/6165905400011639784'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8908545278841936450/posts/default/6165905400011639784'/><link rel='alternate' type='text/html' href='http://brainof-dave.blogspot.com/2007/06/casting-to-numericdecimal-with-e.html' title='Casting to NUMERIC/DECIMAL with E notation'/><author><name>Dave</name><uri>http://www.blogger.com/profile/02365594340981258761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8908545278841936450.post-804127621278234526</id><published>2007-06-01T12:45:00.000-07:00</published><updated>2007-06-01T12:50:02.958-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='end of file'/><category scheme='http://www.blogger.com/atom/ns#' term='SetEndOfFile'/><category scheme='http://www.blogger.com/atom/ns#' term='truncate'/><title type='text'>Truncate the last n bytes of a file</title><summary type='text'>Use FileStream.SetLength():Dim strFile As String = "C:\Path\To\File.txt"Dim fi As New FileInfo(strFile)Dim fs As New FileStream(strFile, FileMode.Open, FileAccess.Write)fs.SetLength(fi.Length - n)fs.Flush()fs.Close()</summary><link rel='replies' type='application/atom+xml' href='http://brainof-dave.blogspot.com/feeds/804127621278234526/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8908545278841936450&amp;postID=804127621278234526' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8908545278841936450/posts/default/804127621278234526'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8908545278841936450/posts/default/804127621278234526'/><link rel='alternate' type='text/html' href='http://brainof-dave.blogspot.com/2007/06/truncate-last-n-bytes-of-file.html' title='Truncate the last n bytes of a file'/><author><name>Dave</name><uri>http://www.blogger.com/profile/02365594340981258761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8908545278841936450.post-6948523154310372175</id><published>2007-05-24T06:20:00.001-07:00</published><updated>2007-05-24T06:22:29.827-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='windows explorer'/><title type='text'>Opening a Windows Explorer window in VB.NET</title><summary type='text'>Use Process.Start:Dim ps As New ProcessStartInfo("explorer")ps.Arguments = "C:\Directory\to\open"Process.Start(ps)</summary><link rel='replies' type='application/atom+xml' href='http://brainof-dave.blogspot.com/feeds/6948523154310372175/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8908545278841936450&amp;postID=6948523154310372175' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8908545278841936450/posts/default/6948523154310372175'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8908545278841936450/posts/default/6948523154310372175'/><link rel='alternate' type='text/html' href='http://brainof-dave.blogspot.com/2007/05/opening-windows-explorer-window-in.html' title='Opening a Windows Explorer window in VB.NET'/><author><name>Dave</name><uri>http://www.blogger.com/profile/02365594340981258761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8908545278841936450.post-4223365344155688743</id><published>2007-05-18T11:53:00.000-07:00</published><updated>2007-05-18T12:00:59.226-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='escape characters'/><category scheme='http://www.blogger.com/atom/ns#' term='regular expressions'/><title type='text'>.NET Regular Expression Escape Characters</title><summary type='text'>\w - matches any word character\W - matches any non-word character\s - matches any whitespace character\S - matches any non-whitespace character\n - newline\f - formfeed\r - carriage return\t - tab\v - vertical tab\0x0020 - space\d - digit^ - beginning of string$ - end of string</summary><link rel='replies' type='application/atom+xml' href='http://brainof-dave.blogspot.com/feeds/4223365344155688743/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8908545278841936450&amp;postID=4223365344155688743' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8908545278841936450/posts/default/4223365344155688743'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8908545278841936450/posts/default/4223365344155688743'/><link rel='alternate' type='text/html' href='http://brainof-dave.blogspot.com/2007/05/net-regular-expression-escape.html' title='.NET Regular Expression Escape Characters'/><author><name>Dave</name><uri>http://www.blogger.com/profile/02365594340981258761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8908545278841936450.post-6428086609266144328</id><published>2007-02-13T10:11:00.000-08:00</published><updated>2007-01-25T13:14:19.522-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='increment'/><category scheme='http://www.blogger.com/atom/ns#' term='integer'/><category scheme='http://www.blogger.com/atom/ns#' term='gaps'/><category scheme='http://www.blogger.com/atom/ns#' term='INT'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL Server'/><title type='text'>Filling in gaps in incrementing INT column in SQL Server</title><summary type='text'>Suppose you have a unique integer column i in a table T.  i may contain gaps.  i contains m rows.Suppose you wish to insert n values into i starting at some value x0 and incrementing.  Let x equal the first integer greater than or equal to x0 not found in i.In general, this can be solved by performing the following:SELECT TOP n * 2 IDENTITY(INT, x, 1) AS jINTO #tempFROM T T1CROSS JOIN T </summary><link rel='replies' type='application/atom+xml' href='http://brainof-dave.blogspot.com/feeds/6428086609266144328/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8908545278841936450&amp;postID=6428086609266144328' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8908545278841936450/posts/default/6428086609266144328'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8908545278841936450/posts/default/6428086609266144328'/><link rel='alternate' type='text/html' href='http://brainof-dave.blogspot.com/2007/02/filling-in-gaps-in-incrementing-int.html' title='Filling in gaps in incrementing INT column in SQL Server'/><author><name>Dave</name><uri>http://www.blogger.com/profile/02365594340981258761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8908545278841936450.post-3199937527610677879</id><published>2007-01-25T13:13:00.000-08:00</published><updated>2007-01-25T13:14:19.632-08:00</updated><title type='text'>Getting System Icons into a PictureBox control</title><summary type='text'>A simple solution for getting system icons into a PictureBox control at runtime is to set the PictureBox's Image property to SystemIcons.xxxxxx.ToBitmap().</summary><link rel='replies' type='application/atom+xml' href='http://brainof-dave.blogspot.com/feeds/3199937527610677879/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8908545278841936450&amp;postID=3199937527610677879' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8908545278841936450/posts/default/3199937527610677879'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8908545278841936450/posts/default/3199937527610677879'/><link rel='alternate' type='text/html' href='http://brainof-dave.blogspot.com/2007/01/getting-system-icons-into-picturebox.html' title='Getting System Icons into a PictureBox control'/><author><name>Dave</name><uri>http://www.blogger.com/profile/02365594340981258761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8908545278841936450.post-8181347040508341449</id><published>2006-12-11T07:05:00.000-08:00</published><updated>2006-12-11T07:09:35.424-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sp_msforeachdb'/><category scheme='http://www.blogger.com/atom/ns#' term='iteration'/><category scheme='http://www.blogger.com/atom/ns#' term='for each db'/><category scheme='http://www.blogger.com/atom/ns#' term='stored procedure'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL Server'/><title type='text'>sp_msforeachdb</title><summary type='text'>To iterate a command over all databases on a server, the undocumented sp_msforeachdb stored procedure fits the bill nicely. For example, I was given the task to set all databases on a particular server to a bulk-logged recovery model; this was easily accomplished with a single command:master..sp_msforeachdb 'exec sp_dboption ''?'', ''select into/bulkcopy'', ''on'''Note that this procedure </summary><link rel='replies' type='application/atom+xml' href='http://brainof-dave.blogspot.com/feeds/8181347040508341449/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8908545278841936450&amp;postID=8181347040508341449' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8908545278841936450/posts/default/8181347040508341449'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8908545278841936450/posts/default/8181347040508341449'/><link rel='alternate' type='text/html' href='http://brainof-dave.blogspot.com/2006/12/spmsforeachdb.html' title='sp_msforeachdb'/><author><name>Dave</name><uri>http://www.blogger.com/profile/02365594340981258761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8908545278841936450.post-6057278519475353487</id><published>2006-12-04T08:28:00.000-08:00</published><updated>2006-12-04T08:35:36.671-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='DataTable'/><category scheme='http://www.blogger.com/atom/ns#' term='ADO.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='Recordset'/><category scheme='http://www.blogger.com/atom/ns#' term='ADODB'/><title type='text'>ADODB.Recordset to ADO.NET DataTable</title><summary type='text'>It turns out that an OleDbDataAdapter can be used to fill an ADO.NET DataTable object from an ADODB.Recordset object:Imports System.Data.OleDb...Public Function RecordSetToDataTable(ByVal objRS As ADODB.RecordSet) As DataTable    Dim objDA As New OleDbDataAdapter()    Dim objDT As New DataTable()    objDA.Fill(objDT, objRS)    Return objDTEnd Function</summary><link rel='replies' type='application/atom+xml' href='http://brainof-dave.blogspot.com/feeds/6057278519475353487/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8908545278841936450&amp;postID=6057278519475353487' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8908545278841936450/posts/default/6057278519475353487'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8908545278841936450/posts/default/6057278519475353487'/><link rel='alternate' type='text/html' href='http://brainof-dave.blogspot.com/2006/12/adodbrecordset-to-adonet-datatable.html' title='ADODB.Recordset to ADO.NET DataTable'/><author><name>Dave</name><uri>http://www.blogger.com/profile/02365594340981258761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8908545278841936450.post-5258217106613003788</id><published>2006-11-30T10:02:00.000-08:00</published><updated>2006-11-30T10:05:13.298-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='xtype'/><category scheme='http://www.blogger.com/atom/ns#' term='sysobjects'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL Server'/><title type='text'>xtype values in sysobjects</title><summary type='text'>This is a list of all of the possible values for the xtype column in the sysobjects table of a SQL Server database:C - CHECK constraintD - Default or DEFAULT constraintF - FOREIGN KEY constraintL - LogP - Stored procedurePK - PRIMARY KEY constraintRF - Replication filter stored procedureS - System tableTR - TriggerU - User tableUQ - UNIQUE constraintV - ViewX - Extended stored procedure</summary><link rel='replies' type='application/atom+xml' href='http://brainof-dave.blogspot.com/feeds/5258217106613003788/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8908545278841936450&amp;postID=5258217106613003788' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8908545278841936450/posts/default/5258217106613003788'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8908545278841936450/posts/default/5258217106613003788'/><link rel='alternate' type='text/html' href='http://brainof-dave.blogspot.com/2006/11/xtype-values-in-sysobjects.html' title='xtype values in sysobjects'/><author><name>Dave</name><uri>http://www.blogger.com/profile/02365594340981258761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8908545278841936450.post-6028039551885768992</id><published>2006-11-28T10:05:00.000-08:00</published><updated>2006-11-28T10:21:31.207-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='excel'/><category scheme='http://www.blogger.com/atom/ns#' term='automation'/><category scheme='http://www.blogger.com/atom/ns#' term='paste method of worksheet class failed'/><title type='text'>Paste method of Worksheet class failed</title><summary type='text'>I ran across this automation exception message sporadically in a project I'm working on where I'm trying to place a large string on the Clipboard and paste it into an Excel 2002 spreadsheet (object) using Interop in VB.NET 2005. It probably happened one time out of every five attempts to paste.Previously, my code read:'objWorksheet is an Excel.Worksheet automation objectDim strClipboard As New </summary><link rel='replies' type='application/atom+xml' href='http://brainof-dave.blogspot.com/feeds/6028039551885768992/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8908545278841936450&amp;postID=6028039551885768992' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8908545278841936450/posts/default/6028039551885768992'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8908545278841936450/posts/default/6028039551885768992'/><link rel='alternate' type='text/html' href='http://brainof-dave.blogspot.com/2006/11/paste-method-of-worksheet-class-failed.html' title='Paste method of Worksheet class failed'/><author><name>Dave</name><uri>http://www.blogger.com/profile/02365594340981258761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8908545278841936450.post-2154444930626673849</id><published>2006-11-20T17:11:00.000-08:00</published><updated>2006-11-20T17:14:21.371-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='identity'/><category scheme='http://www.blogger.com/atom/ns#' term='renumbering'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL Server'/><title type='text'>SQL Server: DBCC CHECKIDENT</title><summary type='text'>This neat little SQL Server statement allows you to view/edit properties of the identity value of a table.Syntax:  DBCC CHECKIDENT ('table_name' [ , { NORESEED  { RESEED [ , new_reseed_value ] } } ])[ WITH NO_INFOMSGS ]For example, if I want to reset the identity value of the table FOOBAR to 55, I run the following SQL statement:DBCC CHECKIDENT('FOOBAR', RESEED, 55).If FOOBAR already has rows, </summary><link rel='replies' type='application/atom+xml' href='http://brainof-dave.blogspot.com/feeds/2154444930626673849/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8908545278841936450&amp;postID=2154444930626673849' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8908545278841936450/posts/default/2154444930626673849'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8908545278841936450/posts/default/2154444930626673849'/><link rel='alternate' type='text/html' href='http://brainof-dave.blogspot.com/2006/11/sql-server-dbcc-checkident.html' title='SQL Server: DBCC CHECKIDENT'/><author><name>Dave</name><uri>http://www.blogger.com/profile/02365594340981258761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8908545278841936450.post-9176906132920312442</id><published>2006-11-20T17:09:00.000-08:00</published><updated>2006-11-20T17:10:47.840-08:00</updated><title type='text'>Purpose Statement</title><summary type='text'>The whole point of this blog is so I don't have to attempt to remember programming tips and tricks I find.  Hopefully I can help other developers at the same time.  This is merely intended to be extra brain space.</summary><link rel='replies' type='application/atom+xml' href='http://brainof-dave.blogspot.com/feeds/9176906132920312442/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8908545278841936450&amp;postID=9176906132920312442' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8908545278841936450/posts/default/9176906132920312442'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8908545278841936450/posts/default/9176906132920312442'/><link rel='alternate' type='text/html' href='http://brainof-dave.blogspot.com/2006/11/purpose-statement.html' title='Purpose Statement'/><author><name>Dave</name><uri>http://www.blogger.com/profile/02365594340981258761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8908545278841936450.post-9011269680226273324</id><published>2006-11-20T17:06:00.000-08:00</published><updated>2006-11-20T17:07:37.741-08:00</updated><title type='text'>Yippee.</title><summary type='text'>So, I'm a blogger. How sad.</summary><link rel='replies' type='application/atom+xml' href='http://brainof-dave.blogspot.com/feeds/9011269680226273324/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8908545278841936450&amp;postID=9011269680226273324' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8908545278841936450/posts/default/9011269680226273324'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8908545278841936450/posts/default/9011269680226273324'/><link rel='alternate' type='text/html' href='http://brainof-dave.blogspot.com/2006/11/yippee.html' title='Yippee.'/><author><name>Dave</name><uri>http://www.blogger.com/profile/02365594340981258761</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
