Im Allgemeinen ist dieses SQL nur für die Verwendung in kleinen Datenbanken geeignet. Es ist besser, es nicht in großen Datenbanken zu verwenden. Wenn es sich um eine große Datenbank handelt, wenden Sie sich bitte an den Prinzen, um eine weitere von einem Experten verfasste SQL-Abfrageanweisung anzufordern. Die Funktion lautet: Verwenden Sie ein Schlüsselwort als Index, durchsuchen Sie die gesamte Datenbank und geben Sie dann den Tabellennamen und den Spaltennamen zurück, in denen sich dieses Schlüsselwort befindet. (Es ist großartig ... vor allem, wenn Sie die Tabelle, in der sich der Benutzername und das Passwort während des Eindringens befinden, nicht finden können. Wenn Sie die Felder direkt finden können, indem Sie das Schlüsselwort admin eingeben ... müssen Sie nicht nachschauen (jede Tabelle einzeln.) Basierend auf dieser Aussage habe ich ein ASP-Skript geschrieben, um das Durchsuchen der Datenbank in Zukunft zu erleichtern.
Der Code lautet wie folgt:
Kopieren Sie den Codecode wie folgt:
<%
'Bestätigen Sie die Position eines Schlüsselworts in einer Datenbank (welche Tabelle und welche Spalte).
'Von oldjun(http://www.oldjun.com)
'Basierend auf dem SQL von Huangzi (http://www.2chuizi.com).
Server.ScriptTimeout=999999999
Response.Buffer =true
Bei Fehler Weiter fortsetzen
keyword=Anfrage(Schlüsselwort)
wenn keyword= dann
Response.write Schlüsselwort erforderlich!
Antwort.Ende
Ende wenn
schwacher Anschluss
Setze conn = Server.CreateObject(ADODB.Connection)
DimConnStr
'ConnectionString, bitte ändern!
ConnStr=Driver={SQL SERVER};Server=localhost;UID=sa;PWD=sa;Database=master
Conn.open ConnStr
conn.execute(CREATE TABLE huangzi_table(id int Identity(1,1),biaoid int,biaoname nvarchar(1000)))
conn.execute(insert huangzi_table select [id],[name] from sysobjects where xtype='U')
set rs =conn.execute(select count(id) as tnum from huangzi_table)
tnum=rs(tnum)
rs.close
setze rs=nichts
für i=1 bis tnum
set rsbiao =conn.execute(select biaoid from huangzi_table where id=&i&)
biaoid=rsbiao(biaoid)
set rst =conn.execute(select [biaoname] from huangzi_table where biaoid=&biaoid&)
tname=rst(biaoname)
set rsl=conn.execute(select count([name]) as lnum from syscolumns where id=&biaoid&)
lnum=rsl(lnum)
für j=1 bis lnum
topnum=j-1
set rslie=conn.execute(select top 1 [name] from syscolumns where id=&biaoid& and [name] not in
(wählen Sie top &topnum& [name] aus den Systemspalten aus, wobei id=&biaoid& ist))
liename=rslie(name)
set rsresult=conn.execute(select top 1 [&liename&] from [&tname&] where CAST([&liename&] AS NVARCHAR(1000))='&keyword&')
wenn rsresult.bof oder rsresult.eof dann
'response.write Nothing-&tname&:&liename
'response.write <br>
anders
result=rsresult(liename)
Response.write result&(&tname&:&liename&)
Antwort.write <br>
Ende wenn
rslie.close
setrslie=nichts
rsresult.close
Setze rsresult=nothing
nächste
rsbiao.close
setrsbiao=nichts
Erst.schließen
setrst=nichts
rsl.close
setze rsl=nichts
nächste
conn.execute(DROP TABLE huangzi_table)
%>
Hinweis: Die Effizienz ist sehr schlecht und es kann zu einer Unterbrechung der Animation kommen. Es ist besser, die große Bibliothek nicht zu verwenden. Der Code ist für die zukünftige Verwendung reserviert. Beim Ändern der Verbindungsanweisung liegt ein Caching-Problem vor. Es wird empfohlen, den Browser neu zu starten!