Tuesday, March 22, 2011

LINQ to SQL Sample

DataClassesDataContext dataContext = new DataClassesDataContext();

DataTable dtEmployees = new DataTable();

var employees = from empTable in dataContext.Employees
select empTable;
foreach (Employee empRecord in employees)
{
   Response.Write(empRecord.LoginID + "
");
}

dtEmployees = (DataTable)employees;
dgEmployeesList.DataSource = dtEmployees;
dgEmployeesList.DataBind();

Stored Procedure Sample

set ANSI_NULLS ON

set QUOTED_IDENTIFIER ON
go

ALTER PROCEDURE [HumanResources].[uspUpdateEmployeeHireInfo]
@EmployeeID [int],
@Title [nvarchar](50),
@HireDate [datetime],
@RateChangeDate [datetime],
@Rate [money],
@PayFrequency [tinyint],
@CurrentFlag [dbo].[Flag]
WITH EXECUTE AS CALLER
AS

BEGIN

SET NOCOUNT ON;

BEGIN TRY

BEGIN TRANSACTION;
UPDATE [HumanResources].[Employee]
SET [Title] = @Title
,[HireDate] = @HireDate
,[CurrentFlag] = @CurrentFlag
WHERE [EmployeeID] = @EmployeeID;

INSERT INTO [HumanResources].[EmployeePayHistory]
([EmployeeID]
,[RateChangeDate]
,[Rate]
,[PayFrequency])
VALUES (@EmployeeID, @RateChangeDate, @Rate, @PayFrequency);

COMMIT TRANSACTION;

END TRY

BEGIN CATCH
-- Rollback any active or uncommittable transactions before
-- inserting information in the ErrorLog

IF @@TRANCOUNT > 0
BEGIN
ROLLBACK TRANSACTION;
END


EXECUTE [dbo].[uspLogError];

END CATCH;

END;