begin process at 2012 05 28 09:55:59
  Trouver un code source :
 
dans
 
Accueil > Forum > 

ASP.NET

 > 

Base de données

 > 

MySQL

 > 

séparer un varchar avec un caractère


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

séparer un varchar avec un caractère

mardi 3 mars 2009 à 16:27:19 | séparer un varchar avec un caractère

polo86

bonjour,

Je réalise une application web asp en C# et avec mysql.
J'aimerais créer une procédure stockée qui reçoit en paramètre une chaine.
Cette chaine vient d'un textBox de recherche et est construite de la manière suivante:
par exemple la recherche est: pol dutro
donc la phrase passée en paramètre sera pol/dutro

Une fois dans la procedure stockée, j'aimerai reséparer les 2 mots dans ce cas (pol dutro) et boucler tant qu'il y a des mots pour faire un insert des champs correspondant dans une table temporaire, un code dans ce genre:

Code :
WHILE expression
INSERTINTO @tableTemp
SELECT * FROMTABLEWHERE nom LIKE'%param%'
end while;
voilà j'aimerai savoir ce qu'il faut utiliser pour couper la chaine séparée par le caractère '/' ainsi que l'expression pour sortir de la boucle.

merci
mercredi 4 mars 2009 à 15:48:06 | Re : séparer un varchar avec un caractère

polo86

J'ai créé une table temporary pcq ce n'est pas permis de faire DECLARE TABLE et changé tous les mots equi auraient pu être réservé mais j'ai toujours la même erreur:


You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Declare rech varchar(50); declare pos int; declare mot varchar(30)' at line 11

voici le code changé, pour information j'utilise EMS SQL Manager 2007 Lite for MySQL

Code :
CREATE DEFINER = CURRENT_USER PROCEDURE `GetSociete`(
IN SearchSociete VARCHAR(50),
INOUT HowManyResults INTEGER
)
NOT DETERMINISTIC
CONTAINS SQL
SQL SECURITY DEFINER
COMMENT ''
 
CREATE DEFINER = CURRENT_USER PROCEDURE `new_proc`(
IN SearchSociete VARCHAR(50),
OUT HowManyResults INTEGER(11)
)
NOT DETERMINISTIC
CONTAINS SQL
SQL SECURITY DEFINER
COMMENT ''
BEGIN
CREATETEMPORARYTABLE societeTemp (idSociete INT, nomSociete VARCHAR(50), dateCreSociete DATETIME, tvaSociete VARCHAR(30));
DECLARE rech VARCHAR(50);
DECLARE pos INT;
DECLARE mot VARCHAR(30);

/* searchSociete est une chaine reçu qui peut avoir plusieurs mots séparés par '/'
exemple: pol/dury/ */


SET rech = 'SearchSociete';
/*donne la position d'ou se trouve le caractère spécial*/
SET pos = LOCATE('/', rech);

/*boucle tant qu'il y a ce caractère dans la chaine*/
WHILE LOCATE('/', rech) DO

/*donne la position ou on se trouve avant le caractère spécial*/
SET pos = pos - 1;
/*affecte word au mot a gauche séparé par '/' */
SET mot = LEFT(rech, pos);

/*remplit la table temporaire */
INSERTINTO societeTemp SELECT * FROM'sct'
WHERE nom LIKE'%mot%'OR sct_num_tva LIKE'%mot%';

/*donne la position ou on se trouve après le caractère spécial*/
SET pos = pos + 2;
/*assigne search avec la valeur de la chaine qui se trouve à droite du caractère '/' */
SET rech = SUBSTRING(rech, pos);

end while;

SELECT HowManyResults = COUNT(*)FROM societeTemp;
/* renvoie le réusltat*/
SELECT * FROM societeTemp;

END;
Mercide vos solutions
mercredi 4 mars 2009 à 21:25:03 | Re : séparer un varchar avec un caractère

polo86

j'ai trouvé l'erreur, c'était en fait que le declare des variables doit être juste après le BEGIN et avec la CREATE TEMPORARY TABLE. Le problème n'est malheureusement pas fini car j'ai maintenant une autre erreur.

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'sct'
where sct_nom like '%$mot%' or sct_num_tva like '%$mot%';
*/d at ligne 31 (end while


J'ai testé le where avec et sans $ mais rien n'y change.

merci des propositions


Cette discussion est classée dans : caractère, chaine, séparer, pol, dutro


Répondre à ce message

Sujets en rapport avec ce message

Problème avec ASPSmartUpload [ par nours ] Bonjour,J'utilise ASPSmartUpload sur mon intranet.J'aurais besoin de Stocker le contenu du fichier que j'upload dans une bas de données. Le composant Recherche chaine de caractère [ par onha ] OnhaBonjour a vous tous.J'ai une base sous access.(table1).J'ai une page en 1.htm pour recherche de nom.J'ai une page en 1.asp ou je voudrais qu'il a Chaine caractère + saut de ligne [ par wico2002 ] J'aimerais faire une chaine de caractère comportant des sauts de ligne servant dans un email, par exemple:nom: ...e-mail:...commentaire: ...bref struc <%#DataBinder.Eval(Container.DataItem, "mavar")%> [ par dmanceau ] En utilisant cette instruction sur une DataGrid pour récupérer une chaine de caractère, ça ne se passe pas très bien quand je veux passer cette chaine Manipulation de chaine de caractère -----//Trés urgent//------ [ par darkange31 ] bonjour,Voila! comment (en ASP) réafficher un texte saisi au préalable dans un formulaire en mettant uniquement les voyelles en gras?Je vous remercie problème chaine de caractère [ par lenneth666 ] Je voulais savoir s'il été possible lors de l'affichage a l'ecran d'une chaine de caractère de le faire dans une couleur spécifique.Je pense dejà conn Pb avec une chaine de caractères... [ par Tribute2U ] Bonjour.Voila mon problème,j e récupère une chaine de caractère contenant le prénom et le nom de l'utilisateur avec un espace entre les 2 (ex:"Bill Ga Extraction de caractère dans une chaine [ par croco83 ] Salut!Je suis débutante en asp et je voudrai savoir s'il existe une fonction qui permet de savoir si un caractère est présent dans une chaine ou pas.S Couper une chaine sans pour autant couper les mots [ par dadamagouil ] Le titre est assez clair mais je m'explique Je voudrais couper une chaine sans couper le dernier mot. Faudrait que je prenne par exemple 80 caractèr cryptage chaine de caractère [ par vinsator ] Bonjour,Après plusieurs recherches sur ce site ou ailleurs sans résultats convaincants, je me permet de vous solliciter.J'ai besoin de crypter une cha


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
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 : 4,914 sec (3)

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