webForumDet fria alternativet

Textfil istället för databas?

ASP

18 svar · 382 visningar · startad av Skywalker

Medlem sedan jan. 20012 437 inlägg
Frågan#1

Är det nån som har ett enkelt exempel på hur man använder en tabbseparerad textfil istället för en databas?

Jag är ute efter att på en sida kunna söka i textfilen och på en andra sida kunna se resultatet..
-Enkelt med en Accessbas, men hur gör man med en textfil??

Medlem sedan dec. 19996 522 inlägg
#2

Ett tipps. Pearl är väldigt bra för hantering av text filer. Kan vara värt att titta på om du vill ha en optimal lösning.

------------------
1 Man, 1 Million dead, The odds are just about even - Ash

Medlem sedan jan. 20012 437 inlägg
#3

erka: Det går inte med perl i mitt fall. Endast ASP.

Medlem sedan juni 200032 967 inlägg
#4

du kan faktiskt koppla textfiler med odbc, så det kan vara ett alternativ.

annars kan du ju använda filesystemobject och lite strängfunktioner (instr() till exempel) för att få ut det du vill ha.

mvh,

------------------
<A HREF="http://cartman.nu" TARGET=_blank>
can i borrow your goat?
</A>

[Redigerat av @nders den 19 jun 2001]

Medlem sedan jan. 20012 437 inlägg
#5

@nders: ...vilket i praktiken innebär :q ;)

Medlem sedan jan. 20012 437 inlägg
#6

ingen?

Medlem sedan dec. 19998 577 inlägg
#7

Du kan läsa mer om hur man öppnar textfilen här: http://www.devguru.com/Technologies/vbscript/quickref/filesystemobject_opentextfile.html

Och för att hitta en tabb i den så letar du efter vbtab

------------------
Vide rox = new Vide();
rox.learn("C#");

webeye.nu

Medlem sedan juni 200032 967 inlägg
#8

birp, förlåt att jag bara sitter och håller tyst.

jag märkte helt enkelt inte att du hade svarat. hur går det? har du löst alltihop mha länk aus videmannen?

------------------
<A HREF="http://cartman.nu" TARGET=_blank>
can i borrow your goat?
</A>

Medlem sedan jan. 20012 437 inlägg
#9

Jag har inte löst det...

Jag kommer heller inte att klara det utan ett enkelt litet kodexempel är jag rädd :(

Medlem sedan juni 200032 967 inlägg
#10

nåt sånt härnt kanske? ;)

set objFSO = Server.CreateObject ("Scripting.FileSystemObject")
set objTFile = objFSO.OpenTextFile(Server.MapPath("filen.txt"))

while not objTFile.atendofstream

strFileLine = objTFile.readline
varFileInfo = split (strFileLine, vbTab)

'säg att jag ska söka igenom den tredje kolumnen i filen

if instr(varFileInfo(2), Request.Form("search")) > 0 then
' jippi här hittade vi någe skoj!
end if

wend

set objTFile = Nothing
set objFSO = Nothing

mvh,

------------------
<A HREF="http://cartman.nu" TARGET=_blank>
can i borrow your goat?
</A>

Medlem sedan jan. 20012 437 inlägg
#11

Du får låna min get.. :)

Jag ska kolla i morron på jobbet där min 10.7MB tunga textfil med 26 kolumner ligger ;)

Tack så länge @nders!!

Medlem sedan jan. 20012 437 inlägg
#12

Fattar som vanligt inte... :(

Medlem sedan juni 200032 967 inlägg
#13

vad?

------------------
<A HREF="http://cartman.nu" TARGET=_blank>
can i borrow your goat?
</A>

Medlem sedan jan. 20012 437 inlägg
#14

Allt... Jag är puckad!

Medlem sedan juni 200032 967 inlägg
#15

ok, två sidor, en med sökformuläret på och en som sköter sökningen.

1:

' - - - söksidan - - -

<form action="searchresults.asp" method="post">
<input type="text" name="search">
<input type="submit" value="sök">
</form>

2:

' - - - resultatsidan - searchresults.asp - - -

<%
set objFSO = Server.CreateObject ("Scripting.FileSystemObject")
set objTFile = objFSO.OpenTextFile(Server.MapPath("filen.txt"))
while not objTFile.atendofstream

strFileLine = objTFile.readline
varFileInfo = split (strFileLine, vbTab)

'säg att jag ska söka igenom den tredje kolumnen i filen

if instr(varFileInfo(2), Request.Form("search")) > 0 then
' jippi här hittade vi någe skoj!
response.write "kol1: " & varFileInfo (0) & ", kol2: " & varFileInfo (1) & ", kol3: " & varFileInfo(2) & "<br>"
end if

wend

set objTFile = Nothing
set objFSO = Nothing
%>

svårt att lära gamla hundar vb-script, kanske? ;)

