Monday, December 8, 2014

Intro to Delphi

Delphi Enterprise
from Pascal and Lazarus(Use Pascal Compiler)

Delphi Code:
procedure TForm1.btnShowMessageClick(Sender: TObject);
begin
     MessageDlg('It is fun to program with Delhi', ,mtInformartion, [mbOK], 0);
end;

Visual Basic:
private sub btnShowMessage(sender As Object, e As EvemtArgs) Handles

btnShowMessage.Click
MessageBox.Show("It is fun to program in Visual basic", "Information",

MessageBoxButtons.OK, MessageBoxIcon.Information)

End Sub

C#:
private void btnShowMessage_Click(object sender, EventArgs e)
{
MessageBox.Show("It is fun to program in C#", "Information",

MessageBoxButtons.OK, MessageBoxIcon.Infomation);
}

RAD(Rapid Application Development):
Programmers add Custom Code with an existing chunk of code and prepare a productive programs.


IDE:
Speed Bar
Component Pallete - Organise components
Often used are: Standard and Additional Tabs
Object Preview - Article list of Project which we used.And displayed in a tree view.
Below Object Inspector - Change the properties and events of particular Object on the screen.


Delphi Saving and Organizing Files:
Saving :

  • Unit File(.pas extension) Unit1, Unit2, etc...(frmFirstDemo_u)
  • The Project File(.dpr Extension - delphi project) FirstDemo_p


-- All files are saved the place where Unit Files are saved.

Exploring Delphi Files:
Initially when we save 2 files it haves 8 files
View > Forms for UI when the UI is not displyed.

For Run: F9

Naming Convension

Wednesday, December 3, 2014

Difference between ViewData, ViewBag and TempData ?


ASP.NET MVC offers us three options ViewData, ViewBag and TempData for passing data from controller to view and in next request. ViewData and ViewBag are almost similar and TempData performs additional responsibility. Lets discuss or get key points on those three objects:

Similarities between ViewBag & ViewData :

Helps to maintain data when you move from controller to view.
Used to pass data from controller to corresponding view.
Short life means value becomes null when redirection occurs. This is because their goal is to provide a way to communicate between controllers and views. It’s a communication mechanism within the server call.
Difference between ViewBag & ViewData:
  • ViewData is a dictionary of objects that is derived from ViewDataDictionary class and accessible using strings as keys.
  • ViewBag is a dynamic property that takes advantage of the new dynamic features in C# 4.0.
  • ViewData requires typecasting for complex data type and check for null values to avoid error.
  • ViewBag doesn’t require typecasting for complex data type.


ViewBag & ViewData Example:


public ActionResult Index()
{
    ViewBag.Name = "Narendra Modi";
    return View();
}

public ActionResult Index()
{
    ViewData["Name"] = "Narendra Modi";
    return View();
}

In View we use as:

@ViewBag.Name
@ViewData["Name"]

TempData:

It is also a dictionary derived from TempDataDictionary class and stored in short lives session and it is a string key and object value. The difference is that the life cycle of the object. TempData keep the information for the time of an HTTP Request. This mean only from one page to another. This also work with a 302/303 redirection because it’s in the same HTTP Request. Helps to maintain data when you move from one controller to other controller or from one action to other action. In other words when you redirect, “Tempdata” helps to maintain data between those redirects. It internally uses session variables. Temp data use during the current and subsequent request only means it is use when you are sure that next request will be redirecting to next view. It requires typecasting for complex data type and check for null values to avoid error. generally used to store only one time messages like error messages, validation messages.

public ActionResult Index()
{
  var model = new Review()
            {
                Body = "Start",
                Rating=5
            };
    TempData["ModelName"] = model;
    return RedirectToAction("About");
}
public ActionResult About()
{
    var model= TempData["ModelName"];
    return View(model);
}


The last mechanism is the Session which work like the ViewData, like a Dictionary that take a string for key and object for value. This one is stored into the client Cookie and can be used for a much more long time. It also need more verification to never have any confidential information. Regarding ViewData or ViewBag you should use it intelligently for application performance. Because each action goes through the whole life cycle of regular asp.net mvc request. You can use ViewData/ViewBag in your child action but be careful that you are not using it to populate the unrelated data which can pollute your controller.

Tuesday, November 25, 2014

To Fetch the Top most result in SQL Server 2012



The Task is to fetch the top most value from the same identical other column values:

For Ex:


Create table #MyTemp(Name varchar(10), Value varchar(10))

insert into #MyTemp(Name, Value) values('Awais', '100')
insert into #MyTemp(Name, Value) values('Raghu', '500')

insert into #MyTemp(Name, Value) values('Awais', '110')
insert into #MyTemp(Name, Value) values('Raghu', '550')

Code:

select * from #MyTemp

select *
FROM #MyTemp
WHERE Value NOT IN
(
SELECT MAX(Value)
FROM #MyTemp
GROUP BY Name)