Stryx31
Messages postés5Date d'inscriptionmercredi 27 juillet 2005StatutMembreDernière intervention30 novembre 2006
-
21 nov. 2006 à 12:59
sebmafate
Messages postés4936Date d'inscriptionlundi 17 février 2003StatutMembreDernière intervention14 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é...
sebmafate
Messages postés4936Date d'inscriptionlundi 17 février 2003StatutMembreDernière intervention14 février 201437 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...
Stryx31
Messages postés5Date d'inscriptionmercredi 27 juillet 2005StatutMembreDernière intervention30 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
Vous n’avez pas trouvé la réponse que vous recherchez ?