<?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-7701716</id><updated>2011-04-21T11:50:56.077-07:00</updated><title type='text'>Dot net blog</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://ashishcodes.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7701716/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://ashishcodes.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Ashish</name><uri>http://www.blogger.com/profile/06123537901514219423</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>36</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-7701716.post-112696424751523672</id><published>2005-09-17T06:36:00.000-07:00</published><updated>2005-09-17T06:37:27.536-07:00</updated><title type='text'>BasicInstincts</title><content type='html'>&lt;a href="http://msdn.microsoft.com/msdnmag/issues/04/06/BasicInstincts/"&gt;http://msdn.microsoft.com/msdnmag/issues/04/06/BasicInstincts/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7701716-112696424751523672?l=ashishcodes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ashishcodes.blogspot.com/feeds/112696424751523672/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7701716&amp;postID=112696424751523672' title='11 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7701716/posts/default/112696424751523672'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7701716/posts/default/112696424751523672'/><link rel='alternate' type='text/html' href='http://ashishcodes.blogspot.com/2005/09/basicinstincts.html' title='BasicInstincts'/><author><name>Ashish</name><uri>http://www.blogger.com/profile/06123537901514219423</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>11</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7701716.post-112502955516943097</id><published>2005-08-25T21:11:00.000-07:00</published><updated>2005-08-25T21:12:35.176-07:00</updated><title type='text'>parsing a comma delimited string by stored procedure</title><content type='html'>This is a Code by which u can send a string delimited by comma(or any delimiter u may choose)containing multiple values to a stored proc to be inserted into the DB. It saves considerable DB roundtrips.N.B. There is a caveat : Use it only if u are sure that the string would not exceed 8000 chars (The max length for a varchar).=====================================================================&lt;br /&gt;ALTER     PROC sprocCreateIndustryImageAssoc( @ImageList varchar(5000),        @IndustryID int)ASBEGIN&lt;br /&gt;Begin Tran&lt;br /&gt; SET NOCOUNT ON   IF @ImageList = '' BEGIN   Delete From tblAFDImageIndustryAssoc where &lt;a href="mailto:IndustryID=@IndustryID"&gt;IndustryID=@IndustryID&lt;/a&gt;    commit tran   RETURN END&lt;br /&gt; DECLARE @ImageID int, @Pos int&lt;br /&gt; SET @ImageList = LTRIM(RTRIM(@ImageList))+ ',' SET @Pos = CHARINDEX(',', @ImageList, 1)&lt;br /&gt; IF REPLACE(@ImageList, ',', '') &lt;&gt; '' BEGIN  Delete From tblAFDImageIndustryAssoc where &lt;a href="mailto:IndustryID=@IndustryID"&gt;IndustryID=@IndustryID&lt;/a&gt;   WHILE @Pos &gt; 0  BEGIN   SET @ImageID = LTRIM(RTRIM(LEFT(@ImageList, @Pos - 1)))   IF @ImageID &lt;&gt; ''   BEGIN                                    INSERT INTO tblAFDImageIndustryAssoc (ImageID,IndustryID) VALUES (CAST(@ImageID AS int),@IndustryID) --conversion of ImageID to Int    if @@Error &gt; 0     begin     rollback tran     return -1    end   END   SET @ImageList = RIGHT(@ImageList, LEN(@ImageList) - @Pos)   SET @Pos = CHARINDEX(',', @ImageList, 1)&lt;br /&gt;  END END&lt;br /&gt; --SELECT ImageID,IndustryID  FROM tblAFDImageIndustryAssoc&lt;br /&gt;        Commit Tran  return 0END&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7701716-112502955516943097?l=ashishcodes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ashishcodes.blogspot.com/feeds/112502955516943097/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7701716&amp;postID=112502955516943097' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7701716/posts/default/112502955516943097'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7701716/posts/default/112502955516943097'/><link rel='alternate' type='text/html' href='http://ashishcodes.blogspot.com/2005/08/parsing-comma-delimited-string-by.html' title='parsing a comma delimited string by stored procedure'/><author><name>Ashish</name><uri>http://www.blogger.com/profile/06123537901514219423</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-7701716.post-112325196132967843</id><published>2005-08-05T07:25:00.000-07:00</published><updated>2005-08-05T07:26:01.330-07:00</updated><title type='text'>remote-scripting-ajax</title><content type='html'>&lt;a href="http://www.sitepoint.com/print/remote-scripting-ajax"&gt;http://www.sitepoint.com/print/remote-scripting-ajax&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7701716-112325196132967843?l=ashishcodes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ashishcodes.blogspot.com/feeds/112325196132967843/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7701716&amp;postID=112325196132967843' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7701716/posts/default/112325196132967843'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7701716/posts/default/112325196132967843'/><link rel='alternate' type='text/html' href='http://ashishcodes.blogspot.com/2005/08/remote-scripting-ajax.html' title='remote-scripting-ajax'/><author><name>Ashish</name><uri>http://www.blogger.com/profile/06123537901514219423</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-7701716.post-112325157137859123</id><published>2005-08-05T07:19:00.000-07:00</published><updated>2005-08-05T07:19:31.380-07:00</updated><title type='text'>Want to know how Gmail works - and whether it will work?</title><content type='html'>&lt;a href="http://www.techworld.com/applications/news/index.cfm?NewsID=1356"&gt;http://www.techworld.com/applications/news/index.cfm?NewsID=1356&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7701716-112325157137859123?l=ashishcodes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ashishcodes.blogspot.com/feeds/112325157137859123/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7701716&amp;postID=112325157137859123' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7701716/posts/default/112325157137859123'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7701716/posts/default/112325157137859123'/><link rel='alternate' type='text/html' href='http://ashishcodes.blogspot.com/2005/08/want-to-know-how-gmail-works-and.html' title='Want to know how Gmail works - and whether it will work?'/><author><name>Ashish</name><uri>http://www.blogger.com/profile/06123537901514219423</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-7701716.post-112325151511431073</id><published>2005-08-05T07:15:00.000-07:00</published><updated>2005-08-05T07:18:35.120-07:00</updated><title type='text'>Google's storage strategy</title><content type='html'>&lt;a href="http://www.techworld.com/storage/features/index.cfm?featureid=467"&gt;http://www.techworld.com/storage/features/index.cfm?featureid=467&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7701716-112325151511431073?l=ashishcodes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ashishcodes.blogspot.com/feeds/112325151511431073/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7701716&amp;postID=112325151511431073' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7701716/posts/default/112325151511431073'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7701716/posts/default/112325151511431073'/><link rel='alternate' type='text/html' href='http://ashishcodes.blogspot.com/2005/08/googles-storage-strategy.html' title='Google&apos;s storage strategy'/><author><name>Ashish</name><uri>http://www.blogger.com/profile/06123537901514219423</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-7701716.post-112116858069485293</id><published>2005-07-12T04:43:00.000-07:00</published><updated>2005-07-12T04:43:00.726-07:00</updated><title type='text'>Generate insert scripts from existing data</title><content type='html'>&lt;a href="http://vyaskn.tripod.com/code/generate_inserts.txt"&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;SET NOCOUNT ON&lt;br /&gt;GO&lt;br /&gt;&lt;br /&gt;PRINT 'Using Master database'&lt;br /&gt;USE master&lt;br /&gt;GO&lt;br /&gt;&lt;br /&gt;PRINT 'Checking for the existence of this procedure'&lt;br /&gt;IF (SELECT OBJECT_ID('sp_generate_inserts','P')) IS NOT NULL --means, the procedure already exists&lt;br /&gt;	BEGIN&lt;br /&gt;		PRINT 'Procedure already exists. So, dropping it'&lt;br /&gt;		DROP PROC sp_generate_inserts&lt;br /&gt;	END&lt;br /&gt;GO&lt;br /&gt;&lt;br /&gt;--Turn system object marking on&lt;br /&gt;EXEC master.dbo.sp_MS_upd_sysobj_category 1&lt;br /&gt;GO&lt;br /&gt;&lt;br /&gt;CREATE PROC sp_generate_inserts&lt;br /&gt;(&lt;br /&gt;	@table_name varchar(776),  		-- The table/view for which the INSERT statements will be generated using the existing data&lt;br /&gt;	@target_table varchar(776) = NULL, 	-- Use this parameter to specify a different table name into which the data will be inserted&lt;br /&gt;	@include_column_list bit = 1,		-- Use this parameter to include/ommit column list in the generated INSERT statement&lt;br /&gt;	@from varchar(800) = NULL, 		-- Use this parameter to filter the rows based on a filter condition (using WHERE)&lt;br /&gt;	@include_timestamp bit = 0, 		-- Specify 1 for this parameter, if you want to include the TIMESTAMP/ROWVERSION column's data in the INSERT statement&lt;br /&gt;	@debug_mode bit = 0,			-- If @debug_mode is set to 1, the SQL statements constructed by this procedure will be printed for later examination&lt;br /&gt;	@owner varchar(64) = NULL,		-- Use this parameter if you are not the owner of the table&lt;br /&gt;	@ommit_images bit = 0,			-- Use this parameter to generate INSERT statements by omitting the 'image' columns&lt;br /&gt;	@ommit_identity bit = 0,		-- Use this parameter to ommit the identity columns&lt;br /&gt;	@top int = NULL,			-- Use this parameter to generate INSERT statements only for the TOP n rows&lt;br /&gt;	@cols_to_include varchar(8000) = NULL,	-- List of columns to be included in the INSERT statement&lt;br /&gt;	@cols_to_exclude varchar(8000) = NULL,	-- List of columns to be excluded from the INSERT statement&lt;br /&gt;	@disable_constraints bit = 0,		-- When 1, disables foreign key constraints and enables them after the INSERT statements&lt;br /&gt;	@ommit_computed_cols bit = 0		-- When 1, computed columns will not be included in the INSERT statement&lt;br /&gt;	&lt;br /&gt;)&lt;br /&gt;AS&lt;br /&gt;BEGIN&lt;br /&gt;&lt;br /&gt;/***********************************************************************************************************&lt;br /&gt;Procedure:	sp_generate_inserts  (Build 22) &lt;br /&gt;		(Copyright © 2002 Narayana Vyas Kondreddi. All rights reserved.)&lt;br /&gt;                                          &lt;br /&gt;Purpose:	To generate INSERT statements from existing data. &lt;br /&gt;		These INSERTS can be executed to regenerate the data at some other location.&lt;br /&gt;		This procedure is also useful to create a database setup, where in you can &lt;br /&gt;		script your data along with your table definitions.&lt;br /&gt;&lt;br /&gt;Written by:	Narayana Vyas Kondreddi&lt;br /&gt;	        http://vyaskn.tripod.com&lt;br /&gt;&lt;br /&gt;Acknowledgements:&lt;br /&gt;		Divya Kalra	-- For beta testing&lt;br /&gt;		Mark Charsley	-- For reporting a problem with scripting uniqueidentifier columns with NULL values&lt;br /&gt;		Artur Zeygman	-- For helping me simplify a bit of code for handling non-dbo owned tables&lt;br /&gt;		Joris Laperre   -- For reporting a regression bug in handling text/ntext columns&lt;br /&gt;&lt;br /&gt;Tested on: 	SQL Server 7.0 and SQL Server 2000&lt;br /&gt;&lt;br /&gt;Date created:	January 17th 2001 21:52 GMT&lt;br /&gt;&lt;br /&gt;Date modified:	May 1st 2002 19:50 GMT&lt;br /&gt;&lt;br /&gt;Email: 		vyaskn@hotmail.com&lt;br /&gt;&lt;br /&gt;NOTE:		This procedure may not work with tables with too many columns.&lt;br /&gt;		Results can be unpredictable with huge text columns or SQL Server 2000's sql_variant data types&lt;br /&gt;		Whenever possible, Use @include_column_list parameter to ommit column list in the INSERT statement, for better results&lt;br /&gt;		IMPORTANT: This procedure is not tested with internation data (Extended characters or Unicode). If needed&lt;br /&gt;		you might want to convert the datatypes of character variables in this procedure to their respective unicode counterparts&lt;br /&gt;		like nchar and nvarchar&lt;br /&gt;		&lt;br /&gt;&lt;br /&gt;Example 1:	To generate INSERT statements for table 'titles':&lt;br /&gt;		&lt;br /&gt;		EXEC sp_generate_inserts 'titles'&lt;br /&gt;&lt;br /&gt;Example 2: 	To ommit the column list in the INSERT statement: (Column list is included by default)&lt;br /&gt;		IMPORTANT: If you have too many columns, you are advised to ommit column list, as shown below,&lt;br /&gt;		to avoid erroneous results&lt;br /&gt;		&lt;br /&gt;		EXEC sp_generate_inserts 'titles', @include_column_list = 0&lt;br /&gt;&lt;br /&gt;Example 3:	To generate INSERT statements for 'titlesCopy' table from 'titles' table:&lt;br /&gt;&lt;br /&gt;		EXEC sp_generate_inserts 'titles', 'titlesCopy'&lt;br /&gt;&lt;br /&gt;Example 4:	To generate INSERT statements for 'titles' table for only those titles &lt;br /&gt;		which contain the word 'Computer' in them:&lt;br /&gt;		NOTE: Do not complicate the FROM or WHERE clause here. It's assumed that you are good with T-SQL if you are using this parameter&lt;br /&gt;&lt;br /&gt;		EXEC sp_generate_inserts 'titles', @from = "from titles where title like '%Computer%'"&lt;br /&gt;&lt;br /&gt;Example 5: 	To specify that you want to include TIMESTAMP column's data as well in the INSERT statement:&lt;br /&gt;		(By default TIMESTAMP column's data is not scripted)&lt;br /&gt;&lt;br /&gt;		EXEC sp_generate_inserts 'titles', @include_timestamp = 1&lt;br /&gt;&lt;br /&gt;Example 6:	To print the debug information:&lt;br /&gt;  &lt;br /&gt;		EXEC sp_generate_inserts 'titles', @debug_mode = 1&lt;br /&gt;&lt;br /&gt;Example 7: 	If you are not the owner of the table, use @owner parameter to specify the owner name&lt;br /&gt;		To use this option, you must have SELECT permissions on that table&lt;br /&gt;&lt;br /&gt;		EXEC sp_generate_inserts Nickstable, @owner = 'Nick'&lt;br /&gt;&lt;br /&gt;Example 8: 	To generate INSERT statements for the rest of the columns excluding images&lt;br /&gt;		When using this otion, DO NOT set @include_column_list parameter to 0.&lt;br /&gt;&lt;br /&gt;		EXEC sp_generate_inserts imgtable, @ommit_images = 1&lt;br /&gt;&lt;br /&gt;Example 9: 	To generate INSERT statements excluding (ommiting) IDENTITY columns:&lt;br /&gt;		(By default IDENTITY columns are included in the INSERT statement)&lt;br /&gt;&lt;br /&gt;		EXEC sp_generate_inserts mytable, @ommit_identity = 1&lt;br /&gt;&lt;br /&gt;Example 10: 	To generate INSERT statements for the TOP 10 rows in the table:&lt;br /&gt;		&lt;br /&gt;		EXEC sp_generate_inserts mytable, @top = 10&lt;br /&gt;&lt;br /&gt;Example 11: 	To generate INSERT statements with only those columns you want:&lt;br /&gt;		&lt;br /&gt;		EXEC sp_generate_inserts titles, @cols_to_include = "'title','title_id','au_id'"&lt;br /&gt;&lt;br /&gt;Example 12: 	To generate INSERT statements by omitting certain columns:&lt;br /&gt;		&lt;br /&gt;		EXEC sp_generate_inserts titles, @cols_to_exclude = "'title','title_id','au_id'"&lt;br /&gt;&lt;br /&gt;Example 13:	To avoid checking the foreign key constraints while loading data with INSERT statements:&lt;br /&gt;		&lt;br /&gt;		EXEC sp_generate_inserts titles, @disable_constraints = 1&lt;br /&gt;&lt;br /&gt;Example 14: 	To exclude computed columns from the INSERT statement:&lt;br /&gt;		EXEC sp_generate_inserts MyTable, @ommit_computed_cols = 1&lt;br /&gt;***********************************************************************************************************/&lt;br /&gt;&lt;br /&gt;SET NOCOUNT ON&lt;br /&gt;&lt;br /&gt;--Making sure user only uses either @cols_to_include or @cols_to_exclude&lt;br /&gt;IF ((@cols_to_include IS NOT NULL) AND (@cols_to_exclude IS NOT NULL))&lt;br /&gt;	BEGIN&lt;br /&gt;		RAISERROR('Use either @cols_to_include or @cols_to_exclude. Do not use both the parameters at once',16,1)&lt;br /&gt;		RETURN -1 --Failure. Reason: Both @cols_to_include and @cols_to_exclude parameters are specified&lt;br /&gt;	END&lt;br /&gt;&lt;br /&gt;--Making sure the @cols_to_include and @cols_to_exclude parameters are receiving values in proper format&lt;br /&gt;IF ((@cols_to_include IS NOT NULL) AND (PATINDEX('''%''',@cols_to_include) = 0))&lt;br /&gt;	BEGIN&lt;br /&gt;		RAISERROR('Invalid use of @cols_to_include property',16,1)&lt;br /&gt;		PRINT 'Specify column names surrounded by single quotes and separated by commas'&lt;br /&gt;		PRINT 'Eg: EXEC sp_generate_inserts titles, @cols_to_include = "''title_id'',''title''"'&lt;br /&gt;		RETURN -1 --Failure. Reason: Invalid use of @cols_to_include property&lt;br /&gt;	END&lt;br /&gt;&lt;br /&gt;IF ((@cols_to_exclude IS NOT NULL) AND (PATINDEX('''%''',@cols_to_exclude) = 0))&lt;br /&gt;	BEGIN&lt;br /&gt;		RAISERROR('Invalid use of @cols_to_exclude property',16,1)&lt;br /&gt;		PRINT 'Specify column names surrounded by single quotes and separated by commas'&lt;br /&gt;		PRINT 'Eg: EXEC sp_generate_inserts titles, @cols_to_exclude = "''title_id'',''title''"'&lt;br /&gt;		RETURN -1 --Failure. Reason: Invalid use of @cols_to_exclude property&lt;br /&gt;	END&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;--Checking to see if the database name is specified along wih the table name&lt;br /&gt;--Your database context should be local to the table for which you want to generate INSERT statements&lt;br /&gt;--specifying the database name is not allowed&lt;br /&gt;IF (PARSENAME(@table_name,3)) IS NOT NULL&lt;br /&gt;	BEGIN&lt;br /&gt;		RAISERROR('Do not specify the database name. Be in the required database and just specify the table name.',16,1)&lt;br /&gt;		RETURN -1 --Failure. Reason: Database name is specified along with the table name, which is not allowed&lt;br /&gt;	END&lt;br /&gt;&lt;br /&gt;--Checking for the existence of 'user table' or 'view'&lt;br /&gt;--This procedure is not written to work on system tables&lt;br /&gt;--To script the data in system tables, just create a view on the system tables and script the view instead&lt;br /&gt;&lt;br /&gt;IF @owner IS NULL&lt;br /&gt;	BEGIN&lt;br /&gt;		IF ((OBJECT_ID(@table_name,'U') IS NULL) AND (OBJECT_ID(@table_name,'V') IS NULL)) &lt;br /&gt;			BEGIN&lt;br /&gt;				RAISERROR('User table or view not found.',16,1)&lt;br /&gt;				PRINT 'You may see this error, if you are not the owner of this table or view. In that case use @owner parameter to specify the owner name.'&lt;br /&gt;				PRINT 'Make sure you have SELECT permission on that table or view.'&lt;br /&gt;				RETURN -1 --Failure. Reason: There is no user table or view with this name&lt;br /&gt;			END&lt;br /&gt;	END&lt;br /&gt;ELSE&lt;br /&gt;	BEGIN&lt;br /&gt;		IF NOT EXISTS (SELECT 1 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = @table_name AND (TABLE_TYPE = 'BASE TABLE' OR TABLE_TYPE = 'VIEW') AND TABLE_SCHEMA = @owner)&lt;br /&gt;			BEGIN&lt;br /&gt;				RAISERROR('User table or view not found.',16,1)&lt;br /&gt;				PRINT 'You may see this error, if you are not the owner of this table. In that case use @owner parameter to specify the owner name.'&lt;br /&gt;				PRINT 'Make sure you have SELECT permission on that table or view.'&lt;br /&gt;				RETURN -1 --Failure. Reason: There is no user table or view with this name		&lt;br /&gt;			END&lt;br /&gt;	END&lt;br /&gt;&lt;br /&gt;--Variable declarations&lt;br /&gt;DECLARE		@Column_ID int, 		&lt;br /&gt;		@Column_List varchar(8000), &lt;br /&gt;		@Column_Name varchar(128), &lt;br /&gt;		@Start_Insert varchar(786), &lt;br /&gt;		@Data_Type varchar(128), &lt;br /&gt;		@Actual_Values varchar(8000),	--This is the string that will be finally executed to generate INSERT statements&lt;br /&gt;		@IDN varchar(128)		--Will contain the IDENTITY column's name in the table&lt;br /&gt;&lt;br /&gt;--Variable Initialization&lt;br /&gt;SET @IDN = ''&lt;br /&gt;SET @Column_ID = 0&lt;br /&gt;SET @Column_Name = ''&lt;br /&gt;SET @Column_List = ''&lt;br /&gt;SET @Actual_Values = ''&lt;br /&gt;&lt;br /&gt;IF @owner IS NULL &lt;br /&gt;	BEGIN&lt;br /&gt;		SET @Start_Insert = 'INSERT INTO ' + '[' + RTRIM(COALESCE(@target_table,@table_name)) + ']' &lt;br /&gt;	END&lt;br /&gt;ELSE&lt;br /&gt;	BEGIN&lt;br /&gt;		SET @Start_Insert = 'INSERT ' + '[' + LTRIM(RTRIM(@owner)) + '].' + '[' + RTRIM(COALESCE(@target_table,@table_name)) + ']' 		&lt;br /&gt;	END&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;--To get the first column's ID&lt;br /&gt;&lt;br /&gt;SELECT	@Column_ID = MIN(ORDINAL_POSITION) 	&lt;br /&gt;FROM	INFORMATION_SCHEMA.COLUMNS (NOLOCK) &lt;br /&gt;WHERE 	TABLE_NAME = @table_name AND&lt;br /&gt;(@owner IS NULL OR TABLE_SCHEMA = @owner)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;--Loop through all the columns of the table, to get the column names and their data types&lt;br /&gt;WHILE @Column_ID IS NOT NULL&lt;br /&gt;	BEGIN&lt;br /&gt;		SELECT 	@Column_Name = QUOTENAME(COLUMN_NAME), &lt;br /&gt;		@Data_Type = DATA_TYPE &lt;br /&gt;		FROM 	INFORMATION_SCHEMA.COLUMNS (NOLOCK) &lt;br /&gt;		WHERE 	ORDINAL_POSITION = @Column_ID AND &lt;br /&gt;		TABLE_NAME = @table_name AND&lt;br /&gt;		(@owner IS NULL OR TABLE_SCHEMA = @owner)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;		IF @cols_to_include IS NOT NULL --Selecting only user specified columns&lt;br /&gt;		BEGIN&lt;br /&gt;			IF CHARINDEX( '''' + SUBSTRING(@Column_Name,2,LEN(@Column_Name)-2) + '''',@cols_to_include) = 0 &lt;br /&gt;			BEGIN&lt;br /&gt;				GOTO SKIP_LOOP&lt;br /&gt;			END&lt;br /&gt;		END&lt;br /&gt;&lt;br /&gt;		IF @cols_to_exclude IS NOT NULL --Selecting only user specified columns&lt;br /&gt;		BEGIN&lt;br /&gt;			IF CHARINDEX( '''' + SUBSTRING(@Column_Name,2,LEN(@Column_Name)-2) + '''',@cols_to_exclude) &lt;&gt; 0 &lt;br /&gt;			BEGIN&lt;br /&gt;				GOTO SKIP_LOOP&lt;br /&gt;			END&lt;br /&gt;		END&lt;br /&gt;&lt;br /&gt;		--Making sure to output SET IDENTITY_INSERT ON/OFF in case the table has an IDENTITY column&lt;br /&gt;		IF (SELECT COLUMNPROPERTY( OBJECT_ID(QUOTENAME(COALESCE(@owner,USER_NAME())) + '.' + @table_name),SUBSTRING(@Column_Name,2,LEN(@Column_Name) - 2),'IsIdentity')) = 1 &lt;br /&gt;		BEGIN&lt;br /&gt;			IF @ommit_identity = 0 --Determing whether to include or exclude the IDENTITY column&lt;br /&gt;				SET @IDN = @Column_Name&lt;br /&gt;			ELSE&lt;br /&gt;				GOTO SKIP_LOOP			&lt;br /&gt;		END&lt;br /&gt;		&lt;br /&gt;		--Making sure whether to output computed columns or not&lt;br /&gt;		IF @ommit_computed_cols = 1&lt;br /&gt;		BEGIN&lt;br /&gt;			IF (SELECT COLUMNPROPERTY( OBJECT_ID(QUOTENAME(COALESCE(@owner,USER_NAME())) + '.' + @table_name),SUBSTRING(@Column_Name,2,LEN(@Column_Name) - 2),'IsComputed')) = 1 &lt;br /&gt;			BEGIN&lt;br /&gt;				GOTO SKIP_LOOP					&lt;br /&gt;			END&lt;br /&gt;		END&lt;br /&gt;		&lt;br /&gt;		--Tables with columns of IMAGE data type are not supported for obvious reasons&lt;br /&gt;		IF(@Data_Type in ('image'))&lt;br /&gt;			BEGIN&lt;br /&gt;				IF (@ommit_images = 0)&lt;br /&gt;					BEGIN&lt;br /&gt;						RAISERROR('Tables with image columns are not supported.',16,1)&lt;br /&gt;						PRINT 'Use @ommit_images = 1 parameter to generate INSERTs for the rest of the columns.'&lt;br /&gt;						PRINT 'DO NOT ommit Column List in the INSERT statements. If you ommit column list using @include_column_list=0, the generated INSERTs will fail.'&lt;br /&gt;						RETURN -1 --Failure. Reason: There is a column with image data type&lt;br /&gt;					END&lt;br /&gt;				ELSE&lt;br /&gt;					BEGIN&lt;br /&gt;					GOTO SKIP_LOOP&lt;br /&gt;					END&lt;br /&gt;			END&lt;br /&gt;&lt;br /&gt;		--Determining the data type of the column and depending on the data type, the VALUES part of&lt;br /&gt;		--the INSERT statement is generated. Care is taken to handle columns with NULL values. Also&lt;br /&gt;		--making sure, not to lose any data from flot, real, money, smallmomey, datetime columns&lt;br /&gt;		SET @Actual_Values = @Actual_Values  +&lt;br /&gt;		CASE &lt;br /&gt;			WHEN @Data_Type IN ('char','varchar','nchar','nvarchar') &lt;br /&gt;				THEN &lt;br /&gt;					'COALESCE('''''''' + REPLACE(RTRIM(' + @Column_Name + '),'''''''','''''''''''')+'''''''',''NULL'')'&lt;br /&gt;			WHEN @Data_Type IN ('datetime','smalldatetime') &lt;br /&gt;				THEN &lt;br /&gt;					'COALESCE('''''''' + RTRIM(CONVERT(char,' + @Column_Name + ',109))+'''''''',''NULL'')'&lt;br /&gt;			WHEN @Data_Type IN ('uniqueidentifier') &lt;br /&gt;				THEN  &lt;br /&gt;					'COALESCE('''''''' + REPLACE(CONVERT(char(255),RTRIM(' + @Column_Name + ')),'''''''','''''''''''')+'''''''',''NULL'')'&lt;br /&gt;			WHEN @Data_Type IN ('text','ntext') &lt;br /&gt;				THEN  &lt;br /&gt;					'COALESCE('''''''' + REPLACE(CONVERT(char(8000),' + @Column_Name + '),'''''''','''''''''''')+'''''''',''NULL'')'					&lt;br /&gt;			WHEN @Data_Type IN ('binary','varbinary') &lt;br /&gt;				THEN  &lt;br /&gt;					'COALESCE(RTRIM(CONVERT(char,' + 'CONVERT(int,' + @Column_Name + '))),''NULL'')'  &lt;br /&gt;			WHEN @Data_Type IN ('timestamp','rowversion') &lt;br /&gt;				THEN  &lt;br /&gt;					CASE &lt;br /&gt;						WHEN @include_timestamp = 0 &lt;br /&gt;							THEN &lt;br /&gt;								'''DEFAULT''' &lt;br /&gt;							ELSE &lt;br /&gt;								'COALESCE(RTRIM(CONVERT(char,' + 'CONVERT(int,' + @Column_Name + '))),''NULL'')'  &lt;br /&gt;					END&lt;br /&gt;			WHEN @Data_Type IN ('float','real','money','smallmoney')&lt;br /&gt;				THEN&lt;br /&gt;					'COALESCE(LTRIM(RTRIM(' + 'CONVERT(char, ' +  @Column_Name  + ',2)' + ')),''NULL'')' &lt;br /&gt;			ELSE &lt;br /&gt;				'COALESCE(LTRIM(RTRIM(' + 'CONVERT(char, ' +  @Column_Name  + ')' + ')),''NULL'')' &lt;br /&gt;		END   + '+' +  ''',''' + ' + '&lt;br /&gt;		&lt;br /&gt;		--Generating the column list for the INSERT statement&lt;br /&gt;		SET @Column_List = @Column_List +  @Column_Name + ','	&lt;br /&gt;&lt;br /&gt;		SKIP_LOOP: --The label used in GOTO&lt;br /&gt;&lt;br /&gt;		SELECT 	@Column_ID = MIN(ORDINAL_POSITION) &lt;br /&gt;		FROM 	INFORMATION_SCHEMA.COLUMNS (NOLOCK) &lt;br /&gt;		WHERE 	TABLE_NAME = @table_name AND &lt;br /&gt;		ORDINAL_POSITION &gt; @Column_ID AND&lt;br /&gt;		(@owner IS NULL OR TABLE_SCHEMA = @owner)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;	--Loop ends here!&lt;br /&gt;	END&lt;br /&gt;&lt;br /&gt;--To get rid of the extra characters that got concatenated during the last run through the loop&lt;br /&gt;SET @Column_List = LEFT(@Column_List,len(@Column_List) - 1)&lt;br /&gt;SET @Actual_Values = LEFT(@Actual_Values,len(@Actual_Values) - 6)&lt;br /&gt;&lt;br /&gt;IF LTRIM(@Column_List) = '' &lt;br /&gt;	BEGIN&lt;br /&gt;		RAISERROR('No columns to select. There should at least be one column to generate the output',16,1)&lt;br /&gt;		RETURN -1 --Failure. Reason: Looks like all the columns are ommitted using the @cols_to_exclude parameter&lt;br /&gt;	END&lt;br /&gt;&lt;br /&gt;--Forming the final string that will be executed, to output the INSERT statements&lt;br /&gt;IF (@include_column_list &lt;&gt; 0)&lt;br /&gt;	BEGIN&lt;br /&gt;		SET @Actual_Values = &lt;br /&gt;			'SELECT ' +  &lt;br /&gt;			CASE WHEN @top IS NULL OR @top &lt; 0 THEN '' ELSE ' TOP ' + LTRIM(STR(@top)) + ' ' END + &lt;br /&gt;			'''' + RTRIM(@Start_Insert) + &lt;br /&gt;			' ''+' + '''(' + RTRIM(@Column_List) +  '''+' + ''')''' + &lt;br /&gt;			' +''VALUES(''+ ' +  @Actual_Values  + '+'')''' + ' ' + &lt;br /&gt;			COALESCE(@from,' FROM ' + CASE WHEN @owner IS NULL THEN '' ELSE '[' + LTRIM(RTRIM(@owner)) + '].' END + '[' + rtrim(@table_name) + ']' + '(NOLOCK)')&lt;br /&gt;	END&lt;br /&gt;ELSE IF (@include_column_list = 0)&lt;br /&gt;	BEGIN&lt;br /&gt;		SET @Actual_Values = &lt;br /&gt;			'SELECT ' + &lt;br /&gt;			CASE WHEN @top IS NULL OR @top &lt; 0 THEN '' ELSE ' TOP ' + LTRIM(STR(@top)) + ' ' END + &lt;br /&gt;			'''' + RTRIM(@Start_Insert) + &lt;br /&gt;			' '' +''VALUES(''+ ' +  @Actual_Values + '+'')''' + ' ' + &lt;br /&gt;			COALESCE(@from,' FROM ' + CASE WHEN @owner IS NULL THEN '' ELSE '[' + LTRIM(RTRIM(@owner)) + '].' END + '[' + rtrim(@table_name) + ']' + '(NOLOCK)')&lt;br /&gt;	END	&lt;br /&gt;&lt;br /&gt;--Determining whether to ouput any debug information&lt;br /&gt;IF @debug_mode =1&lt;br /&gt;	BEGIN&lt;br /&gt;		PRINT '/*****START OF DEBUG INFORMATION*****'&lt;br /&gt;		PRINT 'Beginning of the INSERT statement:'&lt;br /&gt;		PRINT @Start_Insert&lt;br /&gt;		PRINT ''&lt;br /&gt;		PRINT 'The column list:'&lt;br /&gt;		PRINT @Column_List&lt;br /&gt;		PRINT ''&lt;br /&gt;		PRINT 'The SELECT statement executed to generate the INSERTs'&lt;br /&gt;		PRINT @Actual_Values&lt;br /&gt;		PRINT ''&lt;br /&gt;		PRINT '*****END OF DEBUG INFORMATION*****/'&lt;br /&gt;		PRINT ''&lt;br /&gt;	END&lt;br /&gt;		&lt;br /&gt;PRINT '--INSERTs generated by ''sp_generate_inserts'' stored procedure written by Vyas'&lt;br /&gt;PRINT '--Build number: 22'&lt;br /&gt;PRINT '--Problems/Suggestions? Contact Vyas @ vyaskn@hotmail.com'&lt;br /&gt;PRINT '--http://vyaskn.tripod.com'&lt;br /&gt;PRINT ''&lt;br /&gt;PRINT 'SET NOCOUNT ON'&lt;br /&gt;PRINT ''&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;--Determining whether to print IDENTITY_INSERT or not&lt;br /&gt;IF (@IDN &lt;&gt; '')&lt;br /&gt;	BEGIN&lt;br /&gt;		PRINT 'SET IDENTITY_INSERT ' + QUOTENAME(COALESCE(@owner,USER_NAME())) + '.' + QUOTENAME(@table_name) + ' ON'&lt;br /&gt;		PRINT 'GO'&lt;br /&gt;		PRINT ''&lt;br /&gt;	END&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;IF @disable_constraints = 1 AND (OBJECT_ID(QUOTENAME(COALESCE(@owner,USER_NAME())) + '.' + @table_name, 'U') IS NOT NULL)&lt;br /&gt;	BEGIN&lt;br /&gt;		IF @owner IS NULL&lt;br /&gt;			BEGIN&lt;br /&gt;				SELECT 	'ALTER TABLE ' + QUOTENAME(COALESCE(@target_table, @table_name)) + ' NOCHECK CONSTRAINT ALL' AS '--Code to disable constraints temporarily'&lt;br /&gt;			END&lt;br /&gt;		ELSE&lt;br /&gt;			BEGIN&lt;br /&gt;				SELECT 	'ALTER TABLE ' + QUOTENAME(@owner) + '.' + QUOTENAME(COALESCE(@target_table, @table_name)) + ' NOCHECK CONSTRAINT ALL' AS '--Code to disable constraints temporarily'&lt;br /&gt;			END&lt;br /&gt;&lt;br /&gt;		PRINT 'GO'&lt;br /&gt;	END&lt;br /&gt;&lt;br /&gt;PRINT ''&lt;br /&gt;PRINT 'PRINT ''Inserting values into ' + '[' + RTRIM(COALESCE(@target_table,@table_name)) + ']' + ''''&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;--All the hard work pays off here!!! You'll get your INSERT statements, when the next line executes!&lt;br /&gt;EXEC (@Actual_Values)&lt;br /&gt;&lt;br /&gt;PRINT 'PRINT ''Done'''&lt;br /&gt;PRINT ''&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;IF @disable_constraints = 1 AND (OBJECT_ID(QUOTENAME(COALESCE(@owner,USER_NAME())) + '.' + @table_name, 'U') IS NOT NULL)&lt;br /&gt;	BEGIN&lt;br /&gt;		IF @owner IS NULL&lt;br /&gt;			BEGIN&lt;br /&gt;				SELECT 	'ALTER TABLE ' + QUOTENAME(COALESCE(@target_table, @table_name)) + ' CHECK CONSTRAINT ALL'  AS '--Code to enable the previously disabled constraints'&lt;br /&gt;			END&lt;br /&gt;		ELSE&lt;br /&gt;			BEGIN&lt;br /&gt;				SELECT 	'ALTER TABLE ' + QUOTENAME(@owner) + '.' + QUOTENAME(COALESCE(@target_table, @table_name)) + ' CHECK CONSTRAINT ALL' AS '--Code to enable the previously disabled constraints'&lt;br /&gt;			END&lt;br /&gt;&lt;br /&gt;		PRINT 'GO'&lt;br /&gt;	END&lt;br /&gt;&lt;br /&gt;PRINT ''&lt;br /&gt;IF (@IDN &lt;&gt; '')&lt;br /&gt;	BEGIN&lt;br /&gt;		PRINT 'SET IDENTITY_INSERT ' + QUOTENAME(COALESCE(@owner,USER_NAME())) + '.' + QUOTENAME(@table_name) + ' OFF'&lt;br /&gt;		PRINT 'GO'&lt;br /&gt;	END&lt;br /&gt;&lt;br /&gt;PRINT 'SET NOCOUNT OFF'&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;SET NOCOUNT OFF&lt;br /&gt;RETURN 0 --Success. We are done!&lt;br /&gt;END&lt;br /&gt;&lt;br /&gt;GO&lt;br /&gt;&lt;br /&gt;PRINT 'Created the procedure'&lt;br /&gt;GO&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;--Turn system object marking off&lt;br /&gt;EXEC master.dbo.sp_MS_upd_sysobj_category 2&lt;br /&gt;GO&lt;br /&gt;&lt;br /&gt;PRINT 'Granting EXECUTE permission on sp_generate_inserts to all users'&lt;br /&gt;GRANT EXEC ON sp_generate_inserts TO public&lt;br /&gt;&lt;br /&gt;SET NOCOUNT OFF&lt;br /&gt;GO&lt;br /&gt;&lt;br /&gt;PRINT 'Done'&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7701716-112116858069485293?l=ashishcodes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ashishcodes.blogspot.com/feeds/112116858069485293/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7701716&amp;postID=112116858069485293' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7701716/posts/default/112116858069485293'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7701716/posts/default/112116858069485293'/><link rel='alternate' type='text/html' href='http://ashishcodes.blogspot.com/2005/07/generate-insert-scripts-from-existing.html' title='Generate insert scripts from existing data'/><author><name>Ashish</name><uri>http://www.blogger.com/profile/06123537901514219423</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-7701716.post-111927584076063672</id><published>2005-06-20T06:56:00.001-07:00</published><updated>2005-06-20T06:57:20.766-07:00</updated><title type='text'>.NET Reflector site</title><content type='html'>&lt;a href="http://serial.n6k.com/reflecta/doc_net-1.1/System.php"&gt;http://serial.n6k.com/reflecta/doc_net-1.1/System.php&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7701716-111927584076063672?l=ashishcodes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ashishcodes.blogspot.com/feeds/111927584076063672/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7701716&amp;postID=111927584076063672' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7701716/posts/default/111927584076063672'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7701716/posts/default/111927584076063672'/><link rel='alternate' type='text/html' href='http://ashishcodes.blogspot.com/2005/06/net-reflector-site_20.html' title='.NET Reflector site'/><author><name>Ashish</name><uri>http://www.blogger.com/profile/06123537901514219423</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-7701716.post-111503661339265800</id><published>2005-05-02T05:22:00.000-07:00</published><updated>2005-05-02T05:23:33.393-07:00</updated><title type='text'>Ensuring all applications run on latest CLR</title><content type='html'>If you want to ensure that all applications run on the latest CLR installed on your system, you just need to change some registry settings or set a flag in VS.NET 2005 (Beta 1). There is a switch in VS.NET 2005 (Beta 1) which does this.Doing it with registry:To turn on the switchHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\OnlyUseLatestCLR=dword:00000001To turn off the swtichHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\OnlyUseLatestCLR=dword:00000000&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7701716-111503661339265800?l=ashishcodes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ashishcodes.blogspot.com/feeds/111503661339265800/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7701716&amp;postID=111503661339265800' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7701716/posts/default/111503661339265800'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7701716/posts/default/111503661339265800'/><link rel='alternate' type='text/html' href='http://ashishcodes.blogspot.com/2005/05/ensuring-all-applications-run-on.html' title='Ensuring all applications run on latest CLR'/><author><name>Ashish</name><uri>http://www.blogger.com/profile/06123537901514219423</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-7701716.post-111441886128106077</id><published>2005-04-25T01:47:00.000-07:00</published><updated>2005-04-25T01:47:41.286-07:00</updated><title type='text'>good .NET links</title><content type='html'>&lt;a href="http://www.cite-sciences.fr/english/ala_cite/expo/explora/image/mona.html"&gt;http://www.cite-sciences.fr/english/ala_cite/expo/explora/image/mona.html&lt;/a&gt;&lt;a href="http://live.indiatimes.com/ppt/120804/index.html"&gt;http://live.indiatimes.com/ppt/120804/index.html&lt;/a&gt;&lt;a href="http://msdn.microsoft.com/theshow/Episode020/TranscriptText.asp"&gt;http://msdn.microsoft.com/theshow/Episode020/TranscriptText.asp&lt;/a&gt;&lt;a href="http://www.lebonze.com/stuff/move.htm"&gt;http://www.lebonze.com/stuff/move.htm&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;.NET=========1. What ASP_NET Programmers Should Know About Application Domains&lt;br /&gt;&lt;a href="http://www.odetocode.com/Articles/305.aspx"&gt;http://www.odetocode.com/Articles/305.aspx&lt;/a&gt;&lt;br /&gt;2. WSE webcast&lt;br /&gt;&lt;a href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032256128&amp;Culture=en-US"&gt;http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032256128&amp;amp;Culture=en-US&lt;/a&gt;&lt;a href="http://searchvb.techtarget.com/webcast/0,295011,sid8_gci970124,00.html"&gt;http://searchvb.techtarget.com/webcast/0,295011,sid8_gci970124,00.html&lt;/a&gt;&lt;br /&gt;3. Good Video&lt;br /&gt;&lt;a href="http://www.theserverside.net/articles/showarticle.tss?id=TheCodeRoom"&gt;http://www.theserverside.net/articles/showarticle.tss?id=TheCodeRoom&lt;/a&gt;&lt;br /&gt;4. Calling a Web service frm JS&lt;br /&gt;&lt;a href="http://www.dotnetbips.com/displayarticle.aspx?id=278"&gt;http://www.dotnetbips.com/displayarticle.aspx?id=278&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;4. Prevent multiple login&lt;br /&gt;&lt;a href="http://www.eggheadcafe.com/articles/20030418.asp"&gt;http://www.eggheadcafe.com/articles/20030418.asp&lt;/a&gt;&lt;br /&gt;5. .NET questions&lt;br /&gt;&lt;a href="http://www.andymcm.com/dotnetfaq.htm"&gt;http://www.andymcm.com/dotnetfaq.htm&lt;/a&gt;&lt;br /&gt;Indexers&lt;a href="http://www.softsteel.co.uk/tutorials/cSharp/lesson15.html"&gt;http://www.softsteel.co.uk/tutorials/cSharp/lesson15.html&lt;/a&gt;&lt;br /&gt;Delegates and Events&lt;a href="http://www.softsteel.co.uk/tutorials/cSharp/lesson16.html"&gt;http://www.softsteel.co.uk/tutorials/cSharp/lesson16.html&lt;/a&gt;&lt;br /&gt;Db programming using ADO.NET- Good articles&lt;a href="http://www.c-sharpcorner.com/Database.asp"&gt;http://www.c-sharpcorner.com/Database.asp&lt;/a&gt;&lt;br /&gt;Database Vendor Independent Code with Improved Connection Pooling&lt;a href="http://www.c-sharpcorner.com//Code/2002/Oct/DbIndepCode.asp"&gt;http://www.c-sharpcorner.com//Code/2002/Oct/DbIndepCode.asp&lt;/a&gt;&lt;br /&gt;Design an Effective Data-Access Architecture &lt;a href="http://www.ftponline.com/wss/2002_07/magazine/features/dfox/page4.aspx"&gt;http://www.ftponline.com/wss/2002_07/magazine/features/dfox/page4.aspx&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.c-sharpcorner.com/Code/2002/July/GenericDataAccessCompActivator.asp"&gt;http://www.c-sharpcorner.com/Code/2002/July/GenericDataAccessCompActivator.asp&lt;/a&gt;&lt;br /&gt;Strange things with IsPostBack&lt;a href="http://www.asp.net/Forums/ShowPost.aspx?tabindex=1&amp;PostID=798824"&gt;http://www.asp.net/Forums/ShowPost.aspx?tabindex=1&amp;amp;PostID=798824&lt;/a&gt;&lt;br /&gt;&lt;a href="http://channel9.msdn.com/India/"&gt;http://channel9.msdn.com/India/&lt;/a&gt;&lt;br /&gt;ViewState---------&lt;a href="http://msdn.microsoft.com/netframework/downloads/samples/default.aspx?pull=/library/"&gt;http://msdn.microsoft.com/netframework/downloads/samples/default.aspx?pull=/library/&lt;/a&gt;&lt;br /&gt;en-us/dnaspnet/html/asp11222001.asp&lt;br /&gt;Custom Collection generator----------------------------&lt;a href="http://www.codecube.net/demos/dotnet/collectionwizard.aspx"&gt;http://www.codecube.net/demos/dotnet/collectionwizard.aspx&lt;/a&gt;&lt;br /&gt;Darius - Colorblind song--------------------------&lt;a href="http://www.mtvasia.com/Video/Feature/20030924000034/"&gt;http://www.mtvasia.com/Video/Feature/20030924000034/&lt;/a&gt;&lt;br /&gt;AJEX-----------&lt;br /&gt;&lt;a href="http://adaptivepath.com/publications/essays/archives/000385.php"&gt;http://adaptivepath.com/publications/essays/archives/000385.php&lt;/a&gt;&lt;br /&gt;XMLHttpRequest---------------&lt;a href="http://www.xml.com/pub/a/2005/02/09/xml-http-request.html"&gt;http://www.xml.com/pub/a/2005/02/09/xml-http-request.html&lt;/a&gt;&lt;br /&gt;Ajax: a New Approach to Web pplications --------------------------Very very interesting, talks about "Asynchronous JavaScript + XML", the technique&lt;br /&gt;that drives Google Maps, Gmail, Google Suggest etc. [I especially like the linked&lt;br /&gt;analysis articles, must read if JavaScript is part of your toolset]&lt;br /&gt;&lt;a href="http://adaptivepath.com/publications/essays/archives/000385.php"&gt;http://adaptivepath.com/publications/essays/archives/000385.php&lt;/a&gt;&lt;a href="http://www.theserverside.net/news/thread.tss?thread_id=32688&amp;News03_22_05-click"&gt;http://www.theserverside.net/news/thread.tss?thread_id=32688&amp;amp;News03_22_05-click&lt;/a&gt;&lt;br /&gt;Using strongly typed collections with the ASP.NET DataGrid control===================&lt;a href="http://www.123aspx.com/redir.aspx?res=32651"&gt;http://www.123aspx.com/redir.aspx?res=32651&lt;/a&gt;&lt;br /&gt;Communication using ports in C#=================================&lt;a href="http://www.htservices.com/Tools/VBandC/SerialCommunications.htm"&gt;http://www.htservices.com/Tools/VBandC/SerialCommunications.htm&lt;/a&gt;&lt;br /&gt;Improved Caching in ASP.NET 2.0===============================&lt;a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnvs05/html/caching"&gt;http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnvs05/html/caching&lt;/a&gt;&lt;br /&gt;nt2.asp&lt;br /&gt;&lt;a href="http://www.msmvps.com/KevinMcNeish/"&gt;http://www.msmvps.com/KevinMcNeish/&lt;/a&gt;&lt;br /&gt;Building a better wait page--------------------------&lt;a href="http://www.123aspx.com/redir.aspx?res=32860"&gt;http://www.123aspx.com/redir.aspx?res=32860&lt;/a&gt;&lt;br /&gt;Desktop programming in .NET---------------------------&lt;a href="http://windowsforms.net/"&gt;http://windowsforms.net/&lt;/a&gt;&lt;br /&gt;Important C# samples--------------------&lt;a href="http://msdn.microsoft.com/vcsharp/downloads/samples/23samples/default.aspx"&gt;http://msdn.microsoft.com/vcsharp/downloads/samples/23samples/default.aspx&lt;/a&gt;&lt;br /&gt;Interesting anti-microsoft sites-------------------------------&lt;a href="http://www.kmfms.com/"&gt;http://www.kmfms.com/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7701716-111441886128106077?l=ashishcodes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ashishcodes.blogspot.com/feeds/111441886128106077/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7701716&amp;postID=111441886128106077' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7701716/posts/default/111441886128106077'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7701716/posts/default/111441886128106077'/><link rel='alternate' type='text/html' href='http://ashishcodes.blogspot.com/2005/04/good-net-links.html' title='good .NET links'/><author><name>Ashish</name><uri>http://www.blogger.com/profile/06123537901514219423</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-7701716.post-111217755121209050</id><published>2005-03-30T02:12:00.000-08:00</published><updated>2005-03-30T02:12:31.213-08:00</updated><title type='text'>Disabling the back button</title><content type='html'>use &lt;strong&gt;document.location.replace("&lt;file name&gt;");&lt;/strong&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7701716-111217755121209050?l=ashishcodes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ashishcodes.blogspot.com/feeds/111217755121209050/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7701716&amp;postID=111217755121209050' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7701716/posts/default/111217755121209050'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7701716/posts/default/111217755121209050'/><link rel='alternate' type='text/html' href='http://ashishcodes.blogspot.com/2005/03/disabling-back-button.html' title='Disabling the back button'/><author><name>Ashish</name><uri>http://www.blogger.com/profile/06123537901514219423</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-7701716.post-110563658087084265</id><published>2005-01-13T09:16:00.000-08:00</published><updated>2005-01-20T02:38:11.256-08:00</updated><title type='text'>Good .NET links</title><content type='html'>.NET&lt;br /&gt;=========&lt;br /&gt;1. What ASP_NET Programmers Should Know About Application Domains&lt;br /&gt;&lt;br /&gt;http://www.odetocode.com/Articles/305.aspx&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;2. WSE webcast&lt;br /&gt;&lt;br /&gt;http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032256128&amp;Culture=en-US&lt;br /&gt;http://searchvb.techtarget.com/webcast/0,295011,sid8_gci970124,00.html&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;3. Good Video&lt;br /&gt;&lt;br /&gt;http://www.theserverside.net/articles/showarticle.tss?id=TheCodeRoom&lt;br /&gt;&lt;br /&gt;4. Calling a Web service frm JS&lt;br /&gt;&lt;br /&gt;http://www.dotnetbips.com/displayarticle.aspx?id=278&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;4. Prevent multiple login&lt;br /&gt;&lt;br /&gt;http://www.eggheadcafe.com/articles/20030418.asp&lt;br /&gt;&lt;br /&gt;5. .NET questions&lt;br /&gt;&lt;br /&gt;http://www.andymcm.com/dotnetfaq.htm&lt;br /&gt;&lt;br /&gt;Indexers&lt;br /&gt;http://www.softsteel.co.uk/tutorials/cSharp/lesson15.html&lt;br /&gt;&lt;br /&gt;Delegates and Events&lt;br /&gt;http://www.softsteel.co.uk/tutorials/cSharp/lesson16.html&lt;br /&gt;&lt;br /&gt;Db programming using ADO.NET- Good articles&lt;br /&gt;http://www.c-sharpcorner.com/Database.asp&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Database Vendor Independent Code with Improved Connection Pooling&lt;br /&gt;http://www.c-sharpcorner.com//Code/2002/Oct/DbIndepCode.asp&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Design an Effective Data-Access Architecture&lt;br /&gt;http://www.ftponline.com/wss/2002_07/magazine/features/dfox/page4.aspx&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.c-sharpcorner.com/Code/2002/July/GenericDataAccessCompActivator.asp"&gt;http://www.c-sharpcorner.com/Code/2002/July/GenericDataAccessCompActivator.asp&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Strange things with IsPostBack&lt;br /&gt;&lt;a href="http://www.asp.net/Forums/ShowPost.aspx?tabindex=1&amp;PostID=798824"&gt;http://www.asp.net/Forums/ShowPost.aspx?tabindex=1&amp;amp;PostID=798824&lt;/a&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7701716-110563658087084265?l=ashishcodes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ashishcodes.blogspot.com/feeds/110563658087084265/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7701716&amp;postID=110563658087084265' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7701716/posts/default/110563658087084265'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7701716/posts/default/110563658087084265'/><link rel='alternate' type='text/html' href='http://ashishcodes.blogspot.com/2005/01/good-net-links.html' title='Good .NET links'/><author><name>Ashish</name><uri>http://www.blogger.com/profile/06123537901514219423</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-7701716.post-110528469532022868</id><published>2005-01-09T07:22:00.000-08:00</published><updated>2005-01-09T07:31:35.320-08:00</updated><title type='text'>Interview questions</title><content type='html'>.NET/C# Questions :&lt;br /&gt;-------------------&lt;br /&gt;&lt;a href="http://forums.aspfree.com/showthread.php?t=23415"&gt;http://forums.aspfree.com/showthread.php?t=23415&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.techinterviews.com/index.php?p=159"&gt;http://www.techinterviews.com/index.php?p=159&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.franklins.net/dotnetrocks/"&gt;http://www.franklins.net/dotnetrocks/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://blogs.crsw.com/mark/articles/252.aspx"&gt;http://blogs.crsw.com/mark/articles/252.aspx&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.dotnetspider.com/technology/KBPages/1068.aspx"&gt;http://www.dotnetspider.com/technology/KBPages/1068.aspx&lt;/a&gt;&lt;br /&gt;&lt;a href="http://forums.aspfree.com/archive/t-33756"&gt;http://forums.aspfree.com/archive/t-33756&lt;/a&gt;&lt;br /&gt;Book&lt;br /&gt;----&lt;br /&gt;Programming Interviews Exposed: Secrets to Landing Your Next Job&lt;br /&gt;&lt;br /&gt;Microsoft Interview questions&lt;br /&gt;-----------------------------&lt;br /&gt;&lt;a href="http://www.sellsbrothers.com/fun/msiview/default.aspx?content=question.htm"&gt;http://www.sellsbrothers.com/fun/msiview/default.aspx?content=question.htm&lt;/a&gt;&lt;br /&gt;Remoting Questions------------------&lt;br /&gt;&lt;a href="http://blogs.crsw.com/mark/articles/253.aspx"&gt;http://blogs.crsw.com/mark/articles/253.aspx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7701716-110528469532022868?l=ashishcodes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ashishcodes.blogspot.com/feeds/110528469532022868/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7701716&amp;postID=110528469532022868' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7701716/posts/default/110528469532022868'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7701716/posts/default/110528469532022868'/><link rel='alternate' type='text/html' href='http://ashishcodes.blogspot.com/2005/01/interview-questions.html' title='Interview questions'/><author><name>Ashish</name><uri>http://www.blogger.com/profile/06123537901514219423</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-7701716.post-110361901571103578</id><published>2004-12-21T00:50:00.000-08:00</published><updated>2004-12-21T00:50:15.710-08:00</updated><title type='text'>MCAD Transcript URL</title><content type='html'>http://www.microsoft.com/learning/mcp/transcripts&lt;br /&gt;&lt;br /&gt;Transcript ID : 683733&lt;br /&gt;Access Code : ashishgupta&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7701716-110361901571103578?l=ashishcodes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ashishcodes.blogspot.com/feeds/110361901571103578/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7701716&amp;postID=110361901571103578' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7701716/posts/default/110361901571103578'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7701716/posts/default/110361901571103578'/><link rel='alternate' type='text/html' href='http://ashishcodes.blogspot.com/2004/12/mcad-transcript-url.html' title='MCAD Transcript URL'/><author><name>Ashish</name><uri>http://www.blogger.com/profile/06123537901514219423</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-7701716.post-110354885254917017</id><published>2004-12-20T05:20:00.000-08:00</published><updated>2004-12-20T05:20:52.550-08:00</updated><title type='text'>Good .NET links</title><content type='html'>http://www.cite-sciences.fr/english/ala_cite/expo/explora/image/mona.html&lt;br /&gt;http://live.indiatimes.com/ppt/120804/index.html&lt;br /&gt;http://msdn.microsoft.com/theshow/Episode020/TranscriptText.asp&lt;br /&gt;http://www.lebonze.com/stuff/move.htm&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;.NET&lt;br /&gt;=========&lt;br /&gt;1. What ASP_NET Programmers Should Know About Application Domains&lt;br /&gt;&lt;br /&gt;http://www.odetocode.com/Articles/305.aspx&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;2. WSE webcast&lt;br /&gt;&lt;br /&gt;http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032256128&amp;Culture=en-US&lt;br /&gt;http://searchvb.techtarget.com/webcast/0,295011,sid8_gci970124,00.html&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;3. Good Video&lt;br /&gt;&lt;br /&gt;http://www.theserverside.net/articles/showarticle.tss?id=TheCodeRoom&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;4. Prevent multiple login&lt;br /&gt;&lt;br /&gt;http://www.eggheadcafe.com/articles/20030418.asp&lt;br /&gt;&lt;br /&gt;5. .NET questions&lt;br /&gt;&lt;br /&gt;http://www.andymcm.com/dotnetfaq.htm&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7701716-110354885254917017?l=ashishcodes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ashishcodes.blogspot.com/feeds/110354885254917017/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7701716&amp;postID=110354885254917017' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7701716/posts/default/110354885254917017'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7701716/posts/default/110354885254917017'/><link rel='alternate' type='text/html' href='http://ashishcodes.blogspot.com/2004/12/good-net-links.html' title='Good .NET links'/><author><name>Ashish</name><uri>http://www.blogger.com/profile/06123537901514219423</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-7701716.post-110241552016412853</id><published>2004-12-07T02:32:00.000-08:00</published><updated>2004-12-07T02:32:00.163-08:00</updated><title type='text'>MSN Spaces link</title><content type='html'> http://spaces.msn.com/members/netarena/ &lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7701716-110241552016412853?l=ashishcodes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ashishcodes.blogspot.com/feeds/110241552016412853/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7701716&amp;postID=110241552016412853' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7701716/posts/default/110241552016412853'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7701716/posts/default/110241552016412853'/><link rel='alternate' type='text/html' href='http://ashishcodes.blogspot.com/2004/12/msn-spaces-link.html' title='MSN Spaces link'/><author><name>Ashish</name><uri>http://www.blogger.com/profile/06123537901514219423</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-7701716.post-109878734440851292</id><published>2004-10-26T03:42:00.000-07:00</published><updated>2004-10-26T03:42:24.406-07:00</updated><title type='text'>Interview Questions for C#</title><content type='html'>C# Interview Questions&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;General Questions&lt;br /&gt;&lt;br /&gt;1.       Does C# support multiple-inheritance?&lt;br /&gt;No, use interfaces instead.&lt;br /&gt;&lt;br /&gt;2.       When you inherit a protected class-level variable, who is it available to?&lt;br /&gt;Classes in the same namespace.&lt;br /&gt;&lt;br /&gt;3.       Are private class-level variables inherited?&lt;br /&gt;Yes, but they are not accessible.  Although they are not visible or accessible via the class interface, they are inherited.&lt;br /&gt;&lt;br /&gt;4.       Describe the accessibility modifier “protected internal”.&lt;br /&gt;It is available to derived classes and classes within the same Assembly (and naturally from the base class it’s declared in).&lt;br /&gt;&lt;br /&gt;1.       To do: Confirm the “within the same assembly” portion.&lt;br /&gt;&lt;br /&gt;5.       C# provides a default class constructor for me.  I decide to write a constructor that takes a string as a parameter, but want to keep the constructor that has no parameter.  How many constructors should I write?&lt;br /&gt;Two. Once you write at least one constructor, C# cancels the freebie constructor, and now you have to write one yourself, even if there’s no implementation in it.&lt;br /&gt;&lt;br /&gt;6.       What’s the top .NET class that everything is derived from?&lt;br /&gt;System.Object.&lt;br /&gt;&lt;br /&gt;7.       What does the term immutable mean?&lt;br /&gt;&lt;br /&gt;1.       answer the question.&lt;br /&gt;&lt;br /&gt;8.       What’s the difference between System.String and System.StringBuilder classes?&lt;br /&gt;System.String is immutable.  System.StringBuilder was designed with the purpose of having a mutable string where a variety of operations can be performed.&lt;br /&gt;&lt;br /&gt;9.       What’s the advantage of using System.Text.StringBuilder over System.String?&lt;br /&gt;StringBuilder is more efficient in cases where there is a large amount of string manipulation.  Strings are immutable, so each time it’s being operated on, a new instance is created.&lt;br /&gt;&lt;br /&gt;10.   Can you store multiple data types in System.Array?&lt;br /&gt;No.&lt;br /&gt;&lt;br /&gt;11.   What’s the difference between the System.Array.CopyTo() and System.Array.Clone()?&lt;br /&gt;The first one performs a deep copy of the array, the second one is shallow.&lt;br /&gt;&lt;br /&gt;1.       To do: improve the answer.&lt;br /&gt;&lt;br /&gt;12.   How can you sort the elements of the array in descending order?&lt;br /&gt;By calling Sort() and then Reverse() methods.&lt;br /&gt;&lt;br /&gt;13.   What’s the .NET class that allows the retrieval of a data element using a unique key?&lt;br /&gt;HashTable.&lt;br /&gt;&lt;br /&gt;14.   What class is underneath the SortedList class?&lt;br /&gt;A sorted HashTable.&lt;br /&gt;&lt;br /&gt;15.   Will the finally block get executed if an exception has not occurred?­&lt;br /&gt;Yes.&lt;br /&gt;&lt;br /&gt;16.   What’s the C# equivalent of C++ catch (…), which was a catch-all statement for any possible exception?&lt;br /&gt;A catch block that catches the exception of type System.Exception. You can also omit the parameter data type in this case and just write catch {}.&lt;br /&gt;&lt;br /&gt;1.       To do: Bad question.  Re-word.&lt;br /&gt;&lt;br /&gt;17.   Can multiple catch blocks be executed?&lt;br /&gt;No.  Once the proper catch code fires off, the control is transferred to the finally block (if there are any), and then whatever follows the finally block.&lt;br /&gt;&lt;br /&gt;18.   Explain the three services model commonly know as a three-tier application.&lt;br /&gt;Presentation (UI), business (logic and underlying code) and data (from storage or other sources).&lt;br /&gt;&lt;br /&gt;19.   What is the role of the DataReader class in ADO.NET connections?&lt;br /&gt;It returns a read-only dataset from the data source when the command is executed.&lt;br /&gt;&lt;br /&gt;1.       To do: Improve the answer.&lt;br /&gt;&lt;br /&gt;Class Questions&lt;br /&gt;&lt;br /&gt;20.   How do you inherit from a class in C#?&lt;br /&gt;Place a colon and then the name of the base class.&lt;br /&gt;&lt;br /&gt;21.   Can you prevent your class from being inherited by another class?&lt;br /&gt;Yes.  The keyword “sealed” will prevent the class from being inherited.&lt;br /&gt;&lt;br /&gt;22.   Can you allow a class to be inherited, but prevent the method from being over-ridden?&lt;br /&gt;Yes.  Just leave the class public and make the method sealed.&lt;br /&gt;&lt;br /&gt;23.   What’s an abstract class?&lt;br /&gt;A class that cannot be instantiated.  An abstract class is a class that must be inherited and have the methods overridden.  An abstract class is essentially a blueprint for a class without any implementation.&lt;br /&gt;&lt;br /&gt;24.   When do you absolutely have to declare a class as abstract?&lt;br /&gt;&lt;br /&gt;1.       When at least one of the methods in the class is abstract.&lt;br /&gt;&lt;br /&gt;2.       When the class itself is inherited from an abstract class, but not all base abstract methods have been overridden.&lt;br /&gt;&lt;br /&gt;25.   What’s an interface class?&lt;br /&gt;It’s an abstract class with public abstract methods all of which must be implemented in the inherited classes. &lt;br /&gt;&lt;br /&gt;26.   Why can’t you specify the accessibility modifier for methods inside the interface?&lt;br /&gt;They all must be public.  Therefore, to prevent you from getting the false impression that you have any freedom of choice, you are not allowed to specify any accessibility, it’s public by default.&lt;br /&gt;&lt;br /&gt;1.       To do: Clean up this answer.&lt;br /&gt;&lt;br /&gt;27.   Can you inherit multiple interfaces?&lt;br /&gt;Yes, why not.&lt;br /&gt;&lt;br /&gt;1.       To do: Need a better answer.&lt;br /&gt;&lt;br /&gt;28.   And if they have conflicting method names?&lt;br /&gt;It’s up to you to implement the method inside your own class, so implementation is left entirely up to you. This might cause a problem on a higher-level scale if similarly named methods from different interfaces expect different data, but as far as compiler cares you’re okay. &lt;br /&gt;&lt;br /&gt;29.   What’s the difference between an interface and abstract class?&lt;br /&gt;In an interface class, all methods must be abstract.  In an abstract class some methods can be concrete.  In an interface class, no accessibility modifiers are allowed, which is ok in an abstract class.&lt;br /&gt;&lt;br /&gt;30.   What is the difference between a Struct and a Class?&lt;br /&gt;Structs are value-type variables and are thus saved on the stack -&gt; additional overhead but faster retrieval.  Another difference is that structs CANNOT inherit.  (questions courtesy of Eyal)&lt;br /&gt;&lt;br /&gt;Method and Property Questions&lt;br /&gt;&lt;br /&gt;31.   What’s the implicit name of the parameter that gets passed into the set method/property of a class?&lt;br /&gt;value.  The data type of the value parameter is defined by whatever data type the property is declared as.&lt;br /&gt;&lt;br /&gt;32.   What does the keyword “virtual” declare for a method or property?&lt;br /&gt;The method or property can be overridden.&lt;br /&gt;&lt;br /&gt;33.   How is method overriding different from method overloading?&lt;br /&gt;When overriding a method, you change the behavior of the method for the derived class.  Overloading a method simply involves having another method with the same name within the class.&lt;br /&gt;&lt;br /&gt;34.   Can you declare an override method to be static if the original method is non-static?&lt;br /&gt;No.  The signature of the virtual method must remain the same, only the keyword virtual is changed to keyword override.&lt;br /&gt;&lt;br /&gt;1.       To do: Re-word the answer for better clarity.&lt;br /&gt;&lt;br /&gt;35.   Can you override private virtual methods?&lt;br /&gt;No.  Private methods are not accessible outside the class.&lt;br /&gt;&lt;br /&gt;1.       Original answer:  No, moreover, you cannot access private methods in inherited classes, have to be protected in the base class to allow any sort of access.&lt;br /&gt;&lt;br /&gt;2.       To do: Can a private method even be declared a virtual?&lt;br /&gt;&lt;br /&gt;36.   What are the different ways a method can be overloaded? &lt;br /&gt;Different parameter data types, different number of parameters, different order of parameters. &lt;br /&gt;&lt;br /&gt;37.   If a base class has a number of overloaded constructors, and an inherited class has a number of overloaded constructors; can you enforce a call from an inherited constructor to a specific base constructor?&lt;br /&gt;Yes, just place a colon, and then keyword base (parameter list to invoke the appropriate constructor) in the overloaded constructor definition inside the inherited class.&lt;br /&gt;&lt;br /&gt;1.       To do: question is to complex.  It can be stated better.&lt;br /&gt;&lt;br /&gt;38.   Why is it a bad idea to throw your own exceptions?&lt;br /&gt;Well, if at that point you know that an error has occurred, then why not write the proper code to handle that error instead of passing a new Exception object to the catch block?&lt;br /&gt;Throwing your own exceptions signifies some design flaws in the project. &lt;br /&gt;&lt;br /&gt;39.   What’s a delegate?&lt;br /&gt;A delegate object encapsulates a reference to a method.&lt;br /&gt;&lt;br /&gt;40.   What’s a multicast delegate?&lt;br /&gt;It’s a delegate that points to and eventually fires off several methods. &lt;br /&gt;&lt;br /&gt;1.       To do: Need a better answer.&lt;br /&gt;&lt;br /&gt;Assembly Questions&lt;br /&gt;&lt;br /&gt;41.   How is the DLL Hell problem solved in .NET?&lt;br /&gt;Assembly versioning allows the application to specify not only the library it needs to run (which was available under Win32), but also the version of the assembly. &lt;br /&gt;&lt;br /&gt;42.   What are the ways to deploy an assembly?&lt;br /&gt;An MSI installer, a CAB archive, and XCOPY command. &lt;br /&gt;&lt;br /&gt;43.   What is a satellite assembly?&lt;br /&gt;When you write a multilingual or multi-cultural application in .NET, and want to distribute the core application separately from the localized modules, the localized assemblies that modify the core application are called satellite assemblies. &lt;br /&gt;&lt;br /&gt;44.   What namespaces are necessary to create a localized application?&lt;br /&gt;System.Globalization and System.Resources.&lt;br /&gt;&lt;br /&gt;XML Documentation Questions&lt;br /&gt;&lt;br /&gt;45.   What’s the difference between // comments, /* */ comments and /// comments?&lt;br /&gt;Single-line comments, multi-line comments, and XML documentation comments. &lt;br /&gt;&lt;br /&gt;46.   How do you generate documentation from the C# file commented properly with a command-line compiler?&lt;br /&gt;Compile it with the /doc switch.&lt;br /&gt;&lt;br /&gt;47.What is the difference between and XML documentation tag?&lt;br /&gt;Single line code example and multiple-line code example. &lt;br /&gt;&lt;br /&gt;1.    To do: Bad question&lt;br /&gt;&lt;br /&gt;48.   Is XML case-sensitive?&lt;br /&gt;Yes.&lt;br /&gt;&lt;br /&gt;Debugging and Testing Questions&lt;br /&gt;&lt;br /&gt;49.   What debugging tools come with the .NET SDK?&lt;br /&gt;&lt;br /&gt;1.       CorDBG – command-line debugger.  To use CorDbg, you must compile the original C# file using the /debug switch.&lt;br /&gt;&lt;br /&gt;2.       DbgCLR – graphic debugger.  Visual Studio .NET uses the DbgCLR.&lt;br /&gt;&lt;br /&gt;50.   What does the “This” window show in the debugger?&lt;br /&gt;It points to the object that’s pointed to by this reference. Object’s instance data is shown.&lt;br /&gt;&lt;br /&gt;1.       To do: Need a better answer.&lt;br /&gt;&lt;br /&gt;51.   What does assert() method do?&lt;br /&gt;In debug compilation, assert takes in a Boolean condition as a parameter, and shows the error dialog if the condition is false.  The program proceeds without any interruption if the condition is true.&lt;br /&gt;&lt;br /&gt;52.   What’s the difference between the Debug class and Trace class?&lt;br /&gt;Documentation looks the same.  Use Debug class for debug builds, use Trace class for both debug and release builds.&lt;br /&gt;&lt;br /&gt;53.   Why are there five tracing levels in System.Diagnostics.TraceSwitcher?&lt;br /&gt;The tracing dumps can be quite verbose.  For applications that are constantly running you run the risk of overloading the machine and the hard drive.  Five levels range from None to Verbose, allowing you to fine-tune the tracing activities.&lt;br /&gt;&lt;br /&gt;54.   Where is the output of TextWriterTraceListener redirected?&lt;br /&gt;To the Console or a text file depending on the parameter passed to the constructor.&lt;br /&gt;&lt;br /&gt;55.   How do you debug an ASP.NET Web application?&lt;br /&gt;Attach the aspnet_wp.exe process to the DbgClr debugger.&lt;br /&gt;&lt;br /&gt;56.   What are three test cases you should go through in unit testing?&lt;br /&gt;&lt;br /&gt;1.       Positive test cases (correct data, correct output).&lt;br /&gt;&lt;br /&gt;2.       Negative test cases (broken or missing data, proper handling).&lt;br /&gt;&lt;br /&gt;3.       Exception test cases (exceptions are thrown and caught properly).&lt;br /&gt;&lt;br /&gt;57.   Can you change the value of a variable while debugging a C# application?&lt;br /&gt;Yes.  If you are debugging via Visual Studio.NET, just go to Immediate window.&lt;br /&gt;&lt;br /&gt;ADO.NET and Database Questions&lt;br /&gt;&lt;br /&gt;58.   What are advantages and disadvantages of Microsoft-provided data provider classes in ADO.NET?&lt;br /&gt;SQLServer.NET data provider is high-speed and robust, but requires SQL Server license purchased from Microsoft. OLE-DB.NET is universal for accessing other sources, like Oracle, DB2, Microsoft Access and Informix.  OLE-DB.NET is a .NET layer on top of the OLE layer, so it’s not as fastest and efficient as SqlServer.NET.&lt;br /&gt;&lt;br /&gt;59.   What is the wildcard character in SQL?&lt;br /&gt;Let’s say you want to query database with LIKE for all employees whose name starts with La. The wildcard character is %, the proper query with LIKE would involve ‘La%’. &lt;br /&gt;&lt;br /&gt;60.   Explain ACID rule of thumb for transactions.&lt;br /&gt;A transaction must be:&lt;br /&gt;&lt;br /&gt;1.       Atomic - it is one unit of work and does not dependent on previous and following transactions.&lt;br /&gt;&lt;br /&gt;2.       Consistent - data is either committed or roll back, no “in-between” case where something has been updated and something hasn’t.&lt;br /&gt;&lt;br /&gt;3.       Isolated - no transaction sees the intermediate results of the current transaction).&lt;br /&gt;&lt;br /&gt;4.       Durable - the values persist if the data had been committed even if the system crashes right after.&lt;br /&gt;&lt;br /&gt;61.   What connections does Microsoft SQL Server support?&lt;br /&gt;Windows Authentication (via Active Directory) and SQL Server authentication (via Microsoft SQL Server username and password).&lt;br /&gt;&lt;br /&gt;62.   Which one is trusted and which one is untrusted?&lt;br /&gt;Windows Authentication is trusted because the username and password are checked with the Active Directory, the SQL Server authentication is untrusted, since SQL Server is the only verifier participating in the transaction. &lt;br /&gt;&lt;br /&gt;1.       To do: ask the question better.&lt;br /&gt;&lt;br /&gt;63.   Why would you use untrusted verificaion?&lt;br /&gt;Web Services might use it, as well as non-Windows applications. &lt;br /&gt;&lt;br /&gt;1.       To do: answer better.&lt;br /&gt;&lt;br /&gt;64.   What does the Initial Catalog parameter define in the connection string?&lt;br /&gt;The database name to connect to. &lt;br /&gt;&lt;br /&gt;65.   What is the data provider name to connect to an Access database?&lt;br /&gt;Microsoft.Access.&lt;br /&gt;&lt;br /&gt;66.   What does the Dispose method do with the connection object?&lt;br /&gt;Deletes it from the memory.&lt;br /&gt;&lt;br /&gt;1.       To do: answer better.  The current answer is not entirely correct.&lt;br /&gt;&lt;br /&gt;67.   What is a pre-requisite for connection pooling?&lt;br /&gt;Multiple processes must agree that they will share the same connection, where every parameter is the same, including the security settings.  The connection string must be identical.&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7701716-109878734440851292?l=ashishcodes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ashishcodes.blogspot.com/feeds/109878734440851292/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7701716&amp;postID=109878734440851292' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7701716/posts/default/109878734440851292'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7701716/posts/default/109878734440851292'/><link rel='alternate' type='text/html' href='http://ashishcodes.blogspot.com/2004/10/interview-questions-for-c.html' title='Interview Questions for C#'/><author><name>Ashish</name><uri>http://www.blogger.com/profile/06123537901514219423</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-7701716.post-109878698555993916</id><published>2004-10-26T03:36:00.000-07:00</published><updated>2004-10-26T03:36:25.560-07:00</updated><title type='text'> maintain scroll position </title><content type='html'>/// &lt;summary&gt;&lt;br /&gt;/// Registers a _javascript method that will bring the focus of the page&lt;br /&gt;/// to a specific control when the page loads.&lt;br /&gt;/// &lt;/summary&gt;&lt;br /&gt;/// &lt;param name="controlID"&gt;The ID of the control to focus on.&lt;/param&gt;&lt;br /&gt;/// &lt;param name="target"&gt;The page the control belongs to.&lt;/param&gt;&lt;br /&gt;public static void RegisterControlFocusScript(string controlID, Page&lt;br /&gt;target)&lt;br /&gt;{                  &lt;br /&gt;      string script = "\r\n\r\n             "      function focus() {\r\n" +&lt;br /&gt;            "            var target;\r\n" +&lt;br /&gt;            "            target = document.getElementById('" +&lt;br /&gt;controlID + "');\r\n" +&lt;br /&gt;            "            if (target != null) {\r\n" +&lt;br /&gt;            "                  target.focus();\r\n" +&lt;br /&gt;            "            }\r\n" +&lt;br /&gt;            "      }\r\n" +&lt;br /&gt;            "      window.onfiltered=focus;\r\n" + &lt;br /&gt;            "&lt;/script&gt;\r\n";&lt;br /&gt;                  &lt;br /&gt;      target.RegisterClientScriptBlock("focus", script);&lt;br /&gt;}&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7701716-109878698555993916?l=ashishcodes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ashishcodes.blogspot.com/feeds/109878698555993916/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7701716&amp;postID=109878698555993916' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7701716/posts/default/109878698555993916'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7701716/posts/default/109878698555993916'/><link rel='alternate' type='text/html' href='http://ashishcodes.blogspot.com/2004/10/maintain-scroll-position.html' title=' maintain scroll position '/><author><name>Ashish</name><uri>http://www.blogger.com/profile/06123537901514219423</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-7701716.post-109747715244607023</id><published>2004-10-10T23:45:00.000-07:00</published><updated>2004-10-10T23:45:52.446-07:00</updated><title type='text'>Editor tips and tricks in VS.NET</title><content type='html'>&lt;a href="http://dotnetjini.jigneshdesai.com/Blogs/default.aspx"&gt;dotnetJiNi.com - Blogs @ Jignesh Desai&lt;/a&gt;: "Matching Braces&lt;br /&gt;If you program in c# where you find yourself lost in brace wonderland. All you need to do is to press CTRL + } to match the brace that your cursor is next to. This obviously makes life easier with nested ifs/fors/whiles/etc&lt;br /&gt;&lt;br /&gt;Wrap/Unwrap&lt;br /&gt;If you are in the habit of writing long lines to preserve your code readability, you can toggle word wrap using CTRL + R twice. That way your code is neat and tidy, but can be viewed without moving way out to the end of the line and back (which is a horrible pain) when you need to see what's going on.&lt;br /&gt;&lt;br /&gt;Full Screen&lt;br /&gt;press ALT + SHIFT + ENTER That will toggle your view to full screen. Pretty nice.&lt;br /&gt;&lt;br /&gt;Pane toggling&lt;br /&gt;It's always good to be able to ALT + TAB between different applications on your box. If you use CTRL + F6 you can do the same thing with panes in VS.NET. "&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7701716-109747715244607023?l=ashishcodes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ashishcodes.blogspot.com/feeds/109747715244607023/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7701716&amp;postID=109747715244607023' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7701716/posts/default/109747715244607023'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7701716/posts/default/109747715244607023'/><link rel='alternate' type='text/html' href='http://ashishcodes.blogspot.com/2004/10/editor-tips-and-tricks-in-vsnet.html' title='Editor tips and tricks in VS.NET'/><author><name>Ashish</name><uri>http://www.blogger.com/profile/06123537901514219423</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-7701716.post-109594954729719474</id><published>2004-09-23T07:25:00.000-07:00</published><updated>2004-09-23T07:25:47.296-07:00</updated><title type='text'>Yahoo! Mail - ashish_cal5@yahoo.com</title><content type='html'>&lt;a href="http://us.f535.mail.yahoo.com/ym/Compose?YY=53602&amp;amp;order=down&amp;amp;sort=date&amp;amp;pos=0"&gt;Yahoo! Mail - ashish_cal5@yahoo.com&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7701716-109594954729719474?l=ashishcodes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ashishcodes.blogspot.com/feeds/109594954729719474/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7701716&amp;postID=109594954729719474' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7701716/posts/default/109594954729719474'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7701716/posts/default/109594954729719474'/><link rel='alternate' type='text/html' href='http://ashishcodes.blogspot.com/2004/09/yahoo-mail-ashishcal5yahoocom.html' title='Yahoo! Mail - ashish_cal5@yahoo.com'/><author><name>Ashish</name><uri>http://www.blogger.com/profile/06123537901514219423</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-7701716.post-109594440914467049</id><published>2004-09-23T06:00:00.000-07:00</published><updated>2004-09-23T06:00:09.143-07:00</updated><title type='text'>Public keys and public key tokens</title><content type='html'> spent some time this morning doing some "dotting the i's work" on my metadata engine. One of the things that I've been holding out implementing for a while because it wasn't particularly important in my test cases was adding some code that would generate efficient assembly references to strongly-named assemblies. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Strongly-named assemblies contain the signer's public key embedded in the assembly. You can see this by opening up the assembly using ILDASM and viewing its manifest. Inside the manifest, there must be a .publickey section if that assembly has a strong name. If you look at one of these sections, you'll see that it is rather large. For example, System.Web.dll's public key is 160 bytes in length.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;When one assembly references a strongly-named assembly, it must embed a reference to the strongly-named assembly's public key to ensure that an attacker cannot substitute another assembly for the one that it was expecting to find. The simplest solution would be to simply embed the strongly-named assembly's public key in the referencing assembly. As you can see, however, this is not a very efficient solution due to the large size of the public keys.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Microsoft solves the "public key bloat" problem by using a hash of the strongly-named assembly's public key. These hashes are referred to as public key tokens, and are the low 8 bytes of the SHA1 hash of the strongly-named assembly's public key. SHA1 hashes are 160 bit (20 byte) hashes, and the top 12 bytes of the hash are simply discarded in this algorithm.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Calculating the SHA1 hash of an assembly's public key turns out to be really straightforward using the CryptoAPI hashing functions. Here's a simple piece of code that will generate an SHA1 hash:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;bool CalculatePublicKeyToken( const unsigned char *publicKey, ULONG publicKeyLen )&lt;br /&gt;{&lt;br /&gt;  if( 0 == publicKeyLen )&lt;br /&gt;    return true;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;  bool          result = false;&lt;br /&gt;  HCRYPTPROV    hProv = 0;&lt;br /&gt;  HCRYPTHASH    hHash = 0;&lt;br /&gt;  unsigned char buffer[ 20 ];&lt;br /&gt;  DWORD         bufferLen = 20;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;  if( CryptAcquireContext( &amp;hProv, 0, 0, PROV_RSA_FULL, 0 ) )&lt;br /&gt;  {&lt;br /&gt;    if( CryptCreateHash( hProv, CALG_SHA1, 0, 0, &amp;hHash ) )&lt;br /&gt;    {&lt;br /&gt;      if( CryptHashData( hHash, publicKey, publicKeyLen, 0 ) )&lt;br /&gt;      {&lt;br /&gt;        if( CryptGetHashParam( hHash, HP_HASHVAL, buffer, &amp;bufferLen, 0 ) )&lt;br /&gt;        {&lt;br /&gt;          DumpPublicKeyToken( buffer, bufferLen );&lt;br /&gt;          result = true;&lt;br /&gt;        }&lt;br /&gt;      }&lt;br /&gt;    }&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;  if( hHash ) CryptDestroyHash( hHash );&lt;br /&gt;  if( hProv ) CryptReleaseContext( hProv, 0 );&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;  return result;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;It is also possible to use the StrongNameTokenFromAssembly API defined in the StrongName.h header file in the Framework SDK. However, this API assumes that the assembly isn't loaded already, which certainly isn't the case in my code.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7701716-109594440914467049?l=ashishcodes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ashishcodes.blogspot.com/feeds/109594440914467049/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7701716&amp;postID=109594440914467049' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7701716/posts/default/109594440914467049'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7701716/posts/default/109594440914467049'/><link rel='alternate' type='text/html' href='http://ashishcodes.blogspot.com/2004/09/public-keys-and-public-key-tokens.html' title='Public keys and public key tokens'/><author><name>Ashish</name><uri>http://www.blogger.com/profile/06123537901514219423</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-7701716.post-109585264570516747</id><published>2004-09-22T04:30:00.000-07:00</published><updated>2004-09-22T04:30:45.706-07:00</updated><title type='text'>Difference between ODBC and OLEDB</title><content type='html'>First of all both are API for database access.&lt;br /&gt;The differences between these two data access protocols are technical, but in the most general terms, OLE DB is newer, more advanced, and compatible with a wider selection of database technologies. In addition, OLE DB is more general, in that it includes the ODBC functionality.&lt;br /&gt;&lt;br /&gt;Technically speaking, ODBC (Open Database Connectivity) is designed to provide access primarily to SQL data in a multi-platform environment. OLE DB (Object Linking and Embedding Database) is designed to provide access to all types of data in an OLE Component Object Model (COM) environment. OLE DB includes the SQL functionality defined in ODBC but also defines interfaces suitable for gaining access to data other than SQL data.&lt;br /&gt; &lt;br /&gt;you can vist this page for details  http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnodbc/html/msdn_ole4odbc.asp.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7701716-109585264570516747?l=ashishcodes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ashishcodes.blogspot.com/feeds/109585264570516747/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7701716&amp;postID=109585264570516747' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7701716/posts/default/109585264570516747'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7701716/posts/default/109585264570516747'/><link rel='alternate' type='text/html' href='http://ashishcodes.blogspot.com/2004/09/difference-between-odbc-and-oledb.html' title='Difference between ODBC and OLEDB'/><author><name>Ashish</name><uri>http://www.blogger.com/profile/06123537901514219423</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-7701716.post-109464075549968519</id><published>2004-09-08T03:52:00.000-07:00</published><updated>2004-09-08T03:52:35.500-07:00</updated><title type='text'>Conversion : datareader into array</title><content type='html'>private Object[] PopulateReportRecordFromSqlReader(IDataReader reader)&lt;br /&gt;		{&lt;br /&gt;			//Add One More for ID &lt;br /&gt;			int length = reader.FieldCount + 1; &lt;br /&gt;			&lt;br /&gt;			Object[] data = new Object[length];&lt;br /&gt;			&lt;br /&gt;			for(int i =0 ; i &lt; length ; i++)&lt;br /&gt;			{&lt;br /&gt;				if(i==0)&lt;br /&gt;				{&lt;br /&gt;					data[0] = i;&lt;br /&gt;				}&lt;br /&gt;				else&lt;br /&gt;				{&lt;br /&gt;					data[i] = reader[i-1];&lt;br /&gt;				}&lt;br /&gt;			}&lt;br /&gt;			return data;&lt;br /&gt;		}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7701716-109464075549968519?l=ashishcodes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ashishcodes.blogspot.com/feeds/109464075549968519/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7701716&amp;postID=109464075549968519' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7701716/posts/default/109464075549968519'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7701716/posts/default/109464075549968519'/><link rel='alternate' type='text/html' href='http://ashishcodes.blogspot.com/2004/09/conversion-datareader-into-array.html' title='Conversion : datareader into array'/><author><name>Ashish</name><uri>http://www.blogger.com/profile/06123537901514219423</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-7701716.post-109462962622455910</id><published>2004-09-08T00:47:00.000-07:00</published><updated>2004-09-08T00:47:06.223-07:00</updated><title type='text'>Efficient string manipulation</title><content type='html'>Avoid Returning null Instead of Array, String, or Collection&lt;br /&gt;&lt;br /&gt;In almost all situations except when performance can be an issue (e.g.&lt;br /&gt;heavily looped or performance tuned code), null should not be returned&lt;br /&gt;from a method that returns an array, string, collections, ArrayList,&lt;br /&gt;BitArray, HashTable, Queue, SortedList, or Stack. It should not be&lt;br /&gt;necessary for a user of a method to handle a null that is returned&lt;br /&gt;from a method. Instead only empty or zero-length data types such as 0&lt;br /&gt;item arrays, empty strings (String.Empty), and 0 item collections&lt;br /&gt;should be returned.&lt;br /&gt;&lt;br /&gt;Avoid Checking String Equality Using == and = Operators&lt;br /&gt;&lt;br /&gt;Using == operator in C# and = operator in Visual Basic to compare&lt;br /&gt;strings is slower than using the System.String.Equals method. In&lt;br /&gt;addition, if you need to do case sensitive or insensitive comparisons&lt;br /&gt;the System.String.Compare method is the preferred way to do so. The&lt;br /&gt;String.Compare method can compare two strings based on their&lt;br /&gt;alphabetical sort order as well, something that is important in&lt;br /&gt;developing applications for the international market.&lt;br /&gt;&lt;br /&gt;Testing for Empty Strings&lt;br /&gt;&lt;br /&gt;The most efficient method to determine if a string is empty is via&lt;br /&gt;it's Length property.&lt;br /&gt;&lt;br /&gt;[C#]&lt;br /&gt;if(var1.Length &lt; 1)&lt;br /&gt;&lt;br /&gt;[Visual Basic]&lt;br /&gt;If (var1.Length &lt; 1) Then&lt;br /&gt;&lt;br /&gt;Avoid Hard Coded String Literals&lt;br /&gt;&lt;br /&gt;Use String.Empty rather than "" for empty strings. Other strings&lt;br /&gt;should be placed in a constants class.&lt;br /&gt;[C#]&lt;br /&gt;string var1 = "";                // Avoid&lt;br /&gt;string var2 = String.Empty;        // Recommended&lt;br /&gt;&lt;br /&gt;[Visual Basic]&lt;br /&gt;Dim var1 As String = ""            ' Avoid&lt;br /&gt;Dim var2 As String = String.Empty    ' Recommended&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7701716-109462962622455910?l=ashishcodes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ashishcodes.blogspot.com/feeds/109462962622455910/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7701716&amp;postID=109462962622455910' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7701716/posts/default/109462962622455910'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7701716/posts/default/109462962622455910'/><link rel='alternate' type='text/html' href='http://ashishcodes.blogspot.com/2004/09/efficient-string-manipulation.html' title='Efficient string manipulation'/><author><name>Ashish</name><uri>http://www.blogger.com/profile/06123537901514219423</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-7701716.post-109457104200334068</id><published>2004-09-07T08:30:00.000-07:00</published><updated>2004-09-07T08:30:42.003-07:00</updated><title type='text'>Server.Transfer Vs. Response.Redirect</title><content type='html'>1.Server.Transfer. Where possible, use the Server.Transfer method&lt;br /&gt;instead of the Response.Redirect method. Response.Redirect sends a response header to the client that causes the client to send a new request to the redirected server by using the new URL. Server.Transfer avoids this level of indirection by simply making a server-side call.&lt;br /&gt;&lt;br /&gt; 2. You cannot always just replace Response.Redirect calls with&lt;br /&gt;Server.Transfer calls because Server.Transfer uses a new handler during the handler phase of request processing. If you need authentication and authorization checks during redirection, use Response.Redirect instead of Server.Transfer because the two mechanisms are not equivalent. When you use Response.Redirect, ensure you use the overloaded method that accepts a Boolean second parameter, and pass a value of false to ensure an internal&lt;br /&gt;exception is not raised.&lt;br /&gt;&lt;br /&gt; 3. Also note that you can only use Server.Transfer to transfer control to pages in the same application. To transfer to pages in other applications,you must use Response.Redirect.&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7701716-109457104200334068?l=ashishcodes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ashishcodes.blogspot.com/feeds/109457104200334068/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7701716&amp;postID=109457104200334068' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7701716/posts/default/109457104200334068'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7701716/posts/default/109457104200334068'/><link rel='alternate' type='text/html' href='http://ashishcodes.blogspot.com/2004/09/servertransfer-vs-responseredirect.html' title='Server.Transfer Vs. Response.Redirect'/><author><name>Ashish</name><uri>http://www.blogger.com/profile/06123537901514219423</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-7701716.post-109385368443628967</id><published>2004-08-30T01:14:00.000-07:00</published><updated>2004-08-30T01:14:44.436-07:00</updated><title type='text'> ViewState: All You Wanted to Know</title><content type='html'>&lt;a href="http://aspalliance.com/articleViewer.aspx?aId=135&amp;amp;vId=&amp;amp;pId=#Listing5"&gt;ASPAlliance.com : The #1 ASP.NET Community : ViewState: All You Wanted to Know&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7701716-109385368443628967?l=ashishcodes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ashishcodes.blogspot.com/feeds/109385368443628967/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7701716&amp;postID=109385368443628967' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7701716/posts/default/109385368443628967'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7701716/posts/default/109385368443628967'/><link rel='alternate' type='text/html' href='http://ashishcodes.blogspot.com/2004/08/viewstate-all-you-wanted-to-know.html' title=' ViewState: All You Wanted to Know'/><author><name>Ashish</name><uri>http://www.blogger.com/profile/06123537901514219423</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-7701716.post-109361176043818314</id><published>2004-08-27T06:02:00.000-07:00</published><updated>2004-08-27T06:02:40.436-07:00</updated><title type='text'>To get a list of all the procedures created or updated recently, simply run this query in SQL Server</title><content type='html'>SELECT &lt;br /&gt;ROUTINE_NAME, CREATED, LAST_ALTERED&lt;br /&gt;FROM&lt;br /&gt;INFORMATION_SCHEMA.ROUTINES&lt;br /&gt;WHERE&lt;br /&gt;ROUTINE_TYPE = 'PROCEDURE'&lt;br /&gt;ORDER BY LAST_ALTERED DESC"&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7701716-109361176043818314?l=ashishcodes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ashishcodes.blogspot.com/feeds/109361176043818314/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7701716&amp;postID=109361176043818314' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7701716/posts/default/109361176043818314'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7701716/posts/default/109361176043818314'/><link rel='alternate' type='text/html' href='http://ashishcodes.blogspot.com/2004/08/to-get-list-of-all-procedures-created.html' title='To get a list of all the procedures created or updated recently, simply run this query in SQL Server'/><author><name>Ashish</name><uri>http://www.blogger.com/profile/06123537901514219423</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-7701716.post-109361062832187980</id><published>2004-08-27T05:43:00.000-07:00</published><updated>2004-08-27T05:43:48.320-07:00</updated><title type='text'>One can not create folders of name like   NUL, AUX, CON, COM1-4, LPT1-3, and PRN</title><content type='html'>U cant Create these folders 'coz&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;  NUL, AUX, CON, COM1-4, LPT1-3, and PRN&lt;br /&gt;are reserved words used for Devices&lt;br /&gt;&lt;br /&gt;These are specified in IO.SYS. Here is a list:&lt;br /&gt;&lt;br /&gt;CLOCK$ - System clock&lt;br /&gt;CON - Console; combination of keyboard and screen to handle input and&lt;br /&gt;output&lt;br /&gt;AUX or COM1 - First serial communicationport&lt;br /&gt;COMn - Second, Third, ... communicationport&lt;br /&gt;LPT1 or PRN - First parallel port&lt;br /&gt;NUL - Dummy port, or the 'null device' which we all know under Linux as&lt;br /&gt;/dev/null.&lt;br /&gt;CONFIG$ - Unknown&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;con, aux and prn stand for 'console', 'auxiliary' and 'printer' and stand&lt;br /&gt;for output devices."&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7701716-109361062832187980?l=ashishcodes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ashishcodes.blogspot.com/feeds/109361062832187980/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7701716&amp;postID=109361062832187980' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7701716/posts/default/109361062832187980'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7701716/posts/default/109361062832187980'/><link rel='alternate' type='text/html' href='http://ashishcodes.blogspot.com/2004/08/one-can-not-create-folders-of-name.html' title='One can not create folders of name like   NUL, AUX, CON, COM1-4, LPT1-3, and PRN'/><author><name>Ashish</name><uri>http://www.blogger.com/profile/06123537901514219423</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-7701716.post-109352736308684190</id><published>2004-08-26T06:36:00.000-07:00</published><updated>2004-08-26T06:36:03.086-07:00</updated><title type='text'>Protecting Files with ASP.NET</title><content type='html'>&lt;a href="http://aspnet.4guysfromrolla.com/articles/020404-1.aspx"&gt;ASP.NET.4GuysFromRolla.com: Protecting Files with ASP.NET&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7701716-109352736308684190?l=ashishcodes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ashishcodes.blogspot.com/feeds/109352736308684190/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7701716&amp;postID=109352736308684190' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7701716/posts/default/109352736308684190'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7701716/posts/default/109352736308684190'/><link rel='alternate' type='text/html' href='http://ashishcodes.blogspot.com/2004/08/protecting-files-with-aspnet.html' title='Protecting Files with ASP.NET'/><author><name>Ashish</name><uri>http://www.blogger.com/profile/06123537901514219423</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-7701716.post-109266550727274388</id><published>2004-08-16T07:11:00.000-07:00</published><updated>2004-08-16T07:11:47.273-07:00</updated><title type='text'>Determining the names and ordinal values for exported functions</title><content type='html'>&lt;a href="http://www.codenotes.com/articles/articleAction.aspx?articleID=280"&gt;CodeNotes� - Article Display&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7701716-109266550727274388?l=ashishcodes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ashishcodes.blogspot.com/feeds/109266550727274388/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7701716&amp;postID=109266550727274388' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7701716/posts/default/109266550727274388'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7701716/posts/default/109266550727274388'/><link rel='alternate' type='text/html' href='http://ashishcodes.blogspot.com/2004/08/determining-names-and-ordinal-values.html' title='Determining the names and ordinal values for exported functions'/><author><name>Ashish</name><uri>http://www.blogger.com/profile/06123537901514219423</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-7701716.post-109266413871118483</id><published>2004-08-16T06:48:00.000-07:00</published><updated>2004-08-16T06:48:58.710-07:00</updated><title type='text'>Check whether a dll calls a fucntion</title><content type='html'>It is difficult to determine whether executable content can be trusted. One test is to use the DumpBin tool to determine if the executable code makes calls to certain APIs. DumpBin is included with many Win32 API developer tools. &lt;br /&gt;&lt;br /&gt;To use DumpBin to check for calls made &lt;br /&gt;1.&lt;br /&gt; At the command prompt, to determine whether MyISAPI.dll calls RevertToSelf(), type &lt;br /&gt;&lt;br /&gt;dumpbin /imports MyISAPI.DLL | find "RevertToSelf"&lt;br /&gt;&lt;br /&gt;If no result appear, MyISAPI.dll does not call RevertToSelf() directly. It might call the API through LoadLibrary(), in which case you should search for this.&lt;br /&gt; &lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7701716-109266413871118483?l=ashishcodes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ashishcodes.blogspot.com/feeds/109266413871118483/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7701716&amp;postID=109266413871118483' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7701716/posts/default/109266413871118483'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7701716/posts/default/109266413871118483'/><link rel='alternate' type='text/html' href='http://ashishcodes.blogspot.com/2004/08/check-whether-dll-calls-fucntion.html' title='Check whether a dll calls a fucntion'/><author><name>Ashish</name><uri>http://www.blogger.com/profile/06123537901514219423</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-7701716.post-109264203616542860</id><published>2004-08-16T00:40:00.000-07:00</published><updated>2004-08-16T00:40:36.166-07:00</updated><title type='text'>My Google Licence key</title><content type='html'>0VCqh3pQFHK8GIA0l8WVCpf+F2vrMyKV&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7701716-109264203616542860?l=ashishcodes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ashishcodes.blogspot.com/feeds/109264203616542860/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7701716&amp;postID=109264203616542860' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7701716/posts/default/109264203616542860'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7701716/posts/default/109264203616542860'/><link rel='alternate' type='text/html' href='http://ashishcodes.blogspot.com/2004/08/my-google-licence-key.html' title='My Google Licence key'/><author><name>Ashish</name><uri>http://www.blogger.com/profile/06123537901514219423</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-7701716.post-109264017111278251</id><published>2004-08-16T00:09:00.000-07:00</published><updated>2004-08-16T00:09:31.113-07:00</updated><title type='text'>Google talks</title><content type='html'>&lt;iframe width=100% height=300 src="http://douweosinga.com/projects/googletalk/googletalkframe"&gt;&lt;br /&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;a href="http://douweosinga.com/projects/googletalk"&gt;&lt;br /&gt;Google talk&lt;/a&gt; a &lt;a href="http://douweosinga.com/projects/googlehacks"&gt;&lt;br /&gt;Google Hack&lt;/a&gt; by &lt;br /&gt;&lt;a href="http://douweosinga.com"&gt;Douwe Osinga&lt;a/&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7701716-109264017111278251?l=ashishcodes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ashishcodes.blogspot.com/feeds/109264017111278251/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7701716&amp;postID=109264017111278251' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7701716/posts/default/109264017111278251'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7701716/posts/default/109264017111278251'/><link rel='alternate' type='text/html' href='http://ashishcodes.blogspot.com/2004/08/google-talks.html' title='Google talks'/><author><name>Ashish</name><uri>http://www.blogger.com/profile/06123537901514219423</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-7701716.post-109101243085460108</id><published>2004-07-28T04:00:00.000-07:00</published><updated>2004-07-28T04:00:30.853-07:00</updated><title type='text'>How to embed .Net User control in an Html Page</title><content type='html'> it is possible to embed a .net user control in an HTML page. &lt;br /&gt;You have to use html Object tag, to do so.... as shown below. &lt;br /&gt;classid="http://127.0.0.1/SampleControl.dll#Test.SampleControl"&gt; &lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7701716-109101243085460108?l=ashishcodes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ashishcodes.blogspot.com/feeds/109101243085460108/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7701716&amp;postID=109101243085460108' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7701716/posts/default/109101243085460108'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7701716/posts/default/109101243085460108'/><link rel='alternate' type='text/html' href='http://ashishcodes.blogspot.com/2004/07/how-to-embed-net-user-control-in-html.html' title='How to embed .Net User control in an Html Page'/><author><name>Ashish</name><uri>http://www.blogger.com/profile/06123537901514219423</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-7701716.post-109101236250990822</id><published>2004-07-28T03:59:00.000-07:00</published><updated>2004-07-28T03:59:22.510-07:00</updated><title type='text'>Retrive records without column name </title><content type='html'>Create a Stored Procedure or Function using following script, and pass &lt;br /&gt;tablename and NoOfColumns as Input Parameters. You problem is solved &lt;br /&gt;&lt;br /&gt;Declare @TableName nvarchar(1000) &lt;br /&gt;Declare @NoOfColumns Int &lt;br /&gt;Set @NoOfColumns = 3 &lt;br /&gt;Set @TableName = 'Stores' &lt;br /&gt;&lt;br /&gt;Declare @ID INT &lt;br /&gt;Declare @SqlString nvarchar(3000), @SqlString1 nvarchar(3000) &lt;br /&gt;Set @SQLString = 'Select ' &lt;br /&gt;Select @ID = id From SYSOBJECTS WHERE xtype = 'U' and Name = @TableName &lt;br /&gt;Declare @SQlParameters nvarchar(1000) &lt;br /&gt;Set @SqlParameters = N'@SQLString nvarchar(3000) &lt;br /&gt;OUTPUT, @ID Int' &lt;br /&gt;Set @SqlString1 = 'Select Top ' + Cast(@NoOfColumns as varchar(5)) + ' &lt;br /&gt;@SQLString = @SQLString + '' '' + name + '','' From SYSCOLUMNS WHERE id = &lt;br /&gt;@ID order by colid' &lt;br /&gt;PRINT @SQLString1 &lt;br /&gt;Exec sp_executesql @SqlString1, @SqlParameters, @SqlString OUTPUT, @ID &lt;br /&gt;SeT @SQLString = Left(@SqlString, Len(@SqlString) - 1) + ' From ' + &lt;br /&gt;@tablename &lt;br /&gt;Exec sp_executesql @SqlString &lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7701716-109101236250990822?l=ashishcodes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ashishcodes.blogspot.com/feeds/109101236250990822/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7701716&amp;postID=109101236250990822' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7701716/posts/default/109101236250990822'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7701716/posts/default/109101236250990822'/><link rel='alternate' type='text/html' href='http://ashishcodes.blogspot.com/2004/07/retrive-records-without-column-name.html' title='Retrive records without column name '/><author><name>Ashish</name><uri>http://www.blogger.com/profile/06123537901514219423</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-7701716.post-109058328205448872</id><published>2004-07-23T04:48:00.000-07:00</published><updated>2004-07-23T04:48:02.053-07:00</updated><title type='text'>ListDictionary Class</title><content type='html'>ListDictionary Class:&lt;br /&gt;&lt;br /&gt;It is smaller and faster than a Hashtable if the number of elements is 10 or less. &lt;br /&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfSystemCollections.asp"&gt;ListDictionary Class&lt;/a&gt;: "ListDictionary Class"&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7701716-109058328205448872?l=ashishcodes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ashishcodes.blogspot.com/feeds/109058328205448872/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7701716&amp;postID=109058328205448872' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7701716/posts/default/109058328205448872'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7701716/posts/default/109058328205448872'/><link rel='alternate' type='text/html' href='http://ashishcodes.blogspot.com/2004/07/listdictionary-class.html' title='ListDictionary Class'/><author><name>Ashish</name><uri>http://www.blogger.com/profile/06123537901514219423</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-7701716.post-109041972452054312</id><published>2004-07-21T07:22:00.000-07:00</published><updated>2004-07-21T07:22:04.520-07:00</updated><title type='text'>Google Search: c# design patterns intro</title><content type='html'>&lt;a href="http://www.google.com/search?sourceid=navclient&amp;amp;q=c%23+design+patterns+intro"&gt;Google Search: c# design patterns intro&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7701716-109041972452054312?l=ashishcodes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ashishcodes.blogspot.com/feeds/109041972452054312/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7701716&amp;postID=109041972452054312' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7701716/posts/default/109041972452054312'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7701716/posts/default/109041972452054312'/><link rel='alternate' type='text/html' href='http://ashishcodes.blogspot.com/2004/07/google-search-c-design-patterns-intro.html' title='Google Search: c# design patterns intro'/><author><name>Ashish</name><uri>http://www.blogger.com/profile/06123537901514219423</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>
