det jag vill göra är att öppna en textfil.
läsa den första raden som läggs in i variabeln granne.
variabeln används sedan som urval i en sql-fråga.
sen om recordset har värde i BOF så går jag vidare på sidans kod.
om värde inte finns så vill jag ha taxtfilen 2:a värde.
Trodde att jag klurat ut det hela men jag har fått följande fel:
Error Type:
Microsoft VBScript compilation (0x800A0400)
Expected statement
/hardox/uk/stock.asp, line 83
Och koden ser ut så här:
sqlsats med standardvärde... som läggs i "rs"...
' sen följer det med...
Do until rs.BOF = True
rs.close 'stänger recordset så att en ny fresh kan jobba nedan
db.close 'stänger databasen så att en ny fresh kan jobba nedan
Dim txt_country3, txtfil3, granne
SET fso=CreateObject("scripting.FileSystemObject")
set txtFil3 = fso.OpenTextFile(server.mappath("./")"\grannar.txt")
'txt_country3=txtFil3.ReadLine
While not txtfil3.AtEndOfStream
granne = txtfil3.ReadLine
SQL = "SELECT * FROM tblartiklarlager WHERE fltcountrycode = '" & granne &"'"
Set db = Server.CreateObject("ADODB.Connection")
db.Open "int_hardoxDSN"
Set rs = db.Execute (SQL)
IF rs.BOF = True Then
txtFil3.Close
ELSE
wend (rad 83)
loop
END IF
Det borde ju fungera eller är det något som jag inte riktigt har greppat av det andra kanske...
Nu har jag grottat runt lite och kommit lite längre (hoppas jag) :-) .
Men det verkar som jag bara klivit ur askan in i elden.
Så här ser det ut nu...
Felmeddelande:
Error Type:
Microsoft VBScript runtime (0x800A01A8)
Object required: 'ca'
/stock.asp, line 77
Kod:
Do until rs.BOF = true
' rs.close 'stänger recordset så att en ny fresh kan jobba nedan
' db.close 'stänger databasen så att en ny fresh kan jobba nedan
Dim txt_country3, txtfil3, granne
SET fso=CreateObject("scripting.FileSystemObject")
set txtFil3 = fso.OpenTextFile(server.mappath("./") & "\\grannar.txt")
txt_country3=txtFil3.ReadLine
While not txt_country3.AtEndOfStream rad 77
granne = txt_country3.ReadLine
SQL = "SELECT \* FROM tblartiklarlager WHERE fltcountrycode = '" & granne &"'"
Set db = Server.CreateObject("ADODB.Connection")
db.Open "int_hardoxDSN"
Set rs = db.Execute (SQL)
IF rs.BOF = false Then
txtFil3.Close
END IF
wend
njaej !? Det beror på att det är det första värdet på första raden i filen... "ca"
- Ja... det är i den filen.
När jag ändrar txt_country3 till txtfil3 så säger den samma sak om rad 79...
När jag sen ändrar den så ger den samma fel på rad 77 igen. Sen hoopar den fram och tillbaka på det viset hela tiden. MYSKO...
Jag hittade precis ett inlägg som du gjort tidigare där du läser in varje rad i en array. Ska ta och kolla på den lite... Men jag kommer med all säkerhet tillbaka i ämnet ganska så snart... :-)
Do until rs.BOF = true
' rs.close 'stänger recordset så att en ny fresh kan jobba nedan
' db.close 'stänger databasen så att en ny fresh kan jobba nedan
Dim txt_country3, txtfil3, granne
SET fso=CreateObject("scripting.FileSystemObject")
set txtFil3 = fso.OpenTextFile(server.mappath("./") & "\grannar.txt")
While not txtFil3.AtEndOfStream rad 77
granne = txt_country3.ReadLine
SQL = "SELECT * FROM tblartiklarlager WHERE fltcountrycode = '" & granne &"'"
Set db = Server.CreateObject("ADODB.Connection")
db.Open "int_hardoxDSN"
Set rs = db.Execute (SQL)
IF rs.BOF = false Then
txtFil3.Close
END IF
wend
loop
Fel:
set txtFil3 = fso.OpenTextFile(server.mappath("./") & "\grannar.txt")
txt_country3=txtFil3.ReadLine
While not txt_country3.AtEndOfStream rad 77
granne = txt_country3.ReadLine
Du försöker applicera .ReadLine på den sträng du lagt i variabeln txt_country3.
Använde mig dock av din tidigare arraykod. Så mitt slutresultat blev (för de som kanske har någe liknande bekymmer i framtiden samt en liten bkup till mig själv) :-) :
Do until rs.BOF = false
dim fso, text, textfil3, arrRows, counter
redim arrRows(1)
counter=0
set fso = CreateObject("Scripting.FileSystemObject")
set textfil3 = fso.OpenTextFile(server.mappath("./") & "\\grannar.txt",1, false)
while not textfil3.atendofstream
counter=counter+1
redim preserve arrRows(counter+1)
arrRows(counter) = textfil3.ReadLine
wend
textfil3.close
rs.close 'stänger recordset så att en ny fresh kan jobba nedan
db.close 'stänger databasen så att en ny fresh kan jobba nedan
rakna = rakna + 1
SQL = "SELECT * FROM tblartiklarlager WHERE fltcountrycode = '" & arrRows(rakna) &"'"
Set db = Server.CreateObject("ADODB.Connection")
db.Open "int_hardoxDSN"
Set rs = db.Execute (SQL)
if rs.bof = true then
'Response.Write "\[" &arrRows(rakna) &"\] is not valid either...\<br\>"
else
'Response.Write "\[" &arrRows(rakna) &"\] is valid\<br\>"
'testa = 1
end if
Do until rs.BOF = False 'om tidigare recset är falskt
Dim text, textfil3, arrRows
'öppna fil, läs in i array, stäng fil
Set fso = CreateObject("Scripting.FileSystemObject")
Set textfil3 = fso.OpenTextFile(server.mappath("./") & "\\grannar.txt",1, False)
text = textfil3.ReadAll
arrRows = split(text, vbCrLf)
textfil3.close
rs.close 'stänger recset så att en ny fresh kan jobba nedan
db.close 'stänger db så att en ny fresh kan jobba nedan
rakna = rakna + 1 'deklareras och tilldelas värdet 0 tidigare i koden
SQL = "SELECT * FROM tblartiklarlager WHERE fltcountrycode = '" & arrRows(rakna) &"'"
Set db = Server.CreateObject("ADODB.Connection")
db.Open "int_hardoxDSN"
Set rs = db.Execute (SQL)
Loop
262 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2