this blog contains information for .net and sql stuffs. You can find various tips and tricks to overcome problem you may be facing in ...

Tuesday, December 29, 2009

Wednesday, December 23, 2009

Image Gallery using j-query

Go through below link to show image gallery in web site with the use of J-Query

Pretty Gallery With J-Query

Its a handy plug in for the Image Gallery.

Tuesday, December 22, 2009

True paging using SQL script

The system gets overloaded when we fetch complete data from the database and display a fixed sized of
data per page.

Although the data is distributed among different pages however it is fetched at a longer period of time

An efficient way is to fetch data per page.

Following example helps you search news and display results accordingly by stored procedure.

CREATE PROCEDURE [dbo].[News_Search]
@SearchText nvarchar(100) --Search text,what we want ot search in news.
,@PageNo int ----Page number
,@PageSize int-----Page size
,@TotalRecords int output--Total how many records are there in search result

DECLARE @StartFrom int
SET @StartFrom = @PageSize * (@PageNo - 1);
SET @TotalRecords=(SELECT ISNULL(COUNT(*),0)FROM ViwNews
WHERE ViwNews.NewsIsDisable <> 0 and
@SearchText Is Null OR ViwNews.NewsTitle Like @SearchText);

SELECT searchtable.*
ROW_NUMBER() OVER (ORDER BY ViwNews.NewsTitle)AS [RecNo]
FROM ViwNews
WHERE ViwNews.NewsIsDisable <> 0 and
@SearchText Is Null OR ViwNews.NewsTitle Like @SearchText
) AS searchtable
WHERE searchtable.RecNo > @StartFrom And searchtable.RecNo <=(@StartFrom+@PageSize);


In above query we have 4 parameters.

1) @SearchText used to pass for the search criteria.
2) @PageNo used to fetch which page number we want to fetch from the result.
3) @PageSize used to determine page size
4) @TotalRecords used to create number of pages
We can determine number of pages by dividing total records with page size.

In query we have used ROW_NUMBER() function which gives Record number obtained in the result sequentially.

Javascript to allow only numeric in text box

hi , many times we come to situation when in our website we just want to allow numeric value in text box.

This can be done by the client side java script.

Below is the script you need to insert

function isNumberKey(evt)


var charCode = (evt.which) ? evt.which : event.keyCode

if (charCode > 31 && (charCode <> 57))

return false;

return true;


and here is how to attach this function to your text box either its html or text box.

onkeypress="return isNumberKey(event)"

Monday, December 7, 2009

How to send email Asynchronously

When Our smtp Serve does not respond to immediately at that time it takes time to send email. So it happens that our application does not respond to user and user shut down our application. In this case its wise that we should send email Asynchronously and when email send successfully we just give notification it send successfully or not sent what so ever. This all things are available in the .net framework 2.0.

I am assuming that we know how to send email like to create MailMessage object then add subject,From and To address, body ,attachment etc..

Then create object of SmtpClient to send email.

After the send method call SendAsync method and pass the MailMessage Object also wire up method to SendComplete event.

//Send email

SmtpClient sc = new SmtpClient(“”);

//we have MailMessage Object mm.


//Wire up event of SendCompleted

sc.SendCompleted += new SendCompletedEventHandler(sc_SendCompleted);


In the method of sc_SendCompleted we can cancel to sending of email, whether email is sent successfully or email encountered any error to deliver etc.

//Write method for sc_SendCompleted

void sc_SendCompleted(object sender, AsyncCompletedEventArgs e)

{ if(e.Cancelled)


MessageBox.Show(“Message sending is Cancelled”);


else if(e.Error != null)


MessageBox.Show(“Error to Send Email Error is:” + e.Error.ToString() );




MessageBox.Show(“Message sent Successfully”);



Monday, November 23, 2009

How to remove blogger header navigation bar???

Hi , all its very annoying when we see the header navigation bar at the top of the Blogger's blog

you can remove that by following steps.

1) Login to your blogger account.

2) Select your blog.

3) In your dashbord go to the Layout menu.

4) Click on the Edit HTML.

