Bonjour à tous,
suite au problème de simple côte et double côte en SQL
je croyais avoir résolu le problème.
Quand ma variable à utiliser dans le SQL contient une
simple côte, je l'encradre de double double côte et quand
elle contient une double côte je fais un replace.
Mais je viens de me heurter à un nouveau problème :
je sauve des mots de passe dans une base Access et je
les crypte pour que seul mon appli puisse les lire. Cela
marche bien sauf si le mot de passe crypté contient à la
fois une simple ET une double côte.
Là, cela plante ADO et impossible d'utiliser le replace.
Si quelqu'un a déjà eu le problème............
Bonjour à tous,
suite au problème de simple côte et double côte en SQL
je croyais avoir résolu le problème.
Quand ma variable à utiliser dans le SQL contient une
simple côte, je l'encradre de double double côte et quand
elle contient une double côte je fais un replace.
Mais je viens de me heurter à un nouveau problème :
je sauve des mots de passe dans une base Access et je
les crypte pour que seul mon appli puisse les lire. Cela
marche bien sauf si le mot de passe crypté contient à la
fois une simple ET une double côte.
Là, cela plante ADO et impossible d'utiliser le replace.
Si quelqu'un a déjà eu le problème............
Bonjour à tous,
suite au problème de simple côte et double côte en SQL
je croyais avoir résolu le problème.
Quand ma variable à utiliser dans le SQL contient une
simple côte, je l'encradre de double double côte et quand
elle contient une double côte je fais un replace.
Mais je viens de me heurter à un nouveau problème :
je sauve des mots de passe dans une base Access et je
les crypte pour que seul mon appli puisse les lire. Cela
marche bien sauf si le mot de passe crypté contient à la
fois une simple ET une double côte.
Là, cela plante ADO et impossible d'utiliser le replace.
Si quelqu'un a déjà eu le problème............
Bonjour à tous,
suite au problème de simple côte et double côte en SQL
je croyais avoir résolu le problème.
Quand ma variable à utiliser dans le SQL contient une
simple côte, je l'encradre de double double côte et quand
elle contient une double côte je fais un replace.
Mais je viens de me heurter à un nouveau problème :
je sauve des mots de passe dans une base Access et je
les crypte pour que seul mon appli puisse les lire. Cela
marche bien sauf si le mot de passe crypté contient à la
fois une simple ET une double côte.
Là, cela plante ADO et impossible d'utiliser le replace.
Si quelqu'un a déjà eu le problème............
Dany
Bonjour à tous,
suite au problème de simple côte et double côte en SQL
je croyais avoir résolu le problème.
Quand ma variable à utiliser dans le SQL contient une
simple côte, je l'encradre de double double côte et quand
elle contient une double côte je fais un replace.
Mais je viens de me heurter à un nouveau problème :
je sauve des mots de passe dans une base Access et je
les crypte pour que seul mon appli puisse les lire. Cela
marche bien sauf si le mot de passe crypté contient à la
fois une simple ET une double côte.
Là, cela plante ADO et impossible d'utiliser le replace.
Si quelqu'un a déjà eu le problème............
Dany
Bonjour à tous,
suite au problème de simple côte et double côte en SQL
je croyais avoir résolu le problème.
Quand ma variable à utiliser dans le SQL contient une
simple côte, je l'encradre de double double côte et quand
elle contient une double côte je fais un replace.
Mais je viens de me heurter à un nouveau problème :
je sauve des mots de passe dans une base Access et je
les crypte pour que seul mon appli puisse les lire. Cela
marche bien sauf si le mot de passe crypté contient à la
fois une simple ET une double côte.
Là, cela plante ADO et impossible d'utiliser le replace.
Si quelqu'un a déjà eu le problème............
Dany
dans : news:44be54d2$0$5515$,
Daniel AUBRY écrivait :
> Bonjour à tous,
Bonjour,
> suite au problème de simple côte et double côte en SQL
> je croyais avoir résolu le problème.
> Quand ma variable à utiliser dans le SQL contient une
> simple côte, je l'encradre de double double côte et quand
> elle contient une double côte je fais un replace.
> Mais je viens de me heurter à un nouveau problème :
> je sauve des mots de passe dans une base Access et je
> les crypte pour que seul mon appli puisse les lire. Cela
> marche bien sauf si le mot de passe crypté contient à la
> fois une simple ET une double côte.
> Là, cela plante ADO et impossible d'utiliser le replace.
>
> Si quelqu'un a déjà eu le problème............
Beaucoup l'ont eu.
Et la seule solution valable pour y remédier c'est d'utiliser la
collection Parameters de l'objet Command.
Et surtout ne jamais faire de concaténation.
Au passage, cela résout également d'autres problèmes, comme la mise en
forme des dates.
La technique de concaténation est la cible de tous les pirates en herbe
:-)
C'est ce qui est connu sous le nom de SQL Injection.
--
Fred
http://www.cerbermail.com/?3kA6ftaCvT
dans : news:44be54d2$0$5515$626a54ce@news.free.fr,
Daniel AUBRY écrivait :
> Bonjour à tous,
Bonjour,
> suite au problème de simple côte et double côte en SQL
> je croyais avoir résolu le problème.
> Quand ma variable à utiliser dans le SQL contient une
> simple côte, je l'encradre de double double côte et quand
> elle contient une double côte je fais un replace.
> Mais je viens de me heurter à un nouveau problème :
> je sauve des mots de passe dans une base Access et je
> les crypte pour que seul mon appli puisse les lire. Cela
> marche bien sauf si le mot de passe crypté contient à la
> fois une simple ET une double côte.
> Là, cela plante ADO et impossible d'utiliser le replace.
>
> Si quelqu'un a déjà eu le problème............
Beaucoup l'ont eu.
Et la seule solution valable pour y remédier c'est d'utiliser la
collection Parameters de l'objet Command.
Et surtout ne jamais faire de concaténation.
Au passage, cela résout également d'autres problèmes, comme la mise en
forme des dates.
La technique de concaténation est la cible de tous les pirates en herbe
:-)
C'est ce qui est connu sous le nom de SQL Injection.
--
Fred
http://www.cerbermail.com/?3kA6ftaCvT
dans : news:44be54d2$0$5515$,
Daniel AUBRY écrivait :
> Bonjour à tous,
Bonjour,
> suite au problème de simple côte et double côte en SQL
> je croyais avoir résolu le problème.
> Quand ma variable à utiliser dans le SQL contient une
> simple côte, je l'encradre de double double côte et quand
> elle contient une double côte je fais un replace.
> Mais je viens de me heurter à un nouveau problème :
> je sauve des mots de passe dans une base Access et je
> les crypte pour que seul mon appli puisse les lire. Cela
> marche bien sauf si le mot de passe crypté contient à la
> fois une simple ET une double côte.
> Là, cela plante ADO et impossible d'utiliser le replace.
>
> Si quelqu'un a déjà eu le problème............
Beaucoup l'ont eu.
Et la seule solution valable pour y remédier c'est d'utiliser la
collection Parameters de l'objet Command.
Et surtout ne jamais faire de concaténation.
Au passage, cela résout également d'autres problèmes, comme la mise en
forme des dates.
La technique de concaténation est la cible de tous les pirates en herbe
:-)
C'est ce qui est connu sous le nom de SQL Injection.
--
Fred
http://www.cerbermail.com/?3kA6ftaCvT
Bonjour,
je dois être très fatigué, et peut-être mon VB aussi ...
depuis des années, je remplace les "" par deux ", et je n'ai jamais
eu de problème.
Qu'ai je loupé dans le problème posé?
Bonjour,
je dois être très fatigué, et peut-être mon VB aussi ...
depuis des années, je remplace les "" par deux ", et je n'ai jamais
eu de problème.
Qu'ai je loupé dans le problème posé?
Bonjour,
je dois être très fatigué, et peut-être mon VB aussi ...
depuis des années, je remplace les "" par deux ", et je n'ai jamais
eu de problème.
Qu'ai je loupé dans le problème posé?
dans : news:,
SAISAS écrivait :Bonjour,
Bonjour,je dois être très fatigué, et peut-être mon VB aussi ...
depuis des années, je remplace les "" par deux ", et je n'ai jamais
eu de problème.
Cela fonctionne, je n'ai pas voulu dire le contraire. Quoique pour moi, le
délimiteur de chaînes en SQL, c'est plutôt l'apostophe, mais je ne
travaille pas avec access. Cette remarque m'incite encore plus à utiliser
les paramètres :-)Qu'ai je loupé dans le problème posé?
Le problème, c'est qu'on n'est jamais très sûr de ne rien avoir loupé !
Comme Daniel le faisait remarquer, il utilisait une technique jamais mise
en défaut jusqu'au cas particulier.
Si je préfère utiliser les paramètres, c'est pour ne pas avoir à me
soucier de tous ces problèmes, et tout simplement parce que ce travail que
tu fais avec des replace, il est déjà fait dans les moteurs d'accès aux
données.
Ainsi, si tu ajoutes un paramètre de type chaîne, les séparateurs seront
automatiquement «échappés», quels qu'ils soient.
Si tu ajoutes un réel, tu n'as pas à remplacer le point par une virgule ou
le contraire.
Si tu ajoutes une date, elle sera intégrée dans la requête au bon format
et avec la bonne origine de temps (il me semble que cela peut varier).
Un booléen sera transformé de manière adéquat également.
Il y a certainement encore beaucoup d'exemples auxquels je ne pense pas
et auxquels je ne souhaite pas penser :-)
Voilà. Je tenais surtout à signaler que tout ce travail a déjà été fait !
--
Fred
http://www.cerbermail.com/?3kA6ftaCvT
dans : news:56E09815-7A44-4307-9D57-CBF8D7A6D17D@microsoft.com,
SAISAS écrivait :
Bonjour,
Bonjour,
je dois être très fatigué, et peut-être mon VB aussi ...
depuis des années, je remplace les "" par deux ", et je n'ai jamais
eu de problème.
Cela fonctionne, je n'ai pas voulu dire le contraire. Quoique pour moi, le
délimiteur de chaînes en SQL, c'est plutôt l'apostophe, mais je ne
travaille pas avec access. Cette remarque m'incite encore plus à utiliser
les paramètres :-)
Qu'ai je loupé dans le problème posé?
Le problème, c'est qu'on n'est jamais très sûr de ne rien avoir loupé !
Comme Daniel le faisait remarquer, il utilisait une technique jamais mise
en défaut jusqu'au cas particulier.
Si je préfère utiliser les paramètres, c'est pour ne pas avoir à me
soucier de tous ces problèmes, et tout simplement parce que ce travail que
tu fais avec des replace, il est déjà fait dans les moteurs d'accès aux
données.
Ainsi, si tu ajoutes un paramètre de type chaîne, les séparateurs seront
automatiquement «échappés», quels qu'ils soient.
Si tu ajoutes un réel, tu n'as pas à remplacer le point par une virgule ou
le contraire.
Si tu ajoutes une date, elle sera intégrée dans la requête au bon format
et avec la bonne origine de temps (il me semble que cela peut varier).
Un booléen sera transformé de manière adéquat également.
Il y a certainement encore beaucoup d'exemples auxquels je ne pense pas
et auxquels je ne souhaite pas penser :-)
Voilà. Je tenais surtout à signaler que tout ce travail a déjà été fait !
--
Fred
http://www.cerbermail.com/?3kA6ftaCvT
dans : news:,
SAISAS écrivait :Bonjour,
Bonjour,je dois être très fatigué, et peut-être mon VB aussi ...
depuis des années, je remplace les "" par deux ", et je n'ai jamais
eu de problème.
Cela fonctionne, je n'ai pas voulu dire le contraire. Quoique pour moi, le
délimiteur de chaînes en SQL, c'est plutôt l'apostophe, mais je ne
travaille pas avec access. Cette remarque m'incite encore plus à utiliser
les paramètres :-)Qu'ai je loupé dans le problème posé?
Le problème, c'est qu'on n'est jamais très sûr de ne rien avoir loupé !
Comme Daniel le faisait remarquer, il utilisait une technique jamais mise
en défaut jusqu'au cas particulier.
Si je préfère utiliser les paramètres, c'est pour ne pas avoir à me
soucier de tous ces problèmes, et tout simplement parce que ce travail que
tu fais avec des replace, il est déjà fait dans les moteurs d'accès aux
données.
Ainsi, si tu ajoutes un paramètre de type chaîne, les séparateurs seront
automatiquement «échappés», quels qu'ils soient.
Si tu ajoutes un réel, tu n'as pas à remplacer le point par une virgule ou
le contraire.
Si tu ajoutes une date, elle sera intégrée dans la requête au bon format
et avec la bonne origine de temps (il me semble que cela peut varier).
Un booléen sera transformé de manière adéquat également.
Il y a certainement encore beaucoup d'exemples auxquels je ne pense pas
et auxquels je ne souhaite pas penser :-)
Voilà. Je tenais surtout à signaler que tout ce travail a déjà été fait !
--
Fred
http://www.cerbermail.com/?3kA6ftaCvT
Ok Fred mais il y a une chose que je n'ai pas
pigé.
Si Parameters = auto replace que devient ma côte ou
ma double côte quand je lis l'enregistrement.
En attendant, plutôt que de sauver les caractères, je sauve leur
codes ascii ce qui pour un mot de passe de 8 caractères maximum me
genère une donnée de 24 caractères.
Je crois que je vais m'en contenter, cela marche bien.
Ok Fred mais il y a une chose que je n'ai pas
pigé.
Si Parameters = auto replace que devient ma côte ou
ma double côte quand je lis l'enregistrement.
En attendant, plutôt que de sauver les caractères, je sauve leur
codes ascii ce qui pour un mot de passe de 8 caractères maximum me
genère une donnée de 24 caractères.
Je crois que je vais m'en contenter, cela marche bien.
Ok Fred mais il y a une chose que je n'ai pas
pigé.
Si Parameters = auto replace que devient ma côte ou
ma double côte quand je lis l'enregistrement.
En attendant, plutôt que de sauver les caractères, je sauve leur
codes ascii ce qui pour un mot de passe de 8 caractères maximum me
genère une donnée de 24 caractères.
Je crois que je vais m'en contenter, cela marche bien.
dans : news:44c0ee43$0$19143$,
Daniel AUBRY écrivait :Ok Fred mais il y a une chose que je n'ai pas
pigé.
Si Parameters = auto replace que devient ma côte ou
ma double côte quand je lis l'enregistrement.
Rien à craindre. Tout es transparent. Le contenu de ta base sera
exactement ce que tu as dans la variable que tu passes en paramètre :
c'est l'intérêt de la chose :-)En attendant, plutôt que de sauver les caractères, je sauve leur
codes ascii ce qui pour un mot de passe de 8 caractères maximum me
genère une donnée de 24 caractères.
C'est une solution.
pourquoi 24 ? Tu mets des espaces ?
J'aurais dit 16 : 2 chiffres hexa pour chaque caractère.Je crois que je vais m'en contenter, cela marche bien.
À l'occasion, jette tout de même un ½il aux paramètres. Une fois qu'on a
pigé le truc, je t'assure qu'on gagne du temps !
--
Fred
foleide at free.fr
dans : news:44c0ee43$0$19143$626a54ce@news.free.fr,
Daniel AUBRY écrivait :
Ok Fred mais il y a une chose que je n'ai pas
pigé.
Si Parameters = auto replace que devient ma côte ou
ma double côte quand je lis l'enregistrement.
Rien à craindre. Tout es transparent. Le contenu de ta base sera
exactement ce que tu as dans la variable que tu passes en paramètre :
c'est l'intérêt de la chose :-)
En attendant, plutôt que de sauver les caractères, je sauve leur
codes ascii ce qui pour un mot de passe de 8 caractères maximum me
genère une donnée de 24 caractères.
C'est une solution.
pourquoi 24 ? Tu mets des espaces ?
J'aurais dit 16 : 2 chiffres hexa pour chaque caractère.
Je crois que je vais m'en contenter, cela marche bien.
À l'occasion, jette tout de même un ½il aux paramètres. Une fois qu'on a
pigé le truc, je t'assure qu'on gagne du temps !
--
Fred
foleide at free.fr
dans : news:44c0ee43$0$19143$,
Daniel AUBRY écrivait :Ok Fred mais il y a une chose que je n'ai pas
pigé.
Si Parameters = auto replace que devient ma côte ou
ma double côte quand je lis l'enregistrement.
Rien à craindre. Tout es transparent. Le contenu de ta base sera
exactement ce que tu as dans la variable que tu passes en paramètre :
c'est l'intérêt de la chose :-)En attendant, plutôt que de sauver les caractères, je sauve leur
codes ascii ce qui pour un mot de passe de 8 caractères maximum me
genère une donnée de 24 caractères.
C'est une solution.
pourquoi 24 ? Tu mets des espaces ?
J'aurais dit 16 : 2 chiffres hexa pour chaque caractère.Je crois que je vais m'en contenter, cela marche bien.
À l'occasion, jette tout de même un ½il aux paramètres. Une fois qu'on a
pigé le truc, je t'assure qu'on gagne du temps !
--
Fred
foleide at free.fr
Merci,
je serai bien preneur d'un petit bout d'soft exemple.
A tout hasard.............
Merci,
je serai bien preneur d'un petit bout d'soft exemple.
A tout hasard.............
Merci,
je serai bien preneur d'un petit bout d'soft exemple.
A tout hasard.............
dans : news:44c130e4$0$19138$,
Daniel AUBRY écrivait :Merci,
je serai bien preneur d'un petit bout d'soft exemple.
A tout hasard.............
Ici un exemple :
http://msdn.microsoft.com/library/en-us/ado270/htm/mdmthappendx.asp
Je n'ai pas vb6 sous la main pour tester des variantes mais je crois me
souvenir qu'il y en a.
Dans cet exemple, la méthode peut se décomposer comme suit :
création d'un paramètre en le nommant, en donnant son type et sa direction
affectation d'une valeur à ce paramètre
ajout du paramètre à la collection de paramètres de la commande.
Toujours de mémoire, en OleDb Access, les paramètres sont simplement
spécifiés par des points d'interrogation. Donc dans ce cas, je pense que
le nom donné au paramètre est simplement ignoré. Mais pas l'ordre dans
lequel ils sont insérés.
Ton code pourrait donner quelque chose du genre :
Dim cmd as New ADODB.Command
Dim prm as ADODB.Parameter
cmd.CommandText = "UPDATE pwdtable SET pwd=? WHERE id=?;"
cmd.CommandType = adCmdText
Set prm=cmd.CreateParameter("toto", adString, adParamInput)
prm.Value=laVariableQuiContientLeCryptage
cmd.Parameters.Append prm
Set prm=cmd.CreateParameter("titi", adInteger, adParamInput)
prm.Value=laVariableQuiContientLaClé
cmd.Parameters.Append prm
'ouverture de la connexion et
cmd.Execute
J'espère que ce n'est pas trop buggé. Bonne lecture.
--
Fred
foleide at free.fr
dans : news:44c130e4$0$19138$626a54ce@news.free.fr,
Daniel AUBRY écrivait :
Merci,
je serai bien preneur d'un petit bout d'soft exemple.
A tout hasard.............
Ici un exemple :
http://msdn.microsoft.com/library/en-us/ado270/htm/mdmthappendx.asp
Je n'ai pas vb6 sous la main pour tester des variantes mais je crois me
souvenir qu'il y en a.
Dans cet exemple, la méthode peut se décomposer comme suit :
création d'un paramètre en le nommant, en donnant son type et sa direction
affectation d'une valeur à ce paramètre
ajout du paramètre à la collection de paramètres de la commande.
Toujours de mémoire, en OleDb Access, les paramètres sont simplement
spécifiés par des points d'interrogation. Donc dans ce cas, je pense que
le nom donné au paramètre est simplement ignoré. Mais pas l'ordre dans
lequel ils sont insérés.
Ton code pourrait donner quelque chose du genre :
Dim cmd as New ADODB.Command
Dim prm as ADODB.Parameter
cmd.CommandText = "UPDATE pwdtable SET pwd=? WHERE id=?;"
cmd.CommandType = adCmdText
Set prm=cmd.CreateParameter("toto", adString, adParamInput)
prm.Value=laVariableQuiContientLeCryptage
cmd.Parameters.Append prm
Set prm=cmd.CreateParameter("titi", adInteger, adParamInput)
prm.Value=laVariableQuiContientLaClé
cmd.Parameters.Append prm
'ouverture de la connexion et
cmd.Execute
J'espère que ce n'est pas trop buggé. Bonne lecture.
--
Fred
foleide at free.fr
dans : news:44c130e4$0$19138$,
Daniel AUBRY écrivait :Merci,
je serai bien preneur d'un petit bout d'soft exemple.
A tout hasard.............
Ici un exemple :
http://msdn.microsoft.com/library/en-us/ado270/htm/mdmthappendx.asp
Je n'ai pas vb6 sous la main pour tester des variantes mais je crois me
souvenir qu'il y en a.
Dans cet exemple, la méthode peut se décomposer comme suit :
création d'un paramètre en le nommant, en donnant son type et sa direction
affectation d'une valeur à ce paramètre
ajout du paramètre à la collection de paramètres de la commande.
Toujours de mémoire, en OleDb Access, les paramètres sont simplement
spécifiés par des points d'interrogation. Donc dans ce cas, je pense que
le nom donné au paramètre est simplement ignoré. Mais pas l'ordre dans
lequel ils sont insérés.
Ton code pourrait donner quelque chose du genre :
Dim cmd as New ADODB.Command
Dim prm as ADODB.Parameter
cmd.CommandText = "UPDATE pwdtable SET pwd=? WHERE id=?;"
cmd.CommandType = adCmdText
Set prm=cmd.CreateParameter("toto", adString, adParamInput)
prm.Value=laVariableQuiContientLeCryptage
cmd.Parameters.Append prm
Set prm=cmd.CreateParameter("titi", adInteger, adParamInput)
prm.Value=laVariableQuiContientLaClé
cmd.Parameters.Append prm
'ouverture de la connexion et
cmd.Execute
J'espère que ce n'est pas trop buggé. Bonne lecture.
--
Fred
foleide at free.fr
dans : news:44c130e4$0$19138$,
Daniel AUBRY écrivait :
> Merci,
>
> je serai bien preneur d'un petit bout d'soft exemple.
> A tout hasard.............
Ici un exemple :
http://msdn.microsoft.com/library/en-us/ado270/htm/mdmthappendx.asp
Je n'ai pas vb6 sous la main pour tester des variantes mais je crois me
souvenir qu'il y en a.
Dans cet exemple, la méthode peut se décomposer comme suit :
création d'un paramètre en le nommant, en donnant son type et sa
direction
affectation d'une valeur à ce paramètre
ajout du paramètre à la collection de paramètres de la commande.
Toujours de mémoire, en OleDb Access, les paramètres sont simplement
spécifiés par des points d'interrogation. Donc dans ce cas, je pense que
le nom donné au paramètre est simplement ignoré. Mais pas l'ordre dans
lequel ils sont insérés.
Ton code pourrait donner quelque chose du genre :
Dim cmd as New ADODB.Command
Dim prm as ADODB.Parameter
cmd.CommandText = "UPDATE pwdtable SET pwd=? WHERE id=?;"
cmd.CommandType = adCmdText
Set prm=cmd.CreateParameter("toto", adString, adParamInput)
prm.Value=laVariableQuiContientLeCryptage
cmd.Parameters.Append prm
Set prm=cmd.CreateParameter("titi", adInteger, adParamInput)
prm.Value=laVariableQuiContientLaClé
cmd.Parameters.Append prm
'ouverture de la connexion et
cmd.Execute
J'espère que ce n'est pas trop buggé. Bonne lecture.
--
Fred
foleide at free.fr
dans : news:44c130e4$0$19138$626a54ce@news.free.fr,
Daniel AUBRY écrivait :
> Merci,
>
> je serai bien preneur d'un petit bout d'soft exemple.
> A tout hasard.............
Ici un exemple :
http://msdn.microsoft.com/library/en-us/ado270/htm/mdmthappendx.asp
Je n'ai pas vb6 sous la main pour tester des variantes mais je crois me
souvenir qu'il y en a.
Dans cet exemple, la méthode peut se décomposer comme suit :
création d'un paramètre en le nommant, en donnant son type et sa
direction
affectation d'une valeur à ce paramètre
ajout du paramètre à la collection de paramètres de la commande.
Toujours de mémoire, en OleDb Access, les paramètres sont simplement
spécifiés par des points d'interrogation. Donc dans ce cas, je pense que
le nom donné au paramètre est simplement ignoré. Mais pas l'ordre dans
lequel ils sont insérés.
Ton code pourrait donner quelque chose du genre :
Dim cmd as New ADODB.Command
Dim prm as ADODB.Parameter
cmd.CommandText = "UPDATE pwdtable SET pwd=? WHERE id=?;"
cmd.CommandType = adCmdText
Set prm=cmd.CreateParameter("toto", adString, adParamInput)
prm.Value=laVariableQuiContientLeCryptage
cmd.Parameters.Append prm
Set prm=cmd.CreateParameter("titi", adInteger, adParamInput)
prm.Value=laVariableQuiContientLaClé
cmd.Parameters.Append prm
'ouverture de la connexion et
cmd.Execute
J'espère que ce n'est pas trop buggé. Bonne lecture.
--
Fred
foleide at free.fr
dans : news:44c130e4$0$19138$,
Daniel AUBRY écrivait :
> Merci,
>
> je serai bien preneur d'un petit bout d'soft exemple.
> A tout hasard.............
Ici un exemple :
http://msdn.microsoft.com/library/en-us/ado270/htm/mdmthappendx.asp
Je n'ai pas vb6 sous la main pour tester des variantes mais je crois me
souvenir qu'il y en a.
Dans cet exemple, la méthode peut se décomposer comme suit :
création d'un paramètre en le nommant, en donnant son type et sa
direction
affectation d'une valeur à ce paramètre
ajout du paramètre à la collection de paramètres de la commande.
Toujours de mémoire, en OleDb Access, les paramètres sont simplement
spécifiés par des points d'interrogation. Donc dans ce cas, je pense que
le nom donné au paramètre est simplement ignoré. Mais pas l'ordre dans
lequel ils sont insérés.
Ton code pourrait donner quelque chose du genre :
Dim cmd as New ADODB.Command
Dim prm as ADODB.Parameter
cmd.CommandText = "UPDATE pwdtable SET pwd=? WHERE id=?;"
cmd.CommandType = adCmdText
Set prm=cmd.CreateParameter("toto", adString, adParamInput)
prm.Value=laVariableQuiContientLeCryptage
cmd.Parameters.Append prm
Set prm=cmd.CreateParameter("titi", adInteger, adParamInput)
prm.Value=laVariableQuiContientLaClé
cmd.Parameters.Append prm
'ouverture de la connexion et
cmd.Execute
J'espère que ce n'est pas trop buggé. Bonne lecture.
--
Fred
foleide at free.fr