Click here to Skip to main content
15,891,864 members
Articles / Web Development / ASP.NET

Editable GridView without ObjectDataSource Concepts

Rate me:
Please Sign up or sign in to vote.
3.08/5 (7 votes)
11 Jun 2009CPOL4 min read 37.5K   494   27  
A C# sample for binding a GridView to a DataTable with sorting, filtering, updating, deleting, and inserting allowed.
��

GO

/****** Object:  Table [dbo].[tPhysician]    Script Date: 06/08/2009 16:58:50 ******/

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

SET ANSI_PADDING ON

GO

CREATE TABLE [dbo].[tPhysician](

	[PhysicianID] [int] IDENTITY(1,1) NOT NULL,

	[HospitalID] [int] NOT NULL,

	[HospitalPhysicianID] [varchar](50) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,

	[FirstName] [varchar](50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,

	[MiddleName] [varchar](50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,

	[LastName] [varchar](50) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,

	[Suffix] [varchar](10) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,

	[IsActive] [bit] NOT NULL CONSTRAINT [DF_tPhysician_Active]  DEFAULT ((1)),

 CONSTRAINT [PK_tPhysician] PRIMARY KEY CLUSTERED 

(

	[PhysicianID] ASC

)WITH (PAD_INDEX  = OFF, IGNORE_DUP_KEY = OFF) ON [PRIMARY]

) ON [PRIMARY]



GO

SET ANSI_PADDING OFF

GO



CREATE PROCEDURE [dbo].[DeletePhysician]

	(@PhysicianID int)

AS

BEGIN

	-- SET NOCOUNT ON added to prevent extra result sets from

	-- interfering with SELECT statements.

	SET NOCOUNT ON;



    -- Insert statements for procedure here

	UPDATE tPhysician

	SET IsActive = 0

	WHERE PhysicianID = @PhysicianID

	



END





GO



CREATE PROCEDURE [dbo].[getPhysicianList]

	(@TestVersion bit, @HospitalID int)

AS

BEGIN

	-- SET NOCOUNT ON added to prevent extra result sets from

	-- interfering with SELECT statements.

	SET NOCOUNT ON;



    -- Insert statements for procedure here

	SELECT * FROM tPhysician

	WHERE HospitalID = @HospitalID

	AND IsActive = 1



END



GO



CREATE PROCEDURE [dbo].[InsertPhysician]

	(@HospitalID int, @FirstName varchar(50), @MiddleName varchar(50), @LastName varchar(50), @HospitalPhysicianID varchar(50), @Suffix varchar(10))

AS

BEGIN

	-- SET NOCOUNT ON added to prevent extra result sets from

	-- interfering with SELECT statements.

	SET NOCOUNT ON;



	IF EXISTS (SELECT NULL 

		FROM tPhysician 

		WHERE HospitalID = @HospitalID

		AND IsActive = 1

		AND HospitalPhysicianID =  @HospitalPhysicianID)

	begin	

		DECLARE @ErrorMessage NVARCHAR(4000);



		select @ErrorMessage = 'Physician ID ' + @HospitalPhysicianID + ' already exists in the table.  Duplicates are not allowed.';

		RAISERROR (@ErrorMessage, -- Message text.

					   16, -- Severity.

					   1 -- State.

					   );

		

	end

	else

	begin

		-- Insert statements for procedure here

		INSERT INTO tPhysician (HospitalID, HospitalPhysicianID, FirstName, MiddleName, LastName, Suffix)

		VALUES (@HospitalID, @HospitalPhysicianID, @FirstName, @MiddleName, @LastName, @Suffix)

	end



END



GO





CREATE PROCEDURE [dbo].[UpdatePhysician]

	(@PhysicianID int, @FirstName varchar(50), @MiddleName varchar(50), @LastName varchar(50), @HospitalPhysicianID varchar(50), @Suffix varchar(10))

AS

BEGIN

	-- SET NOCOUNT ON added to prevent extra result sets from

	-- interfering with SELECT statements.

	SET NOCOUNT ON;



    -- Insert statements for procedure here

	UPDATE tPhysician 

		SET HospitalPhysicianID = @HospitalPhysicianID,

		FirstName = @FirstName, 

		MiddleName = @MiddleName, 

		LastName = @LastName,

		Suffix = @Suffix

	WHERE PhysicianID = @PhysicianID



END



GO



CREATE PROCEDURE [dbo].[IsHospitalPhysician]

	(@TestVersion bit, @HospitalPhysicianID varchar(50), @HospitalID int)

AS

BEGIN

	-- SET NOCOUNT ON added to prevent extra result sets from

	-- interfering with SELECT statements.

	SET NOCOUNT ON;



	IF EXISTS (SELECT NULL 

		FROM tPhysician 

		WHERE HospitalID = @HospitalID

		AND IsActive = 1

		AND HospitalPhysicianID =  @HospitalPhysicianID)

	begin	

		SELECT 1 as IsExisting

	end

	else	

	begin

		SELECT 0 as IsExisting

	end



END









By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Database Developer Indiana Hospital Association
United States United States
Sasha earned her BS degree in Computer Technology from Purdue University in 2000. Since then, she has programmed professionally for a variety of industries in languages such as: Visual Basic 4, 5, & 6.0; Sybase PowerBuilder 6, 7, & 8; ASP C#.NET 2.0 & 3.5; JavaScript; SQL Server 2000 & 2005; Oracle 7.3, 8, 8i, & 9i; Perl; MySQL 4.0. In the past few years, she’s been focusing mainly on SQL Server 2005 development but has also picked up C#.NET.

Comments and Discussions