bonsoir,
lors du remplissage d"une table comment je peux implémenter cette expression
1 veréfier que une ville est déja enregistré
2- Si Oui, on génère un message "l'enregistrement existe déjà".
3- Si Non, on valide.
merci
bonsoir,
lors du remplissage d"une table comment je peux implémenter cette expression
1 veréfier que une ville est déja enregistré
2- Si Oui, on génère un message "l'enregistrement existe déjà".
3- Si Non, on valide.
merci
il suffit de faire un SELECT COUNT(*) FROM la_table WHERE <les critères qui vont bien>
si ça renvoie 0 => OK
sinon => il existe déjà
merci,
je vois pas comment appliquer SELECT COUNT,
MERCI
En utilisant des SqlCommand (si ta table est dans une base SQL Server).
pour la saisie de ma table j'ai utiliser une requete paramatrée
ce que je cherche c'est comment veux veréfier que une ID_project est déja enregistré
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 // Chaîne de connexion string connectString = @"Data Source=xxxx\SQLEXPRESS;Initial Catalog=hafid;Integrated Security=True"; // Objet connection SqlConnection connection = new SqlConnection(connectString); // Ouverture connection.Open(); SqlCommand command = new SqlCommand("INSERT INTO [Table_Project]([ID_project],[Project Category],[kick off date],[Location]) VALUES(@ID_project,@Project_Category, @kick_off_date,@Location)", connection); // Paramètres command.Parameters.Add(new SqlParameter("@ID_project", SqlDbType.NVarChar, 50)); command.Parameters.Add(new SqlParameter("@Project_Category", SqlDbType.NVarChar, 50)); command.Parameters.Add(new SqlParameter("@kick_off_date", SqlDbType.NVarChar, 50)); command.Parameters.Add(new SqlParameter("@Location", SqlDbType.NVarChar, 50)); command.Parameters["@ID_project"].Value = textBox_project_name.Text; command.Parameters["@Project_Category"].Value = comboBox1.Text; command.Parameters["@Location"].Value = comboBox2.Text; command.Parameters["@kick_off_date"].Value = textBox_Date.Text; command.ExecuteNonQuery();
2- Si Oui, on génère un message "l'enregistrement existe déjà".
3- Si Non, on valide.
merci
apparemment tu sais exécuter une requête, qu'est-ce qui te gêne pour faire un SELECT COUNT ?
est ce que je dois remplacer ma requete INSERT INTO par SELECT COUNT ?
oui, et adapter les paramètres, et utiliser ExecuteScalar à la place de ExecuteNonQuery
vous pouvez nous donner un exemple de votre select count(*) ?
pour tester l'existence d'un enregistrement !!
Bonsoir,
Un truc du genre devrait fonctionner :
Je ne sais pas ce qui est le moins gourmand entre un count() et un select tout court.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 SqlCommand command = new SqlCommand("SELECT [ID_project] FROM [Table_Project] WHERE [ID_project] = @ID_project", connection); // Paramètres command.Parameters.Add(new SqlParameter("@ID_project", SqlDbType.NVarChar, 50)); command.Parameters["@ID_project"].Value = textBox_project_name.Text; SqlDataReader reader = command.ExecuteReader(); if (reader.HasRows) Console.Write("Enregistrement existant"); else //Autre action
Bonne soirée
Merci pour votre rèponse johnjohn33 , mais est ce que je peux avoir un exemple simple qui test l'existence double d'un enregistrement sans les paremetrs !!!!
Bonjour,
On peut tester à priori si une ville n'existe pas. Mais, si l'appli est multiutilisateur, un autre utilisateur pourra avoir créée la ville entre le test et l'enregistrement. Donc, le test préalable ne dispense pas de gérer l'erreur d'ajout d'une ville existante, erreur liée aux contraintes de la base de donnée.
En général, on n'effectue pas de test préalable et on affiche un message d'erreur en cas de violation de contrainte (ajout d'une clé dèjà existante).
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager