chr(34) et sqlite

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Avatar de l’utilisateur
omega
Messages : 633
Inscription : sam. 26/nov./2011 13:04
Localisation : Alger

chr(34) et sqlite

Message par omega »

C'est bizarre... J'ai remarqué que CHR(34) n'est pas toujours obligatoire mais ce que je ne comprends pas c'est
dans quel cas elle devient obligatoire... Bon je vais donner un exemple ppuir mieux me faire comprendre.

Pour ajouter un enregistrement dans une table (base sqlite), on fait généralement comme ça:

Code : Tout sélectionner

Wsql="INSERT into MaTable (Nom,Prenom,Age) Values ("
Wsql+ CHR(34) + wNom$      + CHR(34) + ","
Wsql+ CHR(34) + wPrenoms$ + CHR(34) + ","
Wsql+ CHR(34) + wAge$       + CHR(34) + ")"
CheckDataBaseUpdate(0,Wsql)
Ici, les variables à insérer sont toutes précédées et suivies par CHR(34)

De même, pour modifier ou supprimer des enregistrements:

Code : Tout sélectionner

Wsql="Update MaTable Set Age=" + CHR(34) + wAge$  + CHR(34) 
Wsql+                " WHERE Nom=" + CHR(34) + "Titi"    + CHR(34)
CheckDataBaseUpdate(0,Wsql)
Même ici, toutes les variables sont précédées et suivies par CHR(34)

Ce que je viens de constater aujourd'hui , c'est ce code qui a marché le plus normalement du monde.

Code : Tout sélectionner

wNom$="toto"
Wsql="Delete from MaTable WHERE Nom=" + wNom$
CheckDataBaseUpdate(0,Wsql)
Pourtant, il ne contient pas de CHR(34).... et il fonctionne bien.

Quelqu'un veut bien m'éclairer?

Merci beaucoup



















[/code]
Win7 (x64) 64 bits Pb 5.72
Avatar de l’utilisateur
falsam
Messages : 7324
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: chr(34) et sqlite

Message par falsam »

Code : Tout sélectionner

wNom$="toto"
Wsql="Delete from MaTable WHERE Nom=" + wNom$
CheckDataBaseUpdate(0,Wsql)
Essayes avec wNom$ = "l'artiste"
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Répondre