begin process at 2012 02 17 09:14:51
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Base de Donnees

 > FONCTION POUR RÉSOUDRE LE PROBLÈME DES APOSTROPHES AVEC LES REQUETES SQL

FONCTION POUR RÉSOUDRE LE PROBLÈME DES APOSTROPHES AVEC LES REQUETES SQL


 Information sur la source

Note :
1,25 / 10 - par 4 personnes
1,25 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Base de Donnees Source .NET ( DotNet ) Niveau :Débutant Date de création :21/02/2004 Vu :10 303

Auteur : mestari

Ecrire un message privé
Site perso
Commentaire sur cette source (19)
Ajouter un commentaire et/ou une note

 Description

Remplacera les (') des textes saisis par les utilisateurs par un (`)
regardez plutot simple mais utile (en tout cas pour moi)

Source

  • Public Function Correct(ByVal txt As String) As String
  • 'verif des apostrophes
  • If txt.IndexOf("'") > -1 Then
  • Dim str(txt.Length - 1) As String
  • Dim i As Int32
  • 'je vide pour pouvoir remplir aprés
  • For I = 0 To txt.Length - 1
  • Str(I) = txt.Chars(I)
  • If str(i).ToString = "'" Then str(i) = "`" 'je corrige le texte
  • Next
  • txt = ""
  • For i = 0 To str.Length - 1
  • txt &= str(i) 'je remets le texte dans sa place
  • Next
  • End If
  • Return txt
  • End Function
Public Function Correct(ByVal txt As String) As String
        'verif des apostrophes
        If txt.IndexOf("'") > -1 Then
            Dim str(txt.Length - 1) As String
            Dim i As Int32
            'je vide pour pouvoir remplir aprés

            For I = 0 To txt.Length - 1
                Str(I) = txt.Chars(I)
                If str(i).ToString = "'" Then str(i) = "`" 'je corrige le texte
            Next
            txt = ""
            For i = 0 To str.Length - 1
                txt &= str(i) 'je remets le texte dans sa place
            Next
        End If
        Return txt

    End Function



 Sources du même auteur

Source avec Zip Source .NET (Dotnet) FILECUT V2.1 POUR DÉCOUPER PUIS RASSEMBLER N'IMPORTE QUEL FI...
Source avec Zip Source .NET (Dotnet) CALCULATEUR DE BITRATE POUR LA COMPRESSION VIDÉO ET AUDIO
Source avec Zip Source .NET (Dotnet) NE RESTEZ PAS A ATTENDRE POUR POUVOIRE ETEINDRE VOTRE PC IL ...

 Sources de la même categorie

Source avec Zip Source avec une capture BIEN ADMINISTRER LES ETUDIANTS ET LEURS CÔTES par okosa
Source avec Zip VBA EXEL GESTION DE PERSONEL NOUVEAU CONTRAT DE TRAVAI par oudlarbi
Source avec Zip Source avec une capture CREATION D'UN OBJET D'ACCÈS AUX DONNÉES par okosa
Source avec Zip Source .NET (Dotnet) MISAHORAIRE par MdelM
Source avec Zip Source avec une capture BASEDEDONNEES,GESTIONDEMALADES,DATABASSE par shadkitenge

Commentaires et avis

Commentaire de Nix le 21/02/2004 11:44:41 administrateur CS

oulalala
La même chose en 1 ligne

txt= txt.Replace("'","'")

C'est pas optimisé du tout ce que tu fais là

Commentaire de Dromax le 22/02/2004 13:47:29

Bin t passé avant moi.

J'allais te sugerer la meme chose !!!

Commentaire de mestari le 22/02/2004 14:36:39

Merci les gars pour votre interet , je tiens à rapeller pour ma defense que cette fonction a été ecrit vers 3h du mat donc! Mais pour me faire pardonner cette con.. je déposerais bientot une source complete
Merci encore

Commentaire de Disicom le 23/02/2004 08:42:49

idem : Text1= Replace(Text1, "'", " ")

c'est com même plus facile mais bon chacun sont truc lol

++

Bonne continuation

Commentaire de Bazinou le 23/02/2004 10:06:00

Petite rem. : tu peux conserver ton apostrophe au lieu de le remplacer par un espace ou autre chose : tu le doubles, au final il en y aura qu'un dans ta chaine une fois ta requête SQL exécutée.

Pour ma part je connaissais pas non plus le Replace (oups ...c'est pourtant basic), donc cool pour l'info.

Commentaire de Nix le 23/02/2004 12:32:58 administrateur CS

En fait je pense qu'il ne parle pas de remplacer une apostrophe "standard" mais une apostrophe "à l'envers" par une "vraie apostrophe"
Car l'apostrophe "à l'envers" est utilisée dans certains cas et qui posent des pb dans certains cas (j'ai déjà eu le cas).
Donc son idée est bonne mais faite à la façon VB5 en .NET car dans VB5 il n'y avait pas de replace si je me souviens bien :p

Commentaire de mastercatz le 23/02/2004 14:33:27

Ca reste quand meme du pourquoi faire simple quand on peut faire compliqué ^^

Commentaire de mastercatz le 23/02/2004 14:45:17

Ca reste quand meme du pourquoi faire simple quand on peut faire compliqué ^^

Commentaire de Berurier le 30/04/2004 15:28:44

+simple
ex : Requete selection

Dim Source as string

chaine="L'arbre"

source=" Select * from toto where name ="+chr(34)+chaine+chr(34)

Commentaire de Dromax le 30/04/2004 16:28:39

C koi ce char(34) ?
Peut tu donner des details ?

Commentaire de Berurier le 01/05/2004 08:26:26

Salut,

C'est vrai que j'aurai pu en dire plus....

fonction chr()
Renvoie une valeur de type String contenant le caractère associé au code de caractère indiqué.

34 , c'est le code de ".

Tu evites ainsi les combinaison comme "'" ou autre double quote....

ansi source=select * from famille where nom="L'arbre"

j'espère avoir répondu à ta question.

Commentaire de Dromax le 01/05/2004 09:34:37

Ah ok merci bcp

Commentaire de rob29 le 02/08/2006 15:29:48

moi j'ai un problème similaire mais que je n'arrive pas à résoudre avec cette fonction :

test = "Réservoir d'eau"
test = Replace(test, "''", "'")

sqlAEP21 = "SELECT Sum([RequêteMontantSubvention1].[Montant1]) AS Total
FROM Dossier INNER JOIN RequêteMontantSubvention1 ON [Dossier].[NoDossier]=[RequêteMontantSubvention1].[NoDossier]
WHERE ((([Dossier].[NatureGlobaleTravauxAEP])='test'));"

Set rs = CurrentDb.OpenRecordset(sqlAEP21)
AEP21.Value = rs.Fields(0).Value
rs.Close

Quelqu'un peut-il m'aider svp ????

Commentaire de mastercatz le 02/08/2006 15:46:08

WHERE ((([Dossier].[NatureGlobaleTravauxAEP])='test'));"
Tu peux enlever le ; à la fin de ta requete sql.
Concue comme ca ta requete va utiliser le mot test pour le Where, il faut uqe tu utilise la variable plutot.

Commentaire de rob29 le 02/08/2006 15:48:44

ben j'ai mis sa à la fin de ma requête WHERE ([Dossier].[NatureGlobaleTravauxAEP])= '" & test & "';"
mais il y a un message d'erreur : opérateur absent.
je suis perdu

Commentaire de mastercatz le 02/08/2006 16:35:19

WHERE ([Dossier].[NatureGlobaleTravauxAEP] = '" & test & "')"
si tu n'englobe pas le test dans les () ca ne sert a rien

Commentaire de apaulux le 31/01/2007 18:01:18

PaScript : Editeur de bases de données
http://multibases.site.voila.fr/index.html

sqlAEP21 = "SELECT Sum([RequêteMontantSubvention1].[Montant1]) AS Total"
sqlAEP21=sqlAEP21 & " FROM Dossier INNER JOIN RequêteMontantSubvention1 ON [Dossier].[NoDossier]=[RequêteMontantSubvention1].[NoDossier]"
sqlAEP21=sqlAEP21 & " WHERE ((([Dossier].[NatureGlobaleTravauxAEP]) like " & Chr(34) & "E10" & Chr(34) &  "))"

Set rs = CurrentDb.OpenRecordset(sqlAEP21)

Commentaire de apaulux le 31/01/2007 18:04:04

sqlAEP21 = "SELECT Sum([RequêteMontantSubvention1].[Montant1]) AS Total"
sqlAEP21=sqlAEP21 & " FROM Dossier INNER JOIN RequêteMontantSubvention1 ON [Dossier].[NoDossier]=[RequêteMontantSubvention1].[NoDossier]"
sqlAEP21=sqlAEP21 & " WHERE ((([Dossier].[NatureGlobaleTravauxAEP]) like " & Chr(34) & test & Chr(34) &  "))"

Set rs = CurrentDb.OpenRecordset(sqlAEP21)

Commentaire de hippo92210b le 12/02/2007 11:33:47

moi il me mais a un moment (can je veu executer mon programme) "La classe Form1 peut être conçue, mais il ne s'agit pas de la première classe du fichier. Visual Studio requiert que les concepteurs utilisent la première classe du fichier. Déplacez le code de la classe afin qu'il s'agisse de la première classe du fichier et essayez de recharger le concepteur."

 Ajouter un commentaire




Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

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,577 sec (4)

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