5) Paste below code before you find the body tag in the CSS.

#navbar-iframe { display: none !important;}

Wednesday, November 18, 2009

How to unInstall old Version and Install new version without Add/remove from programs..


There might be some situation when we have deployed our windows application in large area and many pcs..

At that it is very tedious to remove old version and install new one when we have changed something in the software and want to update in all system.

Windows installer project of .net gives the ability to un-install the old version and install the new version.

On the property of Windows installer project you will find property RemovePreviousVersions
set it to true.

Also you need to change version in the setup project.

Here the project version format is ##.##.####

Just do this and run the new setup without un-installing the old one and you can able to do that..

Monday, September 28, 2009

Read RowStamp column value from the SQL Database

Hey! have you ever face the problem to read the Value of "RowStamp" data type column.

When you read value through the datareader you will have that value in the data reader but in the .net Row stamp is treated as the array of Byte types

so you need to read the value of reader by
GetSqlBinary(columnindex) method and also needs to convert to Array of bytes then it will work.


Saturday, September 19, 2009

How to Disable Auto run of Drives in your computer

To prevent your pc from virus threat its better that you disable auto run drives. Because many virus comes when you attach your pen drive or cd-rom and its activated.

So its better to Disable Auto run of your drives.

To do it..

Go to Start-->Run-->fire command gpedit.msc

It will show you the General Policy window. In left pane there is Tree view There is two nodes

1)Computer Configuration
2)User Configuration

In 1) Computer Configuration there are Three nodes
i)Software Settings
ii)Windows Settings
iii)Administrative Templates

In Administrative Templates just click on the System node and on the right pane you will find many options.

Turn off AutoPlay

In that select Properties and set it to enabled to turn off your auto play of drives.

How to Register OCX component to Operating System


If you have gong through the VB application you will find that it requires many com component files and that needs to be registered in your computer.

If you have just copied your file to system32 folder then it will not registered but you have to manually registered by following command.

For that you can do as..

In start---> Run-->regsvr32 "File path to register"

above thing will register file to your pc.

i.e. regsvr32 C:\WINDOWS\system32\MSADODC.OCX
this will register MSADODC.OCX file to your pc.

Thursday, September 17, 2009

C# Interview Questions.

Hello ,

Many times we need to face technical interview below are the some of the questions that I found. I hope it would be helpful to gain your knowledge as well as crack the interview.

General Questions

  1. Does C# support multiple-inheritance?
  2. Who is a protected class-level variable available to?
    It is available to any sub-class (a class inheriting this class).
  3. Are private class-level variables inherited?
    Yes, but they are not accessible. Although they are not visible or accessible via the class interface, they are inherited.
  4. Describe the accessibility modifier “protected internal”.
    It is available to classes that are within the same assembly and derived from the specified base class.
  5. What’s the top .NET class that everything is derived from?
  6. What does the term immutable mean?
    The data value may not be changed. Note: The variable value may be changed, but the original immutable data value was discarded and a new data value was created in memory.

  7. What’s the difference between System.String and System.Text.StringBuilder classes?
    System.String is immutable. System.StringBuilder was designed with the purpose of having a mutable string where a variety of operations can be performed.
  8. What’s the advantage of using System.Text.StringBuilder over System.String?
    StringBuilder is more efficient in cases where there is a large amount of string manipulation. Strings are immutable, so each time a string is changed, a new instance in memory is created.
  9. Can you store multiple data types in System.Array?
  10. What’s the difference between the System.Array.CopyTo() and System.Array.Clone()?
    The Clone() method returns a new array (a shallow copy) object containing all the elements in the original array. The CopyTo() method copies the elements into another existing array. Both perform a shallow copy. A shallow copy means the contents (each array element) contains references to the same object as the elements in the original array. A deep copy (which neither of these methods performs) would create a new instance of each element's object, resulting in a different, yet identacle object.
  11. How can you sort the elements of the array in descending order?
    By calling Sort() and then Reverse() methods.
  12. What’s the .NET collection class that allows an element to be accessed using a unique key?
  13. What class is underneath the SortedList class?
    A sorted HashTable.
  14. Will the finally block get executed if an exception has not occurred?­
  15. What’s the C# syntax to catch any possible exception?
    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 {}.
  16. Can multiple catch blocks be executed for a single try statement?
    No. Once the proper catch block processed, control is transferred to the finally block (if there are any).
  17. Explain the three services model commonly know as a three-tier application.
    Presentation (UI), Business (logic and underlying code) and Data (from storage or other sources).

Class Questions

  1. What is the syntax to inherit from a class in C#?
    Place a colon and then the name of the base class.
    Example: class MyNewClass : MyBaseClass
  2. Can you prevent your class from being inherited by another class?
    Yes. The keyword “sealed” will prevent the class from being inherited.
  3. Can you allow a class to be inherited, but prevent the method from being over-ridden?
    Yes. Just leave the class public and make the method sealed.
  4. What’s an abstract class?
    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.
  5. When do you absolutely have to declare a class as abstract?
    1. When the class itself is inherited from an abstract class, but not all base abstract methods have been overridden.
    When at least one of the methods in the class is abstract.
  6. What is an interface class?
    Interfaces, like classes, define a set of properties, methods, and events. But unlike classes, interfaces do not provide implementation. They are implemented by classes, and defined as separate entities from classes.
  7. Why can’t you specify the accessibility modifier for methods inside the interface?
    They all must be public, and are therefore public by default.
  8. Can you inherit multiple interfaces?
    Yes. .NET does support multiple interfaces.
  9. What happens if you inherit multiple interfaces and they have conflicting method names?
    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.
    To Do: Investigate
  10. What’s the difference between an interface and abstract class?
    In an interface class, all methods are abstract - there is no implementation. In an abstract class some methods can be concrete. In an interface class, no accessibility modifiers are allowed. An abstract class may have accessibility modifiers.
  11. What is the difference between a Struct and a Class?
    Structs are value-type variables and are thus saved on the stack, additional overhead but faster retrieval. Another difference is that structs cannot inherit.

Method and Property Questions

  1. What’s the implicit name of the parameter that gets passed into the set method/property of a class?
    Value. The data type of the value parameter is defined by whatever data type the property is declared as.
  2. What does the keyword “virtual” declare for a method or property?
    The method or property can be overridden.
  3. How is method overriding different from method overloading?
    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.
  4. Can you declare an override method to be static if the original method is not static?
    No. The signature of the virtual method must remain the same. (Note: Only the keyword virtual is changed to keyword override)
  5. What are the different ways a method can be overloaded?
    Different parameter data types, different number of parameters, different order of parameters.
  6. If a base class has a number of overloaded constructors, and an inheriting class has a number of overloaded constructors; can you enforce a call from an inherited constructor to a specific base constructor?
    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.

Events and Delegates

  1. What’s a delegate?
    A delegate object encapsulates a reference to a method.
  2. What’s a multicast delegate?
    A delegate that has multiple handlers assigned to it. Each assigned handler (method) is called.

XML Documentation Questions

  1. Is XML case-sensitive?
  2. What’s the difference between // comments, /* */ comments and /// comments?
    Single-line comments, multi-line comments, and XML documentation comments.
  3. How do you generate documentation from the C# file commented properly with a command-line compiler?
    Compile it with the /doc switch.

Debugging and Testing Questions

  1. What debugging tools come with the .NET SDK?
    1. CorDBG – command-line debugger. To use CorDbg, you must compile the original C# file using the /debug switch.
    2. DbgCLR – graphic debugger. Visual Studio .NET uses the DbgCLR.
  2. What does assert() method do?
    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.
  3. What’s the difference between the Debug class and Trace class?
    Documentation looks the same. Use Debug class for debug builds, use Trace class for both debug and release builds.
  4. Why are there five tracing levels in System.Diagnostics.TraceSwitcher?
    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.
  5. Where is the output of TextWriterTraceListener redirected?
    To the Console or a text file depending on the parameter passed to the constructor.
  6. How do you debug an ASP.NET Web application?
    Attach the aspnet_wp.exe process to the DbgClr debugger.
  7. What are three test cases you should go through in unit testing?
    1. Positive test cases (correct data, correct output).
    2. Negative test cases (broken or missing data, proper handling).
    3. Exception test cases (exceptions are thrown and caught properly).
  8. Can you change the value of a variable while debugging a C# application?
    Yes. If you are debugging via Visual Studio.NET, just go to Immediate window.

ADO.NET and Database Questions

  1. What is the role of the DataReader class in ADO.NET connections?
    It returns a read-only, forward-only rowset from the data source. A DataReader provides fast access when a forward-only sequential read is needed.

  2. What are advantages and disadvantages of Microsoft-provided data provider classes in ADO.NET?
    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.
  3. What is the wildcard character in SQL?
    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%’.
  4. Explain ACID rule of thumb for transactions.
    A transaction must be:
    1. Atomic - it is one unit of work and does not dependent on previous and following transactions.
    2. Consistent - data is either committed or roll back, no “in-between” case where something has been updated and something hasn’t.
    3. Isolated - no transaction sees the intermediate results of the current transaction).
    4. Durable - the values persist if the data had been committed even if the system crashes right after.
  5. What connections does Microsoft SQL Server support?
    Windows Authentication (via Active Directory) and SQL Server authentication (via Microsoft SQL Server username and password).
  6. Between Windows Authentication and SQL Server Authentication, which one is trusted and which one is untrusted?
    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.
  7. What does the Initial Catalog parameter define in the connection string?
    The database name to connect to.
  8. What does the Dispose method do with the connection object?
    Deletes it from the memory.
    To Do: answer better. The current answer is not entirely correct.
  9. What is a pre-requisite for connection pooling?
    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.

Assembly Questions

  1. How is the DLL Hell problem solved in .NET?
    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.
  2. What are the ways to deploy an assembly?
    An MSI installer, a CAB archive, and XCOPY command.
  3. What is a satellite assembly?
    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.
  4. What namespaces are necessary to create a localized application?
    System.Globalization and System.Resources.
  5. What is the smallest unit of execution in .NET?
    an Assembly.
  6. When should you call the garbage collector in .NET?
    As a good rule, you should not call the garbage collector. However, you could call the garbage collector when you are done using a large object (or set of objects) to force the garbage collector to dispose of those very large objects from memory. However, this is usually not a good practice.
  7. How do you convert a value-type to a reference-type?
    Use Boxing.
  8. What happens in memory when you Box and Unbox a value-type?
    Boxing converts a value-type to a reference-type, thus storing the object on the heap. Unboxing converts a reference-type to a value-type, thus storing the value on the stack.

Tuesday, September 8, 2009

Hide/Unhide Tab Page From Tab Control

Hey its very tedious that if we want to hide any tabs from the tab page control then there is no property like visible.

You can not do like all controls.

These are the some of the tricks to do
'Hides the second tabpage.
Or you can write like this to hide second tab page in tab control.

you can also add tab pages at run time by..
TabControl1.Controls.Add(New TabPage("TabPage2"))

Monday, August 31, 2009

Windows User Control Load Event

H! All If you try to get Load event of Your windows User control you will surprised that you have no Load Event for The Control..

If you want to do something at the load of control then you all need to do is as follows...

Go to the Form where you have loaded your User Control. Click on to the User Control and see the events supported by it.

In the instance of this User Control you will find the LOAD event now write down your code at the event of it.

you can also access the control of your User Control by name instance name of User Control.

Friday, July 10, 2009

Define Custom masking on Masked Text box

Hello, Masked Text box is a very rich control available. you can restricted user input and provide format to enter data.

you just have to set masked text box property.

you can get that property dialog box from property window as well as from arrow at the top of text box.

there are many predefined formats are available and you can also set user defined custom format with the use of following table.

Masking element



Digit, required. This element will accept any single digit between 0 and 9.


Digit or space, optional.


Digit or space, optional. If this position is blank in the mask, it will be rendered as a space in the Text property. Plus (+) and minus (-) signs are allowed.


Letter, required. Restricts input to the ASCII letters a-z and A-Z. This mask element is equivalent to [a-zA-Z] in regular expressions.


Letter, optional. Restricts input to the ASCII letters a-z and A-Z. This mask element is equivalent to [a-zA-Z]? in regular expressions.


Character, required. If the AsciiOnly property is set to true, this element behaves like the "L" element.


Character, optional. Any non-control character. If the AsciiOnly property is set to true, this element behaves like the "?" element.


Alphanumeric, optional. If the AsciiOnly property is set to true, the only characters it will accept are the ASCII letters a-z and A-Z.


Alphanumeric, optional. If the AsciiOnly property is set to true, the only characters it will accept are the ASCII letters a-z and A-Z.


Decimal placeholder. The actual display character used will be the decimal placeholder appropriate to the format provider, as determined by the control's FormatProvider property.


Thousands placeholder. The actual display character used will be the thousands placeholder appropriate to the format provider, as determined by the control's FormatProvider property.


Time separator. The actual display character used will be the time placeholder appropriate to the format provider, as determined by the control's FormatProvider property.


Date separator. The actual display character used will be the date placeholder appropriate to the format provider, as determined by the control's FormatProvider property.


Currency symbol. The actual character displayed will be the currency symbol appropriate to the format provider, as determined by the control's FormatProvider property.


Shift down. Converts all characters that follow to lowercase.


Shift up. Converts all characters that follow to uppercase.


Disable a previous shift up or shift down.


Escape. Escapes a mask character, turning it into a literal. "\\" is the escape sequence for a backslash.

All other characters

Literals. All non-mask elements will appear as themselves within MaskedTextBox. Literals always occupy a static position in the mask at run time, and cannot be moved or deleted by the user.

Thursday, June 25, 2009

Show tooltip on Windows Controls..

It has been happen that we have some value in text box and dropdown box but we have not that much of space to show all text resides in it.

In those situation we can show whole text by tooltip. We all are familiar with tool tip. In windows operating system when you are going to click on some folder or just move your cursor on it. you would get info of that item.

you can use this in your application too..

.Net provides ToolTip control. with it use you can do that in very less time quickly.

Steps are as follows.

1) Add ToolTip control to your form (just drag from Tool box)

2) Now choose on which control you want to see tool tip.(Either text box,Radio button any controls you have on your form)

3)Go to the events of your control.

Now you have two events MouseHover and MouseMove.

MouseHover -It will be fired when your cursor resides to control for some amount of time.

MouseMove-It always fire when your cursor moving on control.

In that event write as..

ToolTip.SetToolTip(yourcontrolname,"Text you want to display")

ToolTip.Active = True

This will show "Text you want to dispaly" Tooltip when you move your cursor to that control. You don't need to create as many tool tip as all controls on which you want to show.

This one tool tip will do all for you. You just need to set control and tooltip text on the event of control.

Tuesday, June 23, 2009

Import Data from EXcel Sheet to SQL Server

To get the data from Excel sheet to SQL Server we can use many of SQL server services.
Before we import data using Excel Sheet ..We have to reconfigure our service with below queries..

EXEC sp_configure 'show advanced options', 1;
EXEC sp_configure 'Ad Hoc Distributed Queries', 1;

Below query will return data from your Excel file and sheet1.
some of the attributes we have used "Microsoft.Jet.OLEDB.4.0" it is driver name. and spcify Excel 8.0.

In database we have specified our file path.

In that HDR specifies that whether our excel sheet can treat first row as Header or not. If we have set it to NO then OLEDB provider assign Column Names F1 to Fn. Same thing will happen if we have not included HDR in our connection string.

In Excel sheet it is possible that column have mixed data type. By default OLEDB provider see the column's value and then depending upon it defined datatype on that column.

If column have numeric value then it will omit anyother value in column and set null for other values.To over come this problem we can use IMEX attribute which brings all data regardless of its type.

If we have set IMEX we will have all data as we have in Excel sheet.

FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0',
'Excel 8.0;Database=C:\testImport.xls;HDR=No;IMEX=1',
'SELECT * FROM [Sheet1$]')

Disable Right click Context menu on Web Page

There are some situation when we want to hide our source code from user. User can easily see your web page source code by right click on page.

There are so many scripts available to disable right click. you can even open context menu by keyboard.

This is some what easy and hands on attribute to disable right click

Just write..

oncontextmenu=”return false;” in body tag...

This will not allow user to open context menu by key board or by mouse. Just try it..

Monday, June 8, 2009

How to add Foreignkey Constraints to table?


Some time we want to add foreign key constraints to table with out being open up table structure.

This is some useful syntax to add foreign key constraints while we are going to add any new column to table.

ALTER TABLE tblEmployee
CONSTRAINT Fk_tblEmployee_tlkpCity
REFERENCES tlkpCity(lkpTypeId)

Here we have tblEmployee , we want to add new cityId column and this will be foreign key for table tlkpCity.

Tuesday, April 28, 2009

Add new Line Character in String.

While we want new line in C# we just use "\n" but if you use this in you will not get the desired result. is bit a different then others you have some other choice to do this...

For new line character you can use one of following items..

VB Constants: vbNewLine, vbCrLf
Character Function:
VB Control Chars:
ControlChars.NewLine, ControlChars.CrLf
Environment Variable:

Monday, April 27, 2009

Read- Write Project Setting throw code .net

Our connection string name and some of other settings mostly resides in our project setting files like app.config or web.config. 

In our code we want to grab this information from these setting files..there is bit a difference in and C# to access this infromation.

In we have My named namespace 

syntax for 
My.Settings.Item("Keyname") = "value to store" 


In C# we have to use System.Configuration name space to access this information.

syntax for c#
System.Configuration.ConfigurationManager.AppSettings["KeyName"]  =  "value to store"

Here,In key name we can also use index of key.

Friday, January 23, 2009

Start your First DNN Project

DNN provides a quick way to create website. Its one type of CMS(content managment system)

To stat your first DNN enabled website download dnn kit from now install it.

Open your visual studio and go to create website. 
Now in templates you have options to create website with DNN template. If you have installed more than one DNN template then you will have differen versions in it.

Select any one DNN template and create it.

After few minutes you have all dnn required components in your solution browser.

To run this website you need to have one database that store all information for you. you can have any sql server database either sql express or sql server.

Go to SQL server and create one database with out creating any objects.

Now back to your visual studio , open web.config file Under the  section add your connection string name and specify connection string  (connection string will be used by DNN to store your data and where your database is located)

Also in section  add one key with same name you have given in to connectionString. (this is for backward compability)

You can now run this website by Visual studio run facility but some time it not works properly.
So Its better to use old virtual directory concepts.

Go to run -write inetmgr It will open Internet Information Services dialog box for you. 

In IIS go to web sites->Default Web Site now write click on it go to new create new virtul directory. In this creating virtul directory wizard specify your website location and give virtual directory name.

Now you are ready to run your first DNN website. Open any browser Write url as http://localhost/nameofyour virtual directory  

If you are opening this url first time then it will configure your DNN database. It will guide you to add user and creating users. It will also create stored procedure and tables required to run DNN website in database.

Now if you go to SQL server and see database you have created for your DNN website then got surprised that now it has many tables and stored procedure this all are created when you have configured DNN website.

In DNN website you can add page dynamically means in browser run your website and from browser you can add new page align page and many more.

If you want to add new functionality to your DNN project then you need to develop modules then you can register this module to your dnn website and add this to appropriate page.

To create any module
Go to visual studio in solution explorer find DesktopModules folder and add new folder to this folder ,in this folder add new usercontrol you want to add. make sure all modules are inherited from  DotNetNuke.Entities.Modules.PortalModuleBase class otherwise it will show error to display this module in webpage.

After creating this module you have register this to your website. So go to browser and open your website in top you have panel that contains different modules in that click on install addition modules and browse your module you have created in your visual studio.

Now when you go to modules in top panel you have your module in your dropdown box. Add this module to your page and you can use it as you are using in anyother website.

This is just a kick start to create any DNN website besides this we can have lots more stuff to create a fine website. Like skins,css designing and many more.