Just nu i M3-nätverket
Jump to content

Namnproblem i SQL


mm5

Recommended Posts

Försöker ändra en post i en SQL-Databas med hjälp av följande kod:

 

rsObj.Open "SELECT * FROM Foretag, AnvandarForetag, Anvandare WHERE Foretag.ForetagsID = "& Request.Querystring("compid") &" And Foretag.ForetagsID=AnvandarForetag.ForetagsID And AnvandarForetag.AnvandarID=Anvandare.AnvandarID ", ObjConn, 2, 3

 

If Request.Querystring("submit") = "ok" Then

rsObj("OrganisationsNr") = Request.Form("txtOrgnr")

rsObj("Foretagsnamn") = Request.Form("txtNamn")

rsObj("Foretag.Box") = Request.Form("txtBox")

rsObj("Foretag.Gata") = Request.Form("txtAdress")

rsObj.update

End If

 

Får felmeddelandet:

 

Item cannot be found in the collection corresponding to the requested name or ordinal.

Link to comment
Share on other sites

Du kan inte uppdatera tre tabeller samtidigt. Om compid är unikt vilket jag hoppas att det är så behöver du bara uppdatera tabellen Foretag.

 

SQL = "UPDATE Foretag SET OrganisationsNr = " & Request.Form("txtOrgnr") & ", Foretagsnamn = '" & Request.Form("txtNamn") & ', Box = '" & Request.Form("txtBox") & "', Gata = '" & Request.Form("txtAdress") & " WHERE ForetagsID = " & Request.Querystring("compid")

ObjConn.Execute(SQL)

 

Link to comment
Share on other sites

  • 2 weeks later...

 

 

Kan man tabort alla poster Where Namn = Anders And Nummer = 7650

 

utom det första, för det vill jag ha kvar, men om det finns 10 stycken ska alla i databasen tas bort utom det första

 

 

Link to comment
Share on other sites

Om det är en SQL-databas du arbetar mot kan man lösa det på olika sätt.

 

1. Skapa ett index på tabellen som ignorerar om någon försöker lägga till dubletter i tabellen, utifrån vilka kolumner tillsammans som skall ses som unikt.

 

2. Du kan skapa en Cursor som går genom post för post och tar bort ev dubletter

 

3. Sök ut alla unika värden (SELECT DISTINCT....) till en temporär tabell. Trunkera den första tabellen och infoga posterna från den temporära tabellen.

 

4. Sök ut alla med mer än en förekomst (SELECT ....HAVING COUNT(fält) > 1) till en temporär tabell. Ta bort dubeltterna genom att välja en DELETE/SELECT sats, och infoga sedan värderna i tabellen igen.

 

Allt beror igenligen på hur stor datamängd det rör sig om och om det hela tiden kan infogas dubletter i databasen eller inte. Föhoppsningsvis är detta något du bara måste göra en gång.

 

Hojta till om du vill ha mer hjälp, eller om du inte hänger med vad jag talar om ovan.

 

____Robbac_____________________________________

The Truth Is Out there

 

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.



×
×
  • Create New...