Jag har hittat ett par felaktigheter.
objRS.Open "tblArticle2", objConn, , , adCMdTable
Du öppnar ett recordset som innehåller hela tabellen tblArticle2. Jag förstår inte varför du gör det. Ta bort den raden.
strSQL = "SELECT * FROM tblArticle2 WHERE eNumber = '" & iEnumber & "'"
objConn.Execute strSQL,,128
Det du gör är att ställa en SQL-fråga, och be om att inte få tillbaka ett recordset. Så skriver man när man exekverar frågor som inte returnerar ett recordset, exempelvis INSERT, UPDATE och DELETE.
Så här borde koden se ut:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>addSolar</title>
</head>
<body>
<%
Response.write("<div id=""myMess"">Vänta, skriver till databasen...</div>")
Response.write("<div id=""progress""></div>")
Response.Flush()
dim objConn, objRS, strLine, iEnumber, strCategory, strUnit, curPrice, strSQL, intCounter
intCounter = 0
set objFSO = Server.CreateObject("Scripting.Filesystemobject")
set objFile = objFSO.OpenTextFile (Server.MapPath("\prislistor\solarpris.txt"))
Set objConn = Server.CreateObject("ADODB.Connection")
ObjConn.Open = "DSN=Prislista"
while not objFile.atendofstream
intCounter = intCounter +1
if intCounter mod 100 = 0 then
Response.write ("<script>document.getElementById(""progress"").innerHTML=""" & intCounter & """;</script>")
Response.flush
end if
strLine = objFile.ReadLine
iEnumber = Replace(Trim(Mid(strLine, 6, 7)), "'", "''")
strArticlename = Replace(Trim(Mid(strLine, 18, 41)), "'", "''")
strUnit = Replace(Trim(Lcase(Mid(strLine, 64, 4))), "'", "''")
strSQL = "SELECT * FROM tblArticle2 WHERE eNumber = '" & iEnumber & "'"
[b]Set objRS = objConn.Execute strSQL[/b]
If objRS.EOF Then
strSQL = "INSERT INTO tblArticle2 (eNumber, articleName, articleUnit) VALUES ('" & iEnumber & "', '" & strArticleName & "', '" & strUnit & "')"
objConn.Execute strSQL,,128
End If
wend
objFile.close
set objFile = nothing
set objFSO = nothing
objRS.Close
Set objRS = nothing
objConn.Close
Set objConn = Nothing
Response.write("<script>document.getElementById(""myMess"").innerHTML=""Prislistan har lagrats i databasen! "";</script>")
%>
</body>
</html>
Mvh