Précédent   Forum des professionnels en informatique > Bases de données > Décisions SGBD > Débuter
Débuter Forum d'entraide : Comment débuter en base de données ? Tutoriels SGBD
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 14/07/2008, 09h22   #1
Membre régulier
 
Inscription : août 2006
Messages : 60
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 60
Points : 79
Points : 79
Par défaut [SQL]Problème d'édition table.

Bonjour à tous !

Le SQL n'étant pas trop ma tasse de thé (les commandes de bases sont connus mais là le problème est un petit peu plus sérieux) j'ai une petite colle pour vous autres experts (ou moins) en la matière

J'ai une table contenant les champs guid,uguid,roles.
Les champs guid et uguid contiennent des int.
Le champ rôles quant à lui contient le nom des rôles (séparé par des espaces), exemple : "Interne Externe test".

Je souhaite modifier toutes les occurences de test pour transformer en test2 afin d'obtenir : "Interne Externe test2" mais je ne vois aucun moyen de le faire simplement.

SI quelqu'un à une suggestion je suis plus que preneur.

Merci d'avance.
Maldus est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/07/2008, 14h33   #2
Membre régulier
 
Inscription : août 2006
Messages : 60
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 60
Points : 79
Points : 79
J'ai fait avec une méthode simple mais assez lourde....

SI quelqu'un sait comment optimiser tout ca

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
 try
                {
                    SqlCommand vCommand = new SqlCommand("SELECT COUNT(*) FROM users_roles WHERE roles LIKE  @role_name", oConnexion);
                    SqlParameter param1 = vCommand.Parameters.ADD("@role_name", SqlDbType.VarChar, 50);
                    param1.Value = String.Format("%{0}%", temp_role);
                    int count_roles = (int)vCommand.ExecuteScalar(); ;
 
 
 
                    FOR (int i = 0; i < count_roles; i++)
                    {
                        SqlCommand xCommand = new SqlCommand("SELECT roles FROM users_roles WHERE roles LIKE  @role_name", oConnexion);
                        SqlParameter param2 = xCommand.Parameters.ADD("@role_name", SqlDbType.VarChar, 50);
                        param2.Value = String.Format("%{0}%", temp_role);
                        string roles_list = xCommand.ExecuteScalar().ToString();
                        roles_list = roles_list.REPLACE(temp_role, txt_name.Text);
 
                        SqlCommand bCommand = new SqlCommand("UPDATE users_roles SET roles = '" + roles_list + "' WHERE roles LIKE  @role_name", oConnexion);
                        SqlParameter param3 = bCommand.Parameters.ADD("@role_name", SqlDbType.VarChar, 50);
                        param3.Value = String.Format("%{0}%", temp_role);
                        bCommand.ExecuteNonQuery();
                    }
 
 
                }
Maldus est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h36.


 
 
 
 
Partenaires

Hébergement Web