Monday, August 06, 2007

Creating Click event On Row

Spent some time trying to find a way to simulate the fullRowSelect on a dataGrid, and couldn't really see any obvious way of doing it (all the solutions I tried were pretty complicated, and crashed half of the time), but after a while it hit me that you could use javascript. All you need to do is:
protected void nameOfGridView View_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow) {
e.Row.Attributes.Add("onmouseover", "this.style.cursor='hand'");
e.Row.Attributes.Add("onclick", "javascript:__doPostBack" + "('nameOfGridView '" + ", 'Select$" + e.Row.RowIndex + "')");
}
}
Just add this method to the RowDataBound Delegate for your datagrid, and replace nameOfGridView with the name of your gridview. Thats all, easy!
Cheers !

Sunday, March 18, 2007

Database Questions

Dear Friends ,
Here is some Questions with answers which genrally asked in every interview.
Q1 .What is normalization?
- Well a relational database is basically composed of tables that contain related data. So the Process of organizing this data into tables is actually referred to as normalization.

Q2.What is a Stored Procedure?
- Its nothing but a set of T-SQL statements combined to perform a single task of several tasks. Its basically like a Macro so when you invoke the Stored procedure, you actually run a set of statements.

Q3. Can you give an example of Stored Procedure?
- sp_helpdb , sp_who2, sp_renamedb are a set of system defined stored procedures. We can also have user defined stored procedures which can be called in similar way.

Q3.What is a trigger?
- Triggers are basically used to implement business rules. Triggers is also similar to stored procedures. The difference is that it can be activated when data is added or edited or deleted from a table in a database.

Q4. What is a view?
- If we have several tables in a db and we want to view only specific columns from specific tables we can go for views. It would also suffice the needs of security some times allowing specfic users to see only specific columns based on the permission that we can configure on the view. Views also reduce the effort that is required for writing queries to access specific columns every time.

Q5.What is an Index?
- When queries are run against a db, an index on that db basically helps in the way the data is sorted to process the query for faster and data retrievals are much faster when we have an index.

Q6.What are the types of indexes available with SQL Server?
- There are basically two types of indexes that we use with the SQL Server. Clustered and the Non-Clustered.

Q7.What is the basic difference between clustered and a non-clustered index?
- The difference is that, Clustered index is unique for any given table and we can have only one clustered index on a table. The leaf level of a clustered index is the actual data and the data is resorted in case of clustered index. Whereas in case of non-clustered index the leaf level is actually a pointer to the data in rows so we can have as many non-clustered indexes as we can on the db.

Q8.What are cursors?
- Well cursors help us to do an operation on a set of data that we retreive by commands such as Select columns from table. For example : If we have duplicate records in a table we can remove it by declaring a cursor which would check the records during retreival one by one and remove rows which have duplicate values.

Q9.When do we use the UPDATE_STATISTICS command?
- This command is basically used when we do a large processing of data. If we do a large amount of deletions any modification or Bulk Copy into the tables, we need to basically update the indexes to take these changes into account. UPDATE_STATISTICS updates the indexes on these tables accordingly.

Q10.Which TCP/IP port does SQL Server run on?
- SQL Server runs on port 1433 but we can also change it for better security.

Q11.From where can you change the default port?
- From the Network Utility TCP/IP properties –> Port number.both on client and the server.

Q12.Can you tell me the difference between DELETE & TRUNCATE commands?
- Delete command removes the rows from a table based on the condition that we provide with a WHERE clause. Truncate will actually remove all the rows from a table and there will be no data in the table after we run the truncate command.

Q13.Can we use Truncate command on a table which is referenced by FOREIGN KEY?
- No. We cannot use Truncate command on a table with Foreign Key because of referential integrity.

Q14.What is the use of DBCC commands?
- DBCC stands for database consistency checker. We use these commands to check the consistency of the databases, i.e., maintenance, validation task and status checks.
Can you give me some DBCC command options?(Database consistency check)
- DBCC CHECKDB - Ensures that tables in the db and the indexes are correctly linked.and DBCC CHECKALLOC - To check that all pages in a db are correctly allocated. DBCC SQLPERF - It gives report on current usage of transaction log in percentage. DBCC CHECKFILEGROUP - Checks all tables file group for any damage.

Q.15 What command do we use to rename a db?
- sp_renamedb ‘oldname’ , ‘newname’
Q16 Well sometimes sp_reanmedb may not work you know because if some one is using the db it will not accept this command so what do you think you can do in such cases?
In such cases we can first bring to db to single user using sp_dboptions and then we can rename that db and then we can rerun the sp_dboptions command to remove the single user mode.

Q17. What is the difference between a HAVING CLAUSE and a WHERE CLAUSE?
- Having Clause is basically used only with the GROUP BY function in a query. WHERE Clause is applied to each row before they are part of the GROUP BY function in a query.

Q18. What do you mean by COLLATION?
- Collation is basically the sort order. There are three types of sort order Dictionary case sensitive, Dictonary - case insensitive and Binary.

Q19. What is a Join in SQL Server?
- Join actually puts data from two or more tables into a single result set.
Can you explain the types of Joins that we can have with Sql Server?
- There are three types of joins: Inner Join, Outer Join, Cross Join

Q20. When do you use SQL Profiler?
- SQL Profiler utility allows us to basically track connections to the SQL Server and also determine activities such as which SQL Scripts are running, failed jobs etc..

Q21.What is a Linked Server?
- Linked Servers is a concept in SQL Server by which we can add other SQL Server to a Group and query both the SQL Server dbs using T-SQL Statements.

Q22. Can you link only other SQL Servers or any database servers such as Oracle?
- We can link any server provided we have the OLE-DB provider from Microsoft to allow a link. For Oracle we have a OLE-DB provider for oracle that microsoft provides to add it as a linked server to the sql server group.

Q23.Which stored procedure will you be running to add a linked server?
- sp_addlinkedserver, sp_addlinkedsrvlogin

Q24.What are the OS services that the SQL Server installation adds?
- MS SQL SERVER SERVICE, SQL AGENT SERVICE, DTC (Distribution transac co-ordinator)

Q25. Can you explain the role of each service?
- SQL SERVER - is for running the databases SQL AGENT - is for automation such as Jobs, DB Maintanance, Backups DTC - Is for linking and connecting to other SQL Servers

Thursday, January 25, 2007

Registry is it fun?

Registry in windows operating system most valuable thing. so be care full when ever u do experiment.
The application and operating system control the three distinct level, in legacy windows system
system.ini and win.ini hold all the control and function for the operating system & application
Essentially system.ini controlled the hardware while window.ini controlled the desktop & application.
all changes of drives, font & setting and prefrences would be stored in the files.

Basically Registry is the data file for 32 bit hardware drive combinations and 32 bit applications in windows.
There are many control related with registry
1. control panel function
2. Desktop appearance and icon
3. Network prefrences
4. access control
5. login validation
6.file & printer sharing
7.Network card setting & protocol

Computer setting & default user setting stored in file files WINNT\System32\ config directory
registry date for individual user winNT\profiles\username\Ntuser.dat
it is available to very user who have logged on
the files which can not be edit delete or copy by user ofter called hives
1.default
2.SAM
3.security
4.software
5.System
6.ntuser.dat

the one of the file with .sav extention which is for save for last good known configuration.

Now let do some tricks
1.----> Disable shutDown Option
Hkey_Current_User\Software\Microsoft\Windows\CurrentVersion\Policies\Explore
Now when u go the above path in registry
you will finde "NoClose_key" set the value = 1 or 0 to enable disable

2.---> Disable Display drives in my computer.

Hkey_Current_User\ Software \ microsoft\windows\current version\ policies\explore
now in right panel create a new DWORD Name NoDrives Modify the value "3fffff" now press F5
"to enable drive delete the DWORD"

some more tricks but later before closing this it is much better if u put a back up of ur regitry all the time

Are you aware of Directives

Dear All here is some directive stuff enjoy
· @ Page Directive

This directive is used to assign page-specific attributes that are used by the web forms page parser and compiler. It can be placed anywhere in the page. A page can have only one @ Page directive.

· @ Register Directive

This directive is used to register a user or server custom control on the page.

1) To register a user control use:

<%@ Register TagPrefix = “Wrox” TagName=”CButton”
Src = “UserControls\Header.ascx” %>

To use the control:

Source file of a user control can have only one control.

2) To register a custom server control: These custom controls are compiled and contained within assemblies.

<%@ Register TagPrefix = “Wrox” Namespace = “WroxControls”
Assembly = “RatingMeter” %>

To use the control:

· @ Assembly Directive

This directive is used to refer an assembly for the page.

1) To use a compiled assembly: <%@ Assembly Name=”xyz” %>
2) To use a source file that will be compiled when the page is compiled: <%@ Assembly Src=”pathname” %>

This tag is usually not required, as any assembly that is in the ASP .Net application’s bin directory will automatically be compiled into the page. Use this when you refer any shared assembly or the assembly in another folder.

· @ OutputCache Directive

This directive is used to control how the page is cached. When caching for the page is enabled, the requested page is compiled for the first request and all the subsequent requests (even from another user) is served from that compiled cached page. The attributes for the directive are:

