DÉCOMPOSEUR / RECOMPOSEUR DE REQUÊTE SQL

cs_monstermax Messages postés 36 Date d'inscription jeudi 28 mars 2002 Statut Membre Dernière intervention 5 décembre 2002 - 4 avril 2003 à 20:12
TeDeum Messages postés 21 Date d'inscription mercredi 8 mai 2002 Statut Membre Dernière intervention 8 janvier 2008 - 5 avril 2003 à 00:11
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/6598-decomposeur-recomposeur-de-requete-sql

TeDeum Messages postés 21 Date d'inscription mercredi 8 mai 2002 Statut Membre Dernière intervention 8 janvier 2008 1
5 avril 2003 à 00:11
Oui, mais pour certaines base de données(comme SQL, ORACLE ou SAGE) tu ne peux pas utiliser ce code. Car il n'est pas géré par le driver ODBC de celles ci.
cs_monstermax Messages postés 36 Date d'inscription jeudi 28 mars 2002 Statut Membre Dernière intervention 5 décembre 2002
4 avril 2003 à 20:12
salut, ce code peut servir, mais personelement quand il y a beaucoup de champs à mettre à jour ou à inserer, je conseille de ne pas utiliser une "connection" mais un "recordset" ouverte avec le bon curseur :

set rs = createobject("Scripting.FileSystemObject")
' ou (si les references VB sont bien renseignées)
' dim rs as new Scripting.FileSystemObject

' De memoire il me semble que ce sont ces valeurs là :
rs.CursorLocation = 3
rs.CursorType = 2
rs.LockType = 3

rs.open "SELECT * FROM ma_table WHERE ma_condition"
if not rs.eof then
' ajoute une ligne si aucune ligne n'est trouvée
rs.addnew
end if
rs("mon_champ_1") = ma_valeur1
rs("mon_champ_2") = ma_valeur2
rs("mon_champ_3") = ma_valeur3
' ...
rs.update
rs.close
set rs = nothing

' j'ai ecris ce code de tete, sans le tester. Il se peut qu'il y ait des erreurs. Mais en tout cas j'utilise cette technique très souvent.
Cela permet de ne pas avoir une requete "UPDATE" ou "INSERT" de 3 kilometres