webForumDet fria alternativet

Dubbelpostas

2 svar · 175 visningar · startad av Addeladde

AddeladdeMedlem sedan jan. 20013 406 inlägg
#1

Varför dubbelpostas alla poster i tabbellen ordrar.

IF kop <> "" THEN

'Hämtavariabler
frakt     			= TRIM( Request( "frakt" ) )
kop       			= TRIM( Request( "kop" ) )
userID2 		  	= TRIM( Request( "UserID2" ) )
epost 				= TRIM( Request( "epost" ) )
adress 			= TRIM( Request( "adress" ) )
ort 				= TRIM( Request( "ort" ) )
postnr 			= TRIM( Request( "postnr" ) )
namn 				= TRIM( Request( "namn" ) )
efternamn 			= TRIM( Request( "efternamn" ) )
persnr 			= TRIM( Request( "persnr" ) )
hemtel 			= TRIM( Request( "hemtel" ) )
mobil 				= TRIM( Request( "mobil" ) )
info 				= TRIM( Request( "info" ) )
villkor   			= TRIM( Request( "villkor" ) )
userID2			= TRIM( Request( "userID2" ) )

' kolla fälten
  IF Villkor = "" THEN
    errorvillkor = "Godkänn Villkoren"
  END IF
  IF frakt = "" THEN
    errorFrakt = "Ange ett fraktsätt"
  END IF
  IF adress = "" THEN
    errorAdress = "Ange din adress."
  END IF
  IF ort = "" THEN
    errorOrt = "Ange ort."
  END IF
  IF postnr = "" THEN
    errorPostnr = "Ange postnummer."
  END IF
  IF Namn = "" THEN
    errorNamn = "Ange ett fullständigt namn."
  END IF
  IF efternamn = "" THEN
    errorEfternamn = "Ange ditt efternamn."
  END IF
  IF hemtel = "" THEN
    errorHemtel = "Ange ett telefonnummer."
  END IF

  'Kolla om personummret är rätt
  IF persnr = "" THEN
    errorPersnr = "Ange ett personnummer."
  ELSE
  IF Len(persnr) <> 10 THEN
    errorPersnr = "Felaktigt angivet personnummer Ange personnummret utan bindestreck totalt 10 siffror."
  ELSE
  persnr2 = persnr

  For i = 0 to 8

  k = Left(persnr2,1)
  persnr2 = Right(persnr2,len(persnr2)-1)

  k = k * ((i + 1) Mod 2 + 1 )
  IF len(k) = 2 THEN
  totalt = totalt + Int(Left(k,1)) + Int(Right(k,1))
  ELSE
  totalt = totalt + k
  END IF

  NEXT

  sista = 10 - Int(Right(totalt,1))

  IF Cint(sista) = Cint(Right(persnr,1)) THEN
   persnr = persnr
  ELSE
   errorPersnr = "Felaktigt personummer."
  END IF
  END IF
  END IF 

  sqlString = "SELECT logistik_pris " &_
  "FROM logistik " &_
  "WHERE logistik_namn LIKE '" & frakt & "' " &_
  "ORDER BY logistik_namn "
  SET fraktRS = Con.Execute( sqlString )
  IF NOT fraktRS.EOF THEN
    frakt2 = fraktRS( "logistik_pris" )
  END IF
  ' stäng Recordset
  fraktRS.Close
  Set fraktRS = nothing

  
  If errorVillkor = "" AND errorFrakt = "" AND errorAdress = "" AND errorOrt = "" AND errorPostnr = "" AND errorNamn = "" AND errorEfternamn = "" AND errorPersnr = "" AND errorHemtel = "" Then
  
  ' Börja Transaktionen
    Con.BeginTrans

  
  ' Lägg till användare till databasen
  sqlString = "INSERT INTO butikKund ( " &_
    "kundID, " &_
    "userID, " &_
    "epost," &_
    "adress, " &_
    "postadress," &_
    "postnr," &_
    "fornamn," &_
    "efternamn," &_
    "personnummer," &_
    "tel," &_
    "mobil," &_
    "info," &_
    "frakt2," &_
    "frakt" &_
    ") VALUES ( " &_
    " '" & fixQuotes( userID2 ) & "', " &_
    " '" & fixQuotes( userID2 ) & "', " &_
    " '" & fixQuotes( epost ) & "', " &_
    " '" & fixQuotes( adress ) & "', " &_
    " '" & fixQuotes( ort ) & "', " &_
    " '" & fixQuotes( postnr ) & "', " &_
    " '" & fixQuotes( namn ) & "', " &_
    " '" & fixQuotes( efternamn ) & "', " &_
    " '" & fixQuotes( persnr ) & "', " &_
    " '" & fixQuotes( hemtel ) & "', " &_
    " '" & fixQuotes( mobil ) & "', " &_
    " '" & fixQuotes( info ) & "', " &_
    " '" & fixQuotes( frakt2 ) & "', " &_
    " '" & fixQuotes( frakt ) & "' " &_
    ")"
   Con.Execute sqlString
   strSQL = "SELECT @@IDENTITY"
   Set ObjRS = con.execute(strSQL)
   ordernr = ObjRS(0)
   objRS.Close
   set objRS = Nothing

  ' Överför till ordrar
  sqlString = "INSERT INTO ordrar (" &_
"order_id, " &_
"order_produktID, " &_
"order_produktantal, " &_
"order_kundID, " &_
"order_userID, " &_
"order_alternativ1, " &_
"order_alternativ2, " &_
"order_kopID, " &_
"order_datum, " &_
"order_status " &_
") SELECT " &_
"korg_id, " &_
"korg_produktID, " &_
"korg_antal, " &_
"korg_userID, " &_
"korg_userID, " &_
"korg_alternativ1, " &_
"korg_alternativ2, " &_
ordernr & ", " &_
"getdate(), " &_
"0 " &_
"FROM korg WHERE " &_
"korg_userID =" & userID2
Con.Execute sqlString
  
  

Con.Execute sqlString
  
  
  ' Öppna Recordset
	Set RS = Server.CreateObject( "ADODB.Recordset" )
	RS.ActiveConnection = Con
	RS.CursorType = 3
	RS.Open "DELETE FROM korg WHERE korg_userID=" & userID2 & " "

Con.CommitTrans
con.close
set con = nothing

	response.redirect "kop_klar.asp"
  
END IF
 

END IF

------------------
Adde

LarsGMedlem sedan dec. 200012 464 inlägg
#2

Det finns två execute-anrop på samma sql-statement.

' Överför till ordrar
sqlString = "INSERT INTO ordrar (" &_
"order_id, " &_
"order_produktID, " &_
"order_produktantal, " &_
"order_kundID, " &_
"order_userID, " &_
"order_alternativ1, " &_
"order_alternativ2, " &_
"order_kopID, " &_
"order_datum, " &_
"order_status " &_
") SELECT " &_
"korg_id, " &_
"korg_produktID, " &_
"korg_antal, " &_
"korg_userID, " &_
"korg_userID, " &_
"korg_alternativ1, " &_
"korg_alternativ2, " &_
ordernr & ", " &_
"getdate(), " &_
"0 " &_
"FROM korg WHERE " &_
"korg_userID =" & userID2
[b]Con.Execute sqlString

Con.Execute sqlString[/b]

' Öppna Recordset

------------------
essentitia preter non sans multiplicandum

[Redigerat av LarsG den 09 aug 2001]

AddeladdeMedlem sedan jan. 20013 406 inlägg
#3

Oj oj vad klantig jag är.

Får nästan be om ursäkt för att man tar upp onödig tid för folk!

Tack i alla fall

------------------
Adde

134 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)