Procédures Stockées

Résolu
Stryx31 Messages postés 5 Date d'inscription mercredi 27 juillet 2005 Statut Membre Dernière intervention 30 novembre 2006 - 21 nov. 2006 à 12:59
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 - 30 nov. 2006 à 14:15
Bonjour,
J'utilise vs2005 c# express et sql server 2005 express.
J'essaye d'éxécuter une procédure stockée inserttype:
ALTER PROCEDURE dbo.inserttype
    (
    @str_type nchar(20)
    )
AS
    select * from type where type= @str_type
    if @@rowcount<1
        insert into type values (@str_type)  
 
j'appelle cette procédure via ces instructions:
                    string chainedeconnection = "Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\mdatabase.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True";
                    SqlConnection connection = new SqlConnection(chainedeconnection);
                    SqlCommand insertiontype = new SqlCommand("dbo.inserttype", connection);
                    insertiontype.Parameters.Clear();
                    insertiontype.CommandType = CommandType.StoredProcedure;
                    insertiontype.CommandText = "dbo.inserttype";
                    insertiontype.Parameters.Add("@str_type", SqlDbType.NChar);
                    insertiontype.Parameters["@str_type"].Value = inputbox.str_type;
                    connection.Open();
                    resultat = insertiontype.ExecuteNonQuery();
                    connection.Close();

tout a l'air de bien se passer mais le nouveau champ n'est pas enregistré dans la base alors que le résultat n'indique qu'il y a eu une ligne d'affectée donc, en principe, l'insertion du nouveau champs.
Si j'essaye d'ajouter un champs en doublon (interdit dans ma table), c'est un resultat=0 m'indiquant qu'aucune ligne n'a été modifiée.
Avez-vous une idée pourquoi, le nouveau champs n'est pas inseré dans la table?
En testant directement
, dans vs2005,
la procédure stockée , le champs est bien inséré...

Merci d'avance de vos précieux conseils!

6 réponses

sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
22 nov. 2006 à 12:38
juste comme ca... tu redémarres ton projet entre temps ?

Je dis ça, pour la simple est bonne raison qu'a chaque compilation (exécution) Visual Studio recopie le fichier mdatabase.mdf dans le répertoire bin... donc c'est normal que tu ne vois pas tes données...

Sébastien FERRAND (
blog)
Consultant Indépendant
[Microsoft MVP Visual C#]
3
Stryx31 Messages postés 5 Date d'inscription mercredi 27 juillet 2005 Statut Membre Dernière intervention 30 novembre 2006
22 nov. 2006 à 13:58
Ok je me doutais que cela venait d'un problème de ce genre!
Mais bon, ça facilite pas le développement...  maintenant je me méfierais.
0
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
22 nov. 2006 à 14:01
la solution, c'est de changer les propriétés du fichiers .mdf et de changer "Copy to output directory" en "Copy if newer"

Sébastien FERRAND (
blog)
Consultant Indépendant
[Microsoft MVP Visual C#]
0
Stryx31 Messages postés 5 Date d'inscription mercredi 27 juillet 2005 Statut Membre Dernière intervention 30 novembre 2006
29 nov. 2006 à 12:03
Re bonjour,
Je n'ai pas trouvé le pramètre qui permet s'inhiber cette copie de la BDD à chaque éxécution du programme sous vs2005. J'ai vs2005  c# et sql server 2005 tous les deux en version Express, peut-être que cette fonction n'éxiste pas sur ces versions?

merci
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Stryx31 Messages postés 5 Date d'inscription mercredi 27 juillet 2005 Statut Membre Dernière intervention 30 novembre 2006
30 nov. 2006 à 14:09
Bon ben j'ai trouvé où était ce paramètre, bien sûr je cherchais du mauvais côté...

Merci
0
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
30 nov. 2006 à 14:15
lol... ca arrive... la fatigue fait des ravages ces temps ci ;)

Sébastien FERRAND (
blog)
Consultant Indépendant
[Microsoft MVP Visual C#]
0
Rejoignez-nous