Avatar billede eksperten1 Nybegynder
03. oktober 2001 - 00:23 Der er 2 kommentarer og
1 løsning

Opdater tabel fra CSV fil der er uploadet

Er der nogen af jer der kan komme med gode idéer til en metode sådan at jeg kan opdatere en Access 2000 db ved at uploade en fil.

Det skal være sådan at den opdaterer records evt. erstatter dem, sådan at brugeren blot kan lave et udtræk fra en anden db og så uploade dette.

Links, kodestykker o.a. modtages med kyshånd.
Avatar billede tmceu Praktikant
03. oktober 2001 - 08:44 #1
Hvilken del mangler du hjælp til ? Upload, læsning af fil og insert i databasen eller ?
Avatar billede eksperten1 Nybegynder
03. oktober 2001 - 09:03 #2
Det er Læsning af fil, formentligt til et array og derefter en opdateringsrutine.
mvh
Mark
Avatar billede tmceu Praktikant
05. oktober 2001 - 17:29 #3
Vi kan starte med indlæsning af filen. Dette eksempel læser en tekstfil, testread.txt linie for linie:

Set fs=Server.CreateObject(\"Scripting.FileSystemObject\")
Set f=fs.OpenTextFile(Server.MapPath(\"testread.txt\"), 1)

do while f.AtEndOfStream = false
Response.Write(f.ReadLine)
Response.Write(\"<br>\")
loop

f.Close
Set f=Nothing
Set fs=Nothing
-----------------------------
Derefter kan vi udvide den med indlæsning af linien i et array via. split funktionen:

Set fs=Server.CreateObject(\"Scripting.FileSystemObject\")
Set f=fs.OpenTextFile(Server.MapPath(\"testread.txt\"), 1)

do while f.AtEndOfStream = false

MyArray = Split(f.ReadLine, \",\", 2)

loop

f.Close
Set f=Nothing
Set fs=Nothing

Ovenfor indlæses 2 felter, defineret som kommaseparerede felter i linien. Kan udskiftes med -1 for at læse alle felter i en linie
-------------------------------
Og endeligt kan vi danne en SQL streng, som kan bruges til opdatering af databasen:

Set fs=Server.CreateObject(\"Scripting.FileSystemObject\")
Set f=fs.OpenTextFile(Server.MapPath(\"testread.txt\"), 1)

do while f.AtEndOfStream = false

MyArray = Split(f.ReadLine, \",\", 2)

strSQL = \"INSERT INTO Tabel VALUES(\"
strSQL = strSQL & \"\'\" & MyArray(0) & \"\', \"
strSQL = strSQL & MyArray(1)
strSQL = strSQL & \")\"

loop

f.Close
Set f=Nothing
Set fs=Nothing

Hvis vi antager at du har disse 2 felter i filen

Tekst, Tal

så vil strSQL indeholde \"INSERT INTO Tabel VALUES(\'Tekst\', Tal)\"

Håber dette kan hjælpe dig videre :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester