Un code pratique qui permet de mettre à jour des milliers de lignes simultanément. Cet exemple montre comment mettre à jour plusieurs lignes en même temps avec une chaîne aléatoire par exemple.
Source / Exemple :
<%@LANGUAGE="VBSCRIPT"%>
<html>
<head>
<title>Insérer une chaîne aléatoire dans une base de données</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<%
' un code pratique qui permet de mettre à jour des milliers de lignes simultanément
' Fonction qui génère un code aléatoire
function code()
codealea = ""
' On mélange --> aléatoire
Randomize
For i = 1 to 8 ' <-- choisissez la longueur de la chaîne !
intNum = Int(10 * Rnd + 48)
intUpper = Int(26 * Rnd + 65)
intLower = Int(26 * Rnd + 97)
intRand = Int(3 * Rnd + 1)
Select Case intRand
Case 1
strCode = Chr(intNum)
Case 2
strCode = Chr(intUpper)
Case 3
strCode = Chr(intLower)
End Select
' strCode est composé de chiffres, minuscules et majucules. on ajoute un a un les réultats de strCode
codealea = codealea & strCode
Next
end function
' on fait la connection à la base
Set conn = Server.CreateObject("ADODB.Connection")
conn.open "votre_base","",""
' une requête simple pour écrire au bon endroit et compter le nombre de lignes
sql = "select * from table"
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open sql, conn, 3, 3
' Début de la boucle
rs.movefirst
do while not rs.eof
laligne = rs.fields("n") 'permet de mettre dans la variable laligne le bon numéro de ligne
' on appelle la fonction code()
code()
' une deuxième requête simple qui met à jour
sql2 = "UPDATE table SET le_champ = '" & codealea & "' where n like '"& laligne &"'"
Set rs2 = Server.CreateObject("ADODB.Recordset")
rs2.Open sql2, conn, 3, 3
rs.movenext
loop
' Fin de la boucle
response.write ("C'est fini") 'Voici une ligne complètement inutile, à part si vous n'êtes pas sûr que ça marche
%>
</body>
</html>
Conclusion :
Pensez à remplacer votre_base par le nom de votre base de données indiquée ds l'ODBC et les noms des champs de votre table (table, n).
Vous pouvez bien sûr mettre la chaîne de votre choix en remplaçant la ligne
code() par codealea = "ce_que_je_veux"
voilà !
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.