I was recently needing to search an entire database for a particular string. I needed a script that would do this, so I went searching. I found a really useful script here:  http://vyaskn.tripod.com/search_all_columns_in_all_tables.htm. I am reposting the code here for my own future reference, and to share the script with you. But all the credit goes to the original creator.


Here is an example of how you would use the stored procedure to search the entire database for the string "Computer"
EXEC SearchAllTables 'Computer'
GO


Here is the code you need to execute against the database. It will create a stored procedure in the database that can then be used to perform the search. 
  CREATE PROC SearchAllTables ( 	@SearchStr nvarchar(100) ) AS BEGIN  	-- Copyright © 2002 Narayana Vyas Kondreddi. All rights reserved. 	-- Purpose: To search all columns of all tables for a given search string 	-- Written by: Narayana Vyas Kondreddi 	-- Site: http://vyaskn.tripod.com 	-- Tested on: SQL Server 7.0 and SQL Server 2000 	-- Date modified: 28th July 2002 22:50 GMT   	CREATE TABLE #Results (ColumnName nvarchar(370), ColumnValue nvarchar(3630))  	SET NOCOUNT ON  	DECLARE @TableName nvarchar(256), @ColumnName nvarchar(128), @SearchStr2 nvarchar(110) 	SET  @TableName = '' 	SET @SearchStr2 = QUOTENAME('%' + @SearchStr + '%','''')  	WHILE @TableName IS NOT NULL 	BEGIN 		SET @ColumnName = '' 		SET @TableName =  		( 			SELECT MIN(QUOTENAME(TABLE_SCHEMA) + '.' + QUOTENAME(TABLE_NAME)) 			FROM 	INFORMATION_SCHEMA.TABLES 			WHERE 		TABLE_TYPE = 'BASE TABLE' 				AND	QUOTENAME(TABLE_SCHEMA) + '.' + QUOTENAME(TABLE_NAME) > @TableName 				AND	OBJECTPROPERTY( 						OBJECT_ID( 							QUOTENAME(TABLE_SCHEMA) + '.' + QUOTENAME(TABLE_NAME) 							 ), 'IsMSShipped' 						       ) = 0 		)  		WHILE (@TableName IS NOT NULL) AND (@ColumnName IS NOT NULL) 		BEGIN 			SET @ColumnName = 			( 				SELECT MIN(QUOTENAME(COLUMN_NAME)) 				FROM 	INFORMATION_SCHEMA.COLUMNS 				WHERE 		TABLE_SCHEMA	= PARSENAME(@TableName, 2) 					AND	TABLE_NAME	= PARSENAME(@TableName, 1) 					AND	DATA_TYPE IN ('char', 'varchar', 'nchar', 'nvarchar') 					AND	QUOTENAME(COLUMN_NAME) > @ColumnName 			) 	 			IF @ColumnName IS NOT NULL 			BEGIN 				INSERT INTO #Results 				EXEC 				( 					'SELECT ''' + @TableName + '.' + @ColumnName + ''', LEFT(' + @ColumnName + ', 3630)  					FROM ' + @TableName + ' (NOLOCK) ' + 					' WHERE ' + @ColumnName + ' LIKE ' + @SearchStr2 				) 			END 		END	 	END  	SELECT ColumnName, ColumnValue FROM #Results END  
 
Have you ever wondered how you could just display all of your applications settings for editing and reviewing quick and easy. Here is how:
  1. Create a windows form (or use an existing one)
  2. Add a PropertyGrid control to the form (You will probably need to go to the all controls section of the toolbox to find it.)
  3. In the form load event simply set the property grid to display the application settings. Like this - PropertyGrid1.SelectedObject = My.Settings

Your done, it is that easy. Now all the applications settings will be displayed in a grid where they can be viewed and edited.

Note: If you only want to display User scope settings and not Application scope settings, do the following:

     ' Attribute for the user-scope settings. 
     Dim userAttr As New System.Configuration.UserScopedSettingAttribute 
     Dim attrs As New 
     System.ComponentModel.AttributeCollection(userAttr) 
     PropertyGrid1.BrowsableAttributes = attrs

 
I was recently attempting to bind a combo box to something other than a database data source. I found this snippet of code very useful for binding it to a dictionary of items. This allows more flexibility than just editing the item list, since it allows a different display and value member to be set.
Note: This method does not seem to work with a sorted dictionary.
        Dim ComboBoxSourceDictionary As New Dictionary(Of String, String)
        'add all your items here
        ComboBoxSourceDictionary.Add("aKey", "aValue")
        ComboBox1.DataSource = New _ 
                    Windows.Forms.BindingSource(ComboBoxSourceDictionary, Nothing)
        ComboBox1.DisplayMember = "Value"
        ComboBox1.ValueMember = "Key"