C# Tutorials and offshore development in India
    Tutorials   Resources   Forum   Reviews   Communities   Interview   Jobs   Projects   Training   Your Ad Here    
Silverlight Games | Mentor | Code Converter | Articles | Code Factory | Computer Jokes | Members | Peer Appraisal | IT Companies | Bookmarks | Polls | Revenue Sharing | Lobby | Gift Shop |


Prizes & Awards
My Profile



Active Members
TodayLast 7 Days more...






Forums » .NET » ASP.NET »

Sqlserver


Posted Date: 13 Oct 2008      Posted By: kalaimanichozhan      Member Level: Gold     Points: 1   Responses: 2



My need is create a table at runtime and insert a values given at runtime.
If a table is already exist means simply insert a value.



For That Purpose I written following coding in stored procedure. It is not working .......

create procedure reservation as
declare @sql varchar(1000)
declare @sql1 varchar(1000)
declare @Tablename varchar(50)
declare @Date datetime
--declare @date1 datetime
declare @Day varchar(50)
declare @Flightno varchar(50)
declare @Fromplce varchar(50)
declare @Toplace varchar(50)
Declare @Totalsheet int
Declare @reserved int
Declare @balance int
begin
set @sql1='select * from '+@Tablename+''
if exists(exec(@sql1))
set @sql='insert into '+@Tablename+' values(@Date,@day,@flightno,@fromplace,@Toplace,@TotalSheet,@reserved,@balance)'
exec(@sql)
else
set @sql='create table '+@Tablename+'(Date Datetime,Day Varchar(50),Flightno varchar(50),Fromplace Varchar(50),Toplace varchar(50),Totalsheet int,Reserved int,BalanceSheet int)'
exec(@sql)
end







urgently i need answer.





Responses

Author: Vignesh    13 Oct 2008Member Level: SilverRating: 2 out of 52 out of 5     Points: 6

The Procedure could be slightly modified as below,

create procedure reservation as
declare @sql varchar(1000)
declare @sql1 varchar(1000)
declare @Tablename varchar(50)
declare @Date datetime
--declare @date1 datetime
declare @Day varchar(50)
declare @Flightno varchar(50)
declare @Fromplce varchar(50)
declare @Toplace varchar(50)
Declare @Totalsheet int
Declare @reserved int
Declare @balance int
begin

DECLARE @cnt INT

SELECT @cnt = COUNT(1) FROM SYSOBJECTS WHERE xtype = 'u' AND name = @Tablename

if(@cnt > 0)
set @sql='insert into '+@Tablename+' values(@Date,@day,@flightno,@fromplace,@Toplace,@TotalSheet,@reserved,@balance)'
exec(@sql)
else
set @sql='create table '+@Tablename+'(Date Datetime,Day Varchar(50),Flightno varchar(50),Fromplace Varchar(50),Toplace varchar(50),Totalsheet int,Reserved int,BalanceSheet int)'
exec(@sql)
end

Here we check the sysobjects table for the existence of the given table name since the given table being a physical table.



Author: Preet    13 Oct 2008Member Level: GoldRating: 2 out of 52 out of 5     Points: 6

The Procedure could be slightly modified as below,

create procedure reservation as
declare @sql varchar(1000)
declare @sql1 varchar(1000)
declare @Tablename varchar(50)
declare @Date datetime
declare @Day varchar(50)
declare @Flightno varchar(50)
declare @Fromplce varchar(50)
declare @Toplace varchar(50)
Declare @Totalsheet int
Declare @reserved int
Declare @balance int
begin

DECLARE @cnt INT

set @sql='insert into '+@Tablename+' values(@Date,@day,@flightno,@fromplace,@Toplace,@TotalSheet,@reserved,@balance)'

SELECT @cnt = COUNT(*) FROM SYSOBJECTS WHERE xtype = 'u' AND name = @Tablename

if(@cnt > 0)
exec(@sql)
else
set @sql='create table '+@Tablename+'(Date Datetime,Day Varchar(50),Flightno varchar(50),Fromplace Varchar(50),Toplace varchar(50),Totalsheet int,Reserved int,BalanceSheet int)'
exec(@sql)
exec(@sql1)
end



Post Reply

 This thread is locked for new responses. Please post your comments and questions as a separate thread.
If required, refer to the URL of this page in your new post.


Next : An extender can't be in a different UpdatePanel than the control it extends. ?
Previous : dropdownlist pblm (autopostback pblm) in asp.net
Return to Discussion Forum
Post New Message
Category: ASP.NET

Related Messages



dotNet Slackers

About Us    Contact Us    Privacy Policy    Terms Of Use