473,402 Members | 2,061 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,402 software developers and data experts.

how to check existance of a table in sql server?

Dan
Hello,

we have an intranet application using Windows Integrated Authentification.
When an user starts the application, he gets a form for inputting data. The
first time he does that, the application creates in a specific database a
table with the name of his account (read with
Request.ServerVariables("remote_user") and creates in that table the records
he enters. From the second time the user starts the application, still the
same form appears but the table may not be recreated.
How can i check in code-behind (VB) whether that table (e.g. table 'dan'
exists)?

Thanks
Dan
Jul 7 '07 #1
14 2102
"Dan" <d@er.dfwrote in message
news:O2**************@TK2MSFTNGP03.phx.gbl...
How can i check in code-behind (VB) whether that table (e.g. table 'dan'
exists)?
Since you don't mention what back-end RDBMS you're using, I'll assume it's
SQL Server...

Whatever method you're using to connect to the RDBMS, use the ADO.NET
ExecuteScaler method on the following SQL:

SELECT COUNT(*) FROM sys.tables WHERE [name] = 'dan' AND [type] = 'U'

If ExecuteScalar returns 1, the table exists - if it returns 0, it
doesn't...

There must be at least half a dozen other ways of doing this...
--
Mark Rae
ASP.NET MVP
http://www.markrae.net

Jul 7 '07 #2

"Dan" <d@er.dfwrote in message
news:O2**************@TK2MSFTNGP03.phx.gbl...
Hello,

we have an intranet application using Windows Integrated Authentification.
When an user starts the application, he gets a form for inputting data.
The first time he does that, the application creates in a specific
database a table with the name of his account (read with
Request.ServerVariables("remote_user") and creates in that table the
records he enters. From the second time the user starts the application,
still the same form appears but the table may not be recreated.
How can i check in code-behind (VB) whether that table (e.g. table 'dan'
exists)?
You make a stored procedure and ask the question.

If exist(tablename)

The stored procedure returns a Return code of zero if it's there or non-zero
if it's not there, which you'll check in code the return code that you have
set and returned, taking take the appropriate action.

Use Google where you can ask *How to check if a SQL Table Exist* or
something along those lines. Also look up *How to get a output parm or
return code from a Stored Procedure using ADO.NET* or something along those
lines.

Jul 7 '07 #3
Dan
Thanks to you two

"Mr. Arnold" <MR. Ar****@Arnold.comschreef in bericht
news:ON****************@TK2MSFTNGP03.phx.gbl...
>
"Dan" <d@er.dfwrote in message
news:O2**************@TK2MSFTNGP03.phx.gbl...
>Hello,

we have an intranet application using Windows Integrated
Authentification. When an user starts the application, he gets a form for
inputting data. The first time he does that, the application creates in a
specific database a table with the name of his account (read with
Request.ServerVariables("remote_user") and creates in that table the
records he enters. From the second time the user starts the application,
still the same form appears but the table may not be recreated.
How can i check in code-behind (VB) whether that table (e.g. table 'dan'
exists)?

You make a stored procedure and ask the question.

If exist(tablename)

The stored procedure returns a Return code of zero if it's there or
non-zero if it's not there, which you'll check in code the return code
that you have set and returned, taking take the appropriate action.

Use Google where you can ask *How to check if a SQL Table Exist* or
something along those lines. Also look up *How to get a output parm or
return code from a Stored Procedure using ADO.NET* or something along
those lines.

Jul 7 '07 #4
If exists(Tablename) does not work in this case. That has to be a legitimate
query, not a "sysobject". Mark's solution would be the preferred one to me.
-- Peter
Site: http://www.eggheadcafe.com
UnBlog: http://petesbloggerama.blogspot.com
BlogMetaFinder(BETA): http://www.blogmetafinder.com

"Mr. Arnold" wrote:
>
"Dan" <d@er.dfwrote in message
news:O2**************@TK2MSFTNGP03.phx.gbl...
Hello,

we have an intranet application using Windows Integrated Authentification.
When an user starts the application, he gets a form for inputting data.
The first time he does that, the application creates in a specific
database a table with the name of his account (read with
Request.ServerVariables("remote_user") and creates in that table the
records he enters. From the second time the user starts the application,
still the same form appears but the table may not be recreated.
How can i check in code-behind (VB) whether that table (e.g. table 'dan'
exists)?

You make a stored procedure and ask the question.

If exist(tablename)

The stored procedure returns a Return code of zero if it's there or non-zero
if it's not there, which you'll check in code the return code that you have
set and returned, taking take the appropriate action.

Use Google where you can ask *How to check if a SQL Table Exist* or
something along those lines. Also look up *How to get a output parm or
return code from a Stored Procedure using ADO.NET* or something along those
lines.

Jul 8 '07 #5

"Peter Bromberg [C# MVP]" <pb*******@yahoo.yabbadabbadoo.comwrote in
message news:36**********************************@microsof t.com...
If exists(Tablename) does not work in this case. That has to be a
legitimate
query, not a "sysobject". Mark's solution would be the preferred one to
me.
What? Do you think I am going to rattle this stuff off the top of my head?
The OP has got the point, and I am sure the OP will find it, the solution,
after being given a little push. That's all it was and nothing else. I am
not going to worry about something as trivial as this.

Jul 8 '07 #6
Mark Rae [MVP] wrote:
[...]
SELECT COUNT(*) FROM sys.tables WHERE [name] = 'dan' AND [type] = 'U'
[...]
There must be at least half a dozen other ways of doing this...
A better one IMO is to use the INFORMATION_SCHEMA views.

\\\
select *
from INFORMATION_SCHEMA.Tables
where TABLE_NAME = 'dan'
///

This is an ANSI standard (http://en.wikipedia.org/wiki/Information_Schema).
No directly accessing system tables, no "magic" codes (why does 'type' need
to be set to 'U'?), won't break on future versions of SQL Server and also
works on other RDBMSs.

There are lots of other INFORMATION_SCHEMA views that give access to
columns, views, constraints, stored procedures, etc. To see them all, take a
look at the views that are defined against the master database on your
server.

HTH,

--

(O)enone
Jul 8 '07 #7
"(O)enone" <oe****@nowhere.comwrote in message
news:H_*****************@newsfe1-gui.ntli.net...
This is an ANSI standard
(http://en.wikipedia.org/wiki/Information_Schema).
Indeed.
won't break on future versions of SQL Server
You can't know that for sure...
and also works on other RDBMSs.
Apart from the ones which don't support it, e.g. Oracle, Jet etc:
http://www.databasejournal.com/news/article.php/3686366
http://www.thescripts.com/forum/thread199615.html
--
Mark Rae
ASP.NET MVP
http://www.markrae.net

Jul 8 '07 #8
Mark Rae [MVP] wrote:
>won't break on future versions of SQL Server

You can't know that for sure...
Maybe not, but I think it's a much safer bet than selecting from system
tables. If MS decide to reorganise the internals of SQL Server (and I'm sure
it's a possibility!), I would certainly hope they would ensure that the
INFORMATION_SCHEMA views keep working. And if not, it would be much easier
to modify they to maintain their previous functionality than to fix every
bit of code that selected from the system tables directly.

--

(O)enone
Jul 8 '07 #9
You know, people make mistakes. I certainly do. But acting like you're from
another planet doesn't add much clarity to the thread, IMHO.
Cheers.
--
Site: http://www.eggheadcafe.com
UnBlog: http://petesbloggerama.blogspot.com
BlogMetaFinder(BETA): http://www.blogmetafinder.com

"Mr. Arnold" wrote:
>
"Peter Bromberg [C# MVP]" <pb*******@yahoo.yabbadabbadoo.comwrote in
message news:36**********************************@microsof t.com...
If exists(Tablename) does not work in this case. That has to be a
legitimate
query, not a "sysobject". Mark's solution would be the preferred one to
me.

What? Do you think I am going to rattle this stuff off the top of my head?
The OP has got the point, and I am sure the OP will find it, the solution,
after being given a little push. That's all it was and nothing else. I am
not going to worry about something as trivial as this.

Jul 8 '07 #10

"Peter Bromberg [C# MVP]" <pb*******@yahoo.yabbadabbadoo.comwrote in
message news:FA**********************************@microsof t.com...
You know, people make mistakes. I certainly do. But acting like you're
from
another planet doesn't add much clarity to the thread, IMHO.
Don't let that MVP go to your head now. It was just a simple example of how
to do something, and it was not a federal case that needed to be made by
you, with you giving your opinion on something.

Jul 8 '07 #11
"Peter Bromberg [C# MVP]" <pb*******@yahoo.yabbadabbadoo.comwrote in
message news:FA**********************************@microsof t.com...
You know, people make mistakes. I certainly do. But acting like you're
from
another planet doesn't add much clarity to the thread, IMHO.
Haven't you killfiled this irritating cretin yet...?
--
Mark Rae
ASP.NET MVP
http://www.markrae.net

Jul 8 '07 #12
Mark Rae [MVP] wrote:
"Peter Bromberg [C# MVP]" <pb*******@yahoo.yabbadabbadoo.comwrote in
message news:FA**********************************@microsof t.com...
>You know, people make mistakes. I certainly do. But acting like you're
from
another planet doesn't add much clarity to the thread, IMHO.

Haven't you killfiled this irritating cretin yet...?

He can do me a favor and do it, because I don't particularly want to
hear from him about anything.

I thought I made that clear over there in the C# NG, and that applies
to a couple of you MVP(s) that I don't want to hear from you. I can't
make it any plainer than that. I am not seeking any of you out to
communicate with any of you, period and please do the same with me.

I am not out here trying to make friends with any one out here on the
Internet, so do me a favor and stay out of my face.

Jul 8 '07 #13
My Grandmother, who lived to be 100, had a more descriptive word for people
like this. It is "Schmuck".
--
Site: http://www.eggheadcafe.com
UnBlog: http://petesbloggerama.blogspot.com
BlogMetaFinder(BETA): http://www.blogmetafinder.com

"Mark Rae [MVP]" wrote:
"Peter Bromberg [C# MVP]" <pb*******@yahoo.yabbadabbadoo.comwrote in
message news:FA**********************************@microsof t.com...
You know, people make mistakes. I certainly do. But acting like you're
from
another planet doesn't add much clarity to the thread, IMHO.

Haven't you killfiled this irritating cretin yet...?
--
Mark Rae
ASP.NET MVP
http://www.markrae.net

Jul 9 '07 #14
Also as a side note my personal default preference would be to create a
single table and have one row for each user...
--
Patrice

"Dan" <d@er.dfa écrit dans le message de news:
O2**************@TK2MSFTNGP03.phx.gbl...
Hello,

we have an intranet application using Windows Integrated Authentification.
When an user starts the application, he gets a form for inputting data.
The first time he does that, the application creates in a specific
database a table with the name of his account (read with
Request.ServerVariables("remote_user") and creates in that table the
records he enters. From the second time the user starts the application,
still the same form appears but the table may not be recreated.
How can i check in code-behind (VB) whether that table (e.g. table 'dan'
exists)?

Thanks
Dan


Jul 9 '07 #15

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

1
by: Patrick Kowalzick | last post by:
Hello all, I want to test run-time if a template function for a special type exists. See example below. The checkfoo function is where I need some hints. Regards, Patrick #include...
4
by: KathyB | last post by:
Sorry this is a bit of a repost because I wasn't quite accurate in my original. I have an hmtl page with a function to see if there are any input type=text boxes. If so, that means a user did...
7
by: Ajit | last post by:
Is there anyway to check for existance of a file on different machine. i.e. we have a data file (text file) thats stored on some other machine as its not to be exposed in case the web server is...
3
by: Anthony Bowman | last post by:
Hello, I have a access application that resides locally on users desk, I am writing a VB.Net interface that let's the users pull data down from a SQL server database and populate the local access...
2
by: UJ | last post by:
I'm getting a dataset back from a web service and I want to verify that the table I want exists before trying to access it (which will cause an exception.) Is there an easy way to check for a...
1
by: jaya_rath | last post by:
Check table's existance -------------------------------------------------------------------------------- How can I check if a table exists in an MS SQL database using asp.plz help me . advance...
10
by: Dieter Pelz | last post by:
Hallo, what is the best way to check the installation of mfc80 and vcrt sidebyside assemblies? Best Regards, Dieter Pelz
14
by: Dan | last post by:
Hello, we have an intranet application using Windows Integrated Authentification. When an user starts the application, he gets a form for inputting data. The first time he does that, the...
1
by: Cirene | last post by:
Using VB.NET (latest version) I want to log onto an FTP server and check for the existance of 10 files in 3 different directories. I would prefer to do this over 1 live connection. Anyone have...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
0
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.