Har följande fil som läser in en textfil till en databas:
<%@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, strArticleSupplierId
strArticleSupplierId = 4
intCounter = 0
set objFSO = Server.CreateObject("Scripting.Filesystemobject")
set objFile = objFSO.OpenTextFile (Server.MapPath("\prislistor\ahlsellpris.txt"))
Set objConn = Server.CreateObject("ADODB.Connection")
ObjConn.Open = "DSN=IntranetSydostel"
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, 1, 8)), "'", "''")
strCategory = Replace(Trim(Mid(strLine, 17, 4)), "'", "''")
curPrice = Replace(Trim(Mid(strLine, 9, 8)), "'", "''")
'Först kör vi en UPDATE om artikeln redan finns
strSQL = "UPDATE tblPrice SET eNumber = '" & iEnumber & "', articleSupplierId = '" & strArticleSupplierId & "', articlePrice = " & curPrice & ", articleCategory = '" & strCategory & "' " &_
"WHERE eNumber = '" & iEnumber & "' AND articleSupplierId = '" & strArticleSupplierId & "'"
objConn.Execute strSQL, lngRA, 128
if lngRA = 0 then
'Ny artikel, gör INSERT
strSQL = "INSERT INTO tblPrice (eNumber, articleSupplierId, articlePrice, articleCategory) " &_
"VALUES ('" & iEnumber & "', '" & strArticleSupplierId & "', " & curPrice & ", '" & strCategory & "')"
objConn.Execute strSQL
End if
wend
objFile.close
set objFile = nothing
set objFSO = nothing
objConn.Close
Set objConn = Nothing
Response.write("<script>document.getElementById(""myMess"").innerHTML=""Prislistan har lagrats i databasen! "";</script>")
%>
</body>
</html>
Hur modifierar jag den så att innan inläsningen påbörjas så hämtas ett värde från en tabell som heter tblNextId, fält: tblArticle.Värdet ska lagras i en variabel och ökas med 1 för varje loop. när alla poster är inlästa ska det sista värdet på variablen skrivas in i tblNextId igen (uppdateras)
Har någon lite bra ideer på hur detta skulle kunna göras???
Set objConn = Server.CreateObject("ADODB.Connection")
ObjConn.Open = "DSN=IntranetSydostel"
lngID = 0
set objRS = objConn.Execute("SELECT tblArticle FROM tblNextID")
if not objRS.EOF then
lngID = clng(objRS(0))
end if
objRS.Close : set objRS = nothing
, eller byt lngID i min kod mot intCounter om du inte orkar ändra i din andra kod.
Sedan är det bara att göra en update med lngID+1, men det fixar du.