25. oktober 2003 - 00:31Der er
11 kommentarer og 1 løsning
slette hvis data ikke findes mere!
Et et formfelt pastes en lang kommasep tekst af medlemmer. Hvis medlemmet ikke længere findes i filen skal medlemmet slettes fra databasen, eller skal det opdateres.
Hvordan tilføjer jeg denne SQL til dette?
'Jeg skal nok starte med at slette dem som ikke længere findes i filen, men som er i databasen.
'## Check om medlemsnummeret findes i databasen findes i forvejen' SQL_findes = "SELECT medlemsnr FROM medlemmer WHERE medlemsnr= " & medlemsnr & "" Set rs = oConn.Execute(SQL_findes)
'## Hvis det ikke gør, indsættes det' If Rs.Eof Then SQL = "INSERT INTO Medlemmer (medlemsnr,Firma,Adresse,Adresse2,vBy,Kontakt) " & _ " VALUES (" & medlemsnr & ",'" & firma & "','" & adresse & "','" & adresse2 & "','" & by & "','" & kontakt & "')" '## Hvis det gør, opdateres det' Else
SQL = "UPDATE Medlemmer SET Firma = '" & firma & "', Adresse = '" & adresse & "', Adresse2 = '" & adresse2 & "', vBy = '" & by & "', Kontakt = '" & kontakt & "' WHERE medlemsnr = " & medlemsnr
Husk at rette 'by' til 'vby' alle steder. Jeg ved ikke hvordan din fil ser ud.. så jeg har lavet et test-format kaldet strMed.
Det skal lige siges at koden her IKKE er testet! Jeg har ikke brugt nogen database.
Håber det virker.. Here goes:
<% Option Explicit ' bør altid bruges, alle variabler SKAL defineres, undgår stavefejl dim strMed, arrMed ' variabler til medlemsnumre dim SQL_findes, SQL_ny, SQL_op ' variabler til sql strenge dim rs, oConn ' variabler til recordset og connection dim i ' iteration = gentagelser, bruges til loop
strMed = "123;864;666;754;" ' indholdet fra filen, medlemsnumre separaret af ";" tegnet arrMed = split(strMed, ";") ' splitter medlemsnumrene op ved ";" tegnet
for i = LBound(arrMed) to UBound(arrMed) ' fra det første medlem og til det sidste medlem
SQL_findes = "SELECT medlemsnr FROM medlemmer WHERE medlemsnr= " & medlemsnr Set rs = oConn.Execute(SQL_findes) ' udfør strengen
if (rs.bof) or (rs.bof) then
' med.nr. blev ikke fundet.. se om det er andre data der ' tilhører denne unavngivent bruger: if rs("firma") <> "" OR _ rs("adresse") <> "" OR _ rs("adresse2") <> "" OR _ rs("vby") <> "" OR _ rs("kontakt") <> "" then
' unavngiven bruger har gammel info som slettes: SQL_slet = "Delete from medlemmer where id = " & rs("id") Conn.Execute(SQL_slet)
else
' med.nr. eksistere ikke, og har ikke gammel info, derfor indsættes brugeren i db: SQL_ny = "INSERT INTO Medlemmer (medlemsnr,Firma,Adresse,Adresse2,vBy,Kontakt) " & _ " VALUES (" & medlemsnr & ",'" & firma & "','" & adresse & "','" & adresse2 & "','" & vby & "','" & kontakt & "')" Conn.Execute(SQL_ny) ' udfør strengen end if
else
' brugeren findes, opdater med de respektive data: SQL_op = "UPDATE Medlemmer SET Firma = '" & firma & "', Adresse = '" & adresse & "', Adresse2 = '" & adresse2 & "', vBy = '" & vby & "', Kontakt = '" & kontakt & "' WHERE medlemsnr = " & medlemsnr oConn.Execute(SQL_op) ' udfør strengen end if
nej det er noget møg, jeg kan ikke finde dokumentet og jeg sidder med 100 opgave, smid et link så jeg kan overføre nogle points. Jeg kan ikke bruge tid på at lede mere.
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.