[MS-SQL Server & C#] Requête vérification l'existance d'une DB
Salut les ami(e)s :)
J'ai un code qui vérifit l'existance d'une DB MS SQL Server qui marche sous Management Studio et la même ne marche pas quand je l'intégre au code C#!!!
Voici le code C# :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
|
SqlConnection scn = new SqlConnection(Properties.Settings.Default.fwgcConnectionString);
SqlCommand scm = scn.CreateCommand();
scm.CommandText = "IF EXISTS (SELECT name FROM sys.databases WHERE name = N'fwgc') SET @exist = 1; ELSE SET @exist = 0;";
SqlParameter sp = scm.CreateParameter();
sp.ParameterName = "@exist";
sp.DbType = DbType.Int32;
sp.Direction = ParameterDirection.Output;
scm.Parameters.Add(sp);
scn.Open();
scm.ExecuteNonQuery();
scn.Close();
if((int)sp.Value == 0) {
// DB NON existante, installer la DB à nouveau...
} |
La requête SQL retourne 1 sous MS SQL Server Management Studio mais retourne 0 quand elle exécuté dans le code ci-dessus!!!
Merci pour votre aide
Blem était dans la connexion string
Le problème était dans la connexion string!
J'ai remplacé la connexion string vers la bd par celle-ci :
Code:
Data Source=.\SQLEXPRESS;Integrated Security=True;Connect Timeout=30
J'ai aussi changé le code. Voici la nouvelle version :
Code:
1 2 3 4 5 6 7 8 9 10 11
|
SqlConnection scn = new SqlConnection(Properties.Settings.Default.srvrConnexionString);
SqlCommand scm = scn.CreateCommand();
scm.CommandText = "SELECT name FROM sys.databases WHERE name = N'fwgc'";
scn.Open();
scn.ChangeDatabase("master");
object o = scm.ExecuteScalar();
scn.Close();
if(o == null) {
// Base de données non trouvée!
} |