webForumDet fria alternativet

Script för att lägga till eller uppdatera databas?

ASP

5 svar · 568 visningar · startad av evilaid

Medlem sedan apr. 2009433 inlägg
Frågan#1

Hej på er..

har en semikolon separerad txt fil med mail adresser.. Nu vill jag läsa ut dom och spara de i en databas.

Grejen är att jag vill se om adressen finns först.

Kan man göra detta samtidigt i sql frågan som man lägger till. Alltså: OM adress inte finns lägg till?

Har följande enkla kod och det kan vara ganska många poster i txt filen därför bör jag nog hitta snabbaste sättet att köra scriptet.

  set fs = Server.Createobject("scripting.FileSystemObject")
   path = Server.MapPath("/fil.txt")
   set rfile = fs.OpenTextFile(path)
   filecontent = rfile.ReadAll
    
    Arr = Split(filecontent,";")
    For i =1 to ubound(Arr)

    'Kod som kollar om adress fins och om inte lägger till den
     'Sql = ""
     'Connext.execute(sql)
    next

databsen har ett fält som heter mail och där vill jag lägga till den nya adressen..

Lite klurrigt va?

Tack på förhand

Medlem sedan juni 20019 519 inlägg
#2

Inte direkt, om du nu skall kolla alla epost så får du först kolla om arr(i) (om det bara är e-postmeddelande efter varje ";" så kollar du om den finns med en vanlig SELECT, om det bli ett objekt, eller retunera något så finns den redan och därför lägger du inte in e-posten igen, annars kör du en helt vanlig INSERT.

Medlem sedan apr. 2009433 inlägg
#3

OK, så för varje e-post måste jag köra en select, och om den nte finns så en ny INSERT.. Känns som att det blev en massa frågor:)

Men då vet jag..

Tack

Medlem sedan feb. 20034 441 inlägg
#4

Du bör ju kunna "fuska" och köra en INSERT tillsammans med ON DUPLICATE KEY UPDATE. Det förutsätter förstås att kolumnen email är någon typ av nyckel (t.ex. unik).

Medlem sedan apr. 2009433 inlägg
#5

Ojj, det låter ju kanon. den kolumnen kan ju ses som unik då det alrdig ska finnas mer än en av vrje post i tabellen.
ON DUPLICATE KEY UPDATE antar att det gör vad det låter som? Aldrig ens sett förut

Ok. googlade lite. Jag missade nog att berätta att det är en MSSQl databas jag använder:)

Ovan funktion är bara för mysql eller?

Medlem sedan feb. 20034 441 inlägg
#6

Det räcker inte med att kolumnen "ses som unik", den måste vara det också, nu kan jag inte MS SQL syntax, men i MySQL kan du t.ex. sätta "unique" på kolumnen som ska agera "nyckel".

Jag vet inte om ON DUPLICATE KEY finns i MSSQL, det får någon annan svara på, eller så kan du Google det.

259 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
121 ms — deklarationer (db)
0 ms — hämta statistik (cache)
124 ms — hämta tråd, inlägg och bilagor (db)
131 ms — ändringar (db)