D'une manière générale, ce SQL ne convient que pour une utilisation sur de petites bases de données. La boucle en ASP est également inefficace. Il est préférable de ne pas l'utiliser dans de grandes bases de données. S'il s'agit d'une grande base de données, veuillez contacter le prince pour demander une autre requête SQL rédigée par un expert. La fonction est la suivante : utilisez un mot-clé comme index, recherchez dans toute la base de données, puis renvoyez le nom de la table et le nom de la colonne où se trouve ce mot-clé. (C'est génial...surtout quand on ne trouve pas la table où se trouvent le nom d'utilisateur et le mot de passe lors de l'intrusion. Si vous pouvez retrouver directement les champs en saisissant le mot-clé admin...vous n'avez pas besoin de regarder chaque table une par une.) Donc, sur la base de cette déclaration, j'ai écrit un script asp pour faciliter la recherche dans la base de données à l'avenir.
Le code est le suivant :
Copiez le code comme suit :
<%
'Confirmer la position d'un mot-clé dans une base de données (quelle table et quelle colonne)
'Par oldjun(http://www.oldjun.com)
'Basé sur le SQL de Huangzi (http://www.2chuizi.com)
Serveur.ScriptTimeout=999999999
Réponse.Buffer =true
En cas d'erreur, reprendre ensuite
mot clé = demande (mot clé)
si mot clé = alors
réponse.write Besoin d'un mot-clé !
réponse.Fin
Terminer si
faible connexion
Définir conn = Server.CreateObject (ADODB.Connection)
DimConnStr
'ConnectionString, veuillez changer !
ConnStr=Driver={SQL SERVER};Serveur=localhost;UID=sa;PWD=sa;Base de données=maître
Conn.open ConnStr
conn.execute (CREATE TABLE huangzi_table (id int identité (1,1), biaoid int, biaoname nvarchar (1000)))
conn.execute (insérer huangzi_table select [id], [name] à partir des sysobjects où xtype='U')
set rs = conn.execute (sélectionnez count (id) comme tnum depuis huangzi_table)
tnum=rs(tnum)
rs.fermer
définir rs = rien
pour i=1 à tnum
set rsbiao =conn.execute (sélectionnez biaoid dans huangzi_table où id=&i&)
biaoïde=rsbiao(biaoïde)
set rst =conn.execute (sélectionnez [biaoname] dans huangzi_table où biaoid=&biaoid&)
tname=rst(biaoname)
définir rsl=conn.execute(select count([name]) comme lnum à partir de syscolumns où id=&biaoid&)
lnum=rsl(lnum)
pour j=1 à lnum
topnum=j-1
set rslie=conn.execute (sélectionnez le premier [nom] dans les colonnes système où id=&biaoid& et [nom] ne figurent pas
(sélectionnez top &topnum& [name] dans les colonnes système où id=&biaoid&))
liename=rslie(nom)
set rsresult=conn.execute(sélectionnez le top 1 [&liename&] à partir de [&tname&] où CAST([&liename&] AS NVARCHAR(1000))='&keyword&')
si rsresult.bof ou rsresult.eof alors
'response.write Nothing-&tname&:&lienname
'response.write <br>
autre
result=rsresult(nom du lien)
réponse.écrire le résultat&(&tname&:&liename&)
réponse.écrire <br>
Terminer si
rslie.close
setrslie = rien
résultat.close
définir rsresult = rien
suivant
rsbiao.close
setrsbiao = rien
d'abord.fermer
setrst = rien
rsl.close
définir rsl = rien
suivant
conn.execute (DROP TABLE huangzi_table)
%>
Remarque : L'efficacité est très faible et une animation suspendue peut se produire lors de son utilisation. Veuillez patienter. Il est préférable de ne pas utiliser la grande bibliothèque. Le code est simple et implémente des fonctions simples sans contenu technique. Il y a un problème de mise en cache lors de la modification de l'instruction de connexion. Il est recommandé de redémarrer le navigateur !