------------------
<A HREF="http://cartman.nu" TARGET=_blank>
can i borrow your goat?
</A>

Medlem sedan juni 200032 967 inlägg
#16

och förresten, filen.txt byter du givetvis ut till namnet på den fil du vill söka igenom.

mvh,

------------------
<A HREF="http://cartman.nu" TARGET=_blank>
can i borrow your goat?
</A>

Medlem sedan jan. 20012 437 inlägg
#17

Nja... Det funkar ändå inte.
Felmeddelande:

Körningsfel i Microsoft VBScript (0x800A0009)
Felaktigt matrisindex: '[number: 2]'
/intranet/searchresults.asp, line 10

Kan det va fel på min textfil måntro?
Så här är den uppbygd:

4	95120	951207014	7014	32227014	I802B		2		2	3222		350		1	U	U95120	81 18964 1,5 5V	970603	AG			1			0	0
5	95120	951207013	7013	32227013	I802B		3		2	3222		350		1	U	U95120	81 18964 1,5 5V	807	t			1			0	0
8	95120	951207105	7105	32227105	G902F		6		2	3222		0		1	K	K95120	81  CC 2DR RÍD					1			0	0
9	95120	951207105	7105	32227105	G902F		7		2	3222		0		1	K	K95120	81  CC 2DR RÍD					1			0	0
10	95120	951207021	7021	32227021	20		8	DAMASK SK	2	3222		500		1	M	M95120	81 18964 1,5 5V	980430	AG			1			0	0
11	95120	951207022	7022	32227022	20		9	DAMASK SK	2	3222		0		1	M	M95120	81 18964 1,5 5V					1			0	0
17	95120	951207040	7040	32227040	465H		15		2	3222		700		1	M	M95120	81 18964 1,5 5V	970831	T			1			0	0
20	95120	951201015	1015	32221015	H39		17		2	3222		0		1	K	K95120	81  CC 2DR RÍD					1			0	0
21	95120	951208010	8010	32228010	J1203		18		2	3222		0		1	M	M95120	81 18964 1,5 5V					1			0	0
26	95120	951201003	1003	32221003	I200		22	HÍ FR	2	3222		0		1	K	K95120	81  CC 2DR RÍD					1			0	0
28	95120	951201002	1002	32221002	H200		24	LITE SK	2	3222		250		1	K	K95120	81  CC 2DR RÍD	970910	T			1			0	0

Ursäkta att jag sabbar tråden nu ;)

[Redigerat av Skywalker den 20 jun 2001]

Medlem sedan dec. 19995 874 inlägg
#18

Koden fungerar perfekt.

<%
set objFSO = Server.CreateObject ("Scripting.FileSystemObject")
set objTFile = objFSO.OpenTextFile(Server.MapPath("filen.txt"))

while not objTFile.atendofstream 
	strFileLine = objTFile.readline
	varFileInfo = split (strFileLine, vbTab) 

	if instr(varFileInfo(2), "951207014") > 0 then
		response.write "kol1: " & varFileInfo (0) & ", kol2: " & varFileInfo (1) & ", kol3: " & varFileInfo(2) & "<br>"
	end if 

wend 

set objTFile = Nothing
set objFSO = Nothing
%>

Tänk på att split (strFileLine, vbTab) splittar för tabb. Alltså, måste det vara tabbulerat mellan varje kolumn. Det skall inte vara mellanslag.

Provkör gärna:

Textfilen: http://194.236.61.46/test/bire/filen.txt
Koden: http://194.236.61.46/test/bire/filen1.asp

------------------
Mvh
Patrik aka Brimba
<A HREF="http://www.brimba.nu/default.asp?oPID=poll&PollID=19" TARGET=_blank>Skulle du äta på restaurang, om det var rökförbud?
</A>Varför blir mina isbitar inte lika klara som i reklamen?

[Redigerat av Brimba den 20 jun 2001]

Medlem sedan jan. 20012 437 inlägg
#19

Nu är det nära.. Mailar hem filerna o fortsätter i lugn o ro!

Återkommer med största sannolikhet i ärendet ;) Haha..

263 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
126 ms — deklarationer (db)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)