Har följande kod som läser av data från en textfil och lägger in den i en databastabell (access)
<%@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, strArticleCategory, strArticleCategoryName, strDiscount, strSQL, intCounter, strPath
strPath = Trim(Replace(Request.Form("textFile"), "'", "''"))
Response.Write(strPath)
intCounter = 0
set objFSO = Server.CreateObject("Scripting.Filesystemobject")
set objFile = objFSO.OpenTextFile (strPath)
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
strArticleCategory = Replace(Trim(Mid(strLine, 1, 4)), "'", "''")
strArticleCategoryName = Replace(Trim(Mid(strLine, 24, 30)), "'", "''")
strDiscount = Replace(Trim(Mid(strLine, 101, 5)), "'", "''")
if strDiscount = "" then
strDiscount = 0
End if
strSQL = "INSERT INTO tblDiscount (articleCategory, articleCategoryName, articleDiscount) VALUES ('" & strArticleCategory & "', '" & strArticleCategoryName & "', " & strDiscount & ")"
objConn.Execute strSQL,,128
wend
objFile.close
set objFile = nothing
set objFSO = nothing
objConn.Close
Set objConn = Nothing
Response.write("<script>document.getElementById(""myMess"").innerHTML=""Rabattavtalet har lagrats i databasen! "";</script>")
%>
</body>
</html>
Funkar perfekt! Men jag vill utvecla det lite och göra så man kan uppdatera tabellen istället.
Det scriptet gör är att läsa av ett rabattavtal i txt-format och lägga in i en databastabell.
Med jämna mellanrum kommer nya avtal som skall läsas in. Jag har löst det genom att radera hela tabellen och gjort en ny inläsning med ovanstående kod. Men det känns inte helt optimalt. Det hade varit bättre att bara läsa in en ny fil som lägger till nya poster och uppdaterar poster som förändrats samt låter oförändarde poster vara..
Puhhh.....
Hoppas ni förstår.
Hur ska jag göra; börja med någon SELECT och sedan UPDATE??
Ja, eftersom jag inte har en primärnyckel i nuläget och jag har access och det fungerar undrar jag om jag kan använda "articleCategory" som primärnyckel.
Ja, eftersom jag inte har en primärnyckel i nuläget och jag har access och det fungerar undrar jag om jag kan använda "articleCategory" som primärnyckel.
Jo, om den innehåller unika värden så passar den bra som primärnyckel.
:e
Ja, ja, det var faktiskt bara en felskrivning... ;)
Tack för hjälpen!
By the way....
Hur skulle man kunna gör en felhantering till scriptet. Dvs om något går galet för att textfilen inte stämmer (felaktiga tecken mm)så får man meddelande om det istället för serverfel???
Hur skulle man kunna gör en felhantering till scriptet. Dvs om något går galet för att textfilen inte stämmer (felaktiga tecken mm)så får man meddelande om det istället för serverfel???
on error resume next
...
' kod som kan generera felmeddelande
...
If Err.Number <> 0 then
Response.write "nått gick fel!"
Err.Clear
End if
on error goto 0
mvh
416 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e