1) Duration: This attribute is used to control how long an item will stay in the cache before being invalidated. This is a mandatory attribute.
2) Location: This attribute specifies where the caching is stored. It can be Any, Client, Downstream, Server on None.
3) VaryByCustom: When the value of this attribute is set to “browser”, caching is varied by the type of browser.
4) VaryByParam: This attribute is used to vary the cache, based on the values of parameters passed to the server (i.e. QueryString parameter). Value for this attribute can be * (for all parameters) or none (do not vary on any parameters).

Output caching only works using ASP .Net on the windows 2000 and windows XP platform.

· The principle of code-behind is to create a class for the code, and inherit this class from the ASP .Net Page object. You can then create the ASP .Net page and use a page directive to inherit from the newly created class.

· Smart Navigation

This is an Internet Explorer specific feature, which requires IE 5 or above. Smart navigation has four feature as No more screen flash, Scroll position maintained, Element focus maintained, Last page in History maintained. Smart navigation only redraws the contents of the page that has been changed during a post-back. Entire page does not need to be redrawn. You can enable smart navigation at page level as: <%@ Page SmartNavigation=”true” %> or in Web.config as:

· User Control

A user control does not have a html tag. A source file of a user control has an extension .ascx. To use a user control on a page you have to first register it and then you can use it as a normal control.

When you have a property defined in a user control, you can use it like: (Say you have a property named ConnectionString)



Event for a user control must be handle in the user control page, not on the page hosting the user control. Because the user control’s event will not be passed to the hosting page, so the events will never be processed.

· Partial Page Caching

This is also known as fragment caching. It is available when you are using a user control on a page. You can compile and cache that user control first time the hosting page is requested, than on subsequent requests for the hosting page that cached user control is used to render the page. Enabling a caching for the user control is same as a normal page. Use @ OutputCache directive on the user control page.

· Adding the runat=”server” attribute to an HTML element causes that control to be compiled into the page, and executed on the server each time the page is requested. It means runat=”server” attribute makes a normal HTML element a server control. So, to be able to access the element’s properties, method, or events in the server-side code, you have to create it as a server control.

· The base class for the all HTML control is:
System.Web.UI.HTMLControls.HTMLControl

· Each server side event handler has two parameters. The first parameter is a reference to the object that raise the event and the second parameter is a type of EventArgs object that contains any additional information about the event.

· When using ASP .Net’s validation control you can check the page’s IsValid property to check whether the page passed the validation test or not. You can also use the CausesValidation=”false” property of a control (such as a cancel button), so that it can post back the page without occurring the validation process on the client side. Without this you won’t able to post back the page without passing all the validation check.

Structure of Asp.net page

Following are list of the important element of asp,net
  • Directives
  • Code & declaration block
  • Server side comment
  • Server side include directives.
A Directive control shows how an asp.net page is compiled.
the begining of a directive is marked with <%@ and end with %>
there are several type of page directives.
1.lanuage Page directives
2.Trace Directives'
3. import directives and many more.

View state Basic

When you submit a form with asp.net controls, the data entered into all the controls are preserved, when the form is displayed again microsoft calls the automatic persistance of the data view state.
For example :- when ever you filling Hotmail registration form for new email.
if something is wrong in validation at server side all the thing's are remain same means you do not need to fill whole form again but only the wrong or mising field.
this is the quality of this.
but the drawback is that which i got if a page is postback again & again it put the page slower.
beacause view state increased each time page size.
it may be clearify more
thanks
enjoy

Asp.net Basic Knowledge base

Regardless of the laguage that you use to develope your asp.net pages, you need to understand that asp.net pages compile before they execute.
It means that they execute very quickly. The first time you request an asp.net page the page is compiled into a .net class and the resulting class file is saved at a special directory on your server in "Temporary Asp.net" files. for each & every asp.net pages a corrsoponding class file appears int the temporary asp.net file directory.
When a asp.net page is compiled it is not directlty compiled into machine code Instead it is compiled into intermediate level language called Microsoft Intermediate language (MSIL)
All the .net compatible laguages are compilted into this intermediate language.
Thats all
for today
enjoy.

Tuesday, January 02, 2007

Partial Class

Partial Class is New functionality that is included in visual studio.net 2005.This New functionality help you to split a single class into multiple partial classes.This partial classes can be diffrent individual files.
Its nothing but the small part of big class.you can declare by following syntax
partial class Rajat
private intI as integer = 4,
private intJ as integer = 3
End class
public class Rajat
private intSum as integer
public sub sum()
intSum = intI + intJ
end sub
End class

Here intJ,intI are define in partical class of rajat which is used in public class rajat.