begin process at 2010 03 22 01:48:23
  Trouver un code source :
 
dans
 
Accueil > Forum > 

ASP.NET

 > 

Base de données

 > 

SQL Server

 > 

EVITER DOUBLONS lors d'insertion de données


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

EVITER DOUBLONS lors d'insertion de données

vendredi 29 août 2008 à 11:06:31 | EVITER DOUBLONS lors d'insertion de données

issousam

Bonjour,

je voudrais savoir comment eviter la redondance de données dans ma table lors d'INSERT.
J'ai essayé en definissant une contrainte d'unicité UNIQUE sur le champ mais le problème est que dés qu'il veut inserer une données qui existe déjà -> il ne le fait pas (jusque là TOUT VA BIEN) mais le problème est qu'il arrete l'instruction et donc arrete d'inserer la suite des données.

Voila le code :

if not exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[LOGICIEL]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
 BEGIN
CREATE TABLE [dbo].[LOGICIEL] (
 [id_logiciel] [int] IDENTITY (1, 1) NOT NULL ,
 [nom_logiciel] [text] NOT NULL UNIQUE,
 [is_os] [text] NOT NULL,
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
END

GO

ALTER TABLE [dbo].[LOGICIEL] WITH NOCHECK ADD
 CONSTRAINT [PK_LOGICIEL] PRIMARY KEY  CLUSTERED
 (
  [id_logiciel]
 )  ON [PRIMARY]


et le code permettant de me connecter à la base de données (fichier .cs)

using (SqlConnection cn = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectString"].ToString())) { 
      SqlCommand cmd; string maRequete;
      maRequete = "INSERT INTO dbo.LOGICIEL(nom_logiciel,is_os) VALUES (@BDD_newL,'"+BDD_os+"')";
      cmd = new SqlCommand(maRequete,cn);
      cmd.Parameters.Add(new SqlParameter("@BDD_newL", SqlDbType.VarChar, 512));
      cmd.Parameters["@BDD_newL"].Value = BDD_newL;
      cn.Open();
      SqlDataReader rdr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
}


Voila !!!

L'erreur que j'obtiens est : Violation de la contrainte UNIQUE KEY 'UQ_LOGICIEL_4119A21D' Impossible d'inserer une cle en double dans l'objet 'dbo.LOGICIEL'.
L'instruction a été arrété

SI vous avez une idée, Merci de me repondre !!!



Cette discussion est classée dans : données, logiciel, id, cmd, dbo


Répondre à ce message

Sujets en rapport avec ce message

Paramètres de procédure stockée "perdus" ? [ par jo1975 ] Sur une page asp (pas asp.net), je voulais remplacé des requêtes par une procédure stockées dans SQL Server, mais à l'éxécution, j'ai une erreur qui c plusieurs Boutons dans 1 gridview c# [ par Sabine25 ] Bonjour,voilà j ai créé un gridview en ASP et j y ai mis 2 buttonfield: Un pour supprimer, un pour mettre à jour!J utilise pas la DeleteCommand, parce problème récupération d'un text [ par lenneth666 ] arf je suis débutant avec les datagrid alros dsl si j'innonde le forum avec mes messages.Voila mon problème, une fois que je suis passé un mode éditio C# ASP.Net et base de données (récuperation de données) [ par ghano81 ] bnjour comment recuperer une valeur null(base de données crée en sql server2005) de la base de donnés en c# ?string constring = <font color="#008080 GridView et ClientScript Register [ par bigchiefs ] Bonjour,       ca va faire déjà plusieurs jours que je me creuse les méninges à trouver une solution et j'espère trouver ici. J'ai une application web Récupération de données textes à partir d'une page ASP, URL [ par ldevun ] Bonjour,Je souhaite récupérer les données textes à partir d'une base de données libre de droit et gratuite en ASP.Je souhaiterais récupérer toutes les Récupération données textes à partir URL page ASP [ par ldevun ] Bonjour,Je souhaite récupérer les données textes à partir d'une base de données libre de droit et gratuite en ASP.Je souhaiterais récupérer toutes les probleme execution d'une requete SELECT (tres bizarre :S) [ par silverseb ] bonjour, j'ai un probleme tres etrange j'ai beau cherché je ne comprend pas ce qu'il se passe. je m'explique J'ai une fonction rendID qui retourne un ExecuteNonQuery() [ par youss45 ] Salut tout le monde, voila je veux metter ds ma datagrid un boutton update , quand je l'active il m'envoie  l' erreur suivant  <font color="#ff0000" f Récupérer des données d'une base [ par MaKirby ] Bonjour, J'ai un petit problème concernant la récupération de données à partir d'une base de données SQLServer. Je voudrais récupérer certaines donn


Nos sponsors


Sondage...

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,468 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales