I use the code below to detach a Database, but if the database does not
exist, it will thow exception.
How can I determinate if the Database exist before detach it?



***********************************************************************
string sConnection = "Data Source=......";
string sCmdDetach="sp_detach_db 'Health'";
SqlConnection cnn = new SqlConnection(sConnection);
cnn.Open();
SqlCommand cmd= new SqlCommand(sCmdDetach, cnn);
try
{
cmd.ExecuteNonQuery();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
cnn.Close();
}

Re: How can I determinate if the Database exist before detach it? by Marina

Marina
Thu Mar 30 15:11:33 CST 2006

Connect to the 'master' database, and look in the 'sysdatabases' table.

"ad" <flying@wfes.tcc.edu.tw> wrote in message
news:ut47VkDVGHA.5580@TK2MSFTNGP11.phx.gbl...
>I use the code below to detach a Database, but if the database does not
>exist, it will thow exception.
> How can I determinate if the Database exist before detach it?
>
>
>
> ***********************************************************************
> string sConnection = "Data Source=......";
> string sCmdDetach="sp_detach_db 'Health'";
> SqlConnection cnn = new SqlConnection(sConnection);
> cnn.Open();
> SqlCommand cmd= new SqlCommand(sCmdDetach, cnn);
> try
> {
> cmd.ExecuteNonQuery();
> }
> catch (Exception ex)
> {
> MessageBox.Show(ex.Message);
> }
> finally
> {
> cnn.Close();
> }
>
>
>



Re: How can I determinate if the Database exist before detach it? by Jim

Jim
Fri Mar 31 00:32:45 CST 2006

sp_helpdb
Reports information about a specified database or all databases.

Syntax
sp_helpdb [ [ @dbname= ] 'name' ]

Arguments
[@dbname=] 'name'

Is the name of the database for which to provide information. name is
sysname, with no default. If name is not specified, sp_helpdb reports on all
databases in master.dbo.sysdatabases.

Return Code Values
0 (success) or 1 (failure)

"ad" <flying@wfes.tcc.edu.tw> wrote in message
news:ut47VkDVGHA.5580@TK2MSFTNGP11.phx.gbl...
>I use the code below to detach a Database, but if the database does not
>exist, it will thow exception.
> How can I determinate if the Database exist before detach it?
>
>
>
> ***********************************************************************
> string sConnection = "Data Source=......";
> string sCmdDetach="sp_detach_db 'Health'";
> SqlConnection cnn = new SqlConnection(sConnection);
> cnn.Open();
> SqlCommand cmd= new SqlCommand(sCmdDetach, cnn);
> try
> {
> cmd.ExecuteNonQuery();
> }
> catch (Exception ex)
> {
> MessageBox.Show(ex.Message);
> }
> finally
> {
> cnn.Close();
> }
>
>
>



Re: How can I determinate if the Database exist before detach it? by William

William
Fri Mar 31 13:22:29 CST 2006

Use the Connection.GetSchema method.

--
____________________________________
William (Bill) Vaughn
Author, Mentor, Consultant
Microsoft MVP
INETA Speaker
www.betav.com/blog/billva
www.betav.com
Please reply only to the newsgroup so that others can benefit.
This posting is provided "AS IS" with no warranties, and confers no rights.
__________________________________

"ad" <flying@wfes.tcc.edu.tw> wrote in message
news:ut47VkDVGHA.5580@TK2MSFTNGP11.phx.gbl...
>I use the code below to detach a Database, but if the database does not
>exist, it will thow exception.
> How can I determinate if the Database exist before detach it?
>
>
>
> ***********************************************************************
> string sConnection = "Data Source=......";
> string sCmdDetach="sp_detach_db 'Health'";
> SqlConnection cnn = new SqlConnection(sConnection);
> cnn.Open();
> SqlCommand cmd= new SqlCommand(sCmdDetach, cnn);
> try
> {
> cmd.ExecuteNonQuery();
> }
> catch (Exception ex)
> {
> MessageBox.Show(ex.Message);
> }
> finally
> {
> cnn.Close();
> }
>
>
>



Re: How can I determinate if the Database exist before detach it? by Jim

Jim
Fri Mar 31 14:30:54 CST 2006

Won't that get the the default database for the current connection?

If so, he won't be able to detach the database because he is currently using
it.

If the database doesn't exist, then the connection with that
connectionstring will fail anyway!

"William (Bill) Vaughn" <billvaRemoveThis@nwlink.com> wrote in message
news:u7hh0hPVGHA.328@TK2MSFTNGP11.phx.gbl...
> Use the Connection.GetSchema method.
>
> --
> ____________________________________
> William (Bill) Vaughn
> Author, Mentor, Consultant
> Microsoft MVP
> INETA Speaker
> www.betav.com/blog/billva
> www.betav.com
> Please reply only to the newsgroup so that others can benefit.
> This posting is provided "AS IS" with no warranties, and confers no
> rights.
> __________________________________
>
> "ad" <flying@wfes.tcc.edu.tw> wrote in message
> news:ut47VkDVGHA.5580@TK2MSFTNGP11.phx.gbl...
>>I use the code below to detach a Database, but if the database does not
>>exist, it will thow exception.
>> How can I determinate if the Database exist before detach it?
>>
>>
>>
>> ***********************************************************************
>> string sConnection = "Data Source=......";
>> string sCmdDetach="sp_detach_db 'Health'";
>> SqlConnection cnn = new SqlConnection(sConnection);
>> cnn.Open();
>> SqlCommand cmd= new SqlCommand(sCmdDetach, cnn);
>> try
>> {
>> cmd.ExecuteNonQuery();
>> }
>> catch (Exception ex)
>> {
>> MessageBox.Show(ex.Message);
>> }
>> finally
>> {
>> cnn.Close();
>> }
>>
>>
>>
>
>