webForumDet fria alternativet

Hämta flera poster och uppdatera flera poster samtidigt.

ASP

3 svar · 227 visningar · startad av Addeladde

Medlem sedan jan. 20013 406 inlägg
Frågan#1

Hej

Har ni några idéer på hur jag ska göra detta:
Jag har ett GruppID sedan ska jag hämta de posterna med det gruppID:et från tabell 1 och sedan uppdatera tabell 2 på ett specillt sätt förklarat lite nedan.

Tabell 1
[ID=1] [mallID=1][gruppID=1][kod=blabla1]
[ID=2] [mallID=2][gruppID=1][kod=blabla2]
[ID=3] [mallID=1][gruppID=2][kod=blabla3]
[ID=4] [mallID=2][gruppID=2][kod=blabla4]

Om vi har gruppID=1 så ska tabell två uppdateras där mallID är samma som mallID i tabell 2 och gruppID = 1

I de riktiga tabllerna finns det ett fast antal MallID, 5 st
Jag vet att jag kan köra igenom en loop på detta men är det bättre att göra på något annat sätt? Exempelvis med någon transaction eller liknanande?

Medlem sedan jan. 20013 406 inlägg
#2

Har prövat med detta men det verkar inte fungera. Tar jag bort att den ska lopa igenom så funkar det. Denna rad (WHILE NOT hamtaMallRS.EOF) tar jag alltså bort plus avlsutningen till denna rad.

  'Starta transaktionen
  Con.BeginTrans
  
	sqlString = "SELECT mall_namn, mall_kod, mall_uppsattningsnamn, mall_nummer, mall_visa " &_
	  "FROM malluppsattningar " &_
	  "WHERE mall_uppsattning = " & malluppsattning
	SET hamtaMallRS = Con.Execute( sqlString )
	
	WHILE NOT hamtaMallRS.EOF  

	  sqlString = "UPDATE mallar SET " &_
	  "mall_namn				 ='" &  hamtaMallRS( "mall_namn") & "'," &_
	  "mall_kod					 ='" &  hamtaMallRS( "mall_kod") & "'," &_
	  "mall_visa				 =" &  hamtaMallRS( "mall_visa") & " "&_
	  "WHERE mall_nummer		 =" & hamtaMallRS( "mall_nummer") & " "
	  con.Execute sqlString 
	 
		 
    hamtaMallRS.MoveNext
	WEND
	hamtaMallRS.close
	set hamtaMallRS = nothing
  
  Con.CommitTrans
Medlem sedan jan. 20013 406 inlägg
#3

Nu har jag kommit på vad felet är. I en av mall_kod finns det asp-kod och därför blir det fel. Hur för jag över detta utan att förstöra den aspkoden?

Medlem sedan jan. 20013 406 inlägg
#4

Jag får det här felmeddelandet:

Feltyp:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][Drivrutin för ODBC Microsoft Access] Syntaxfel (operator saknas) i frågeuttrycket ''<% 'Öppna databasen Set con = Server.CreateObject([ADODB.Connection]) con.Open Application([cmdatabas]) sqlString = [SELECT meny_sida_id, meny_lank, meny_namn,] &_ [sida_datum_start, sida_datum_slut, sida_visa, sida_publicering ] &_ [FROM meny,'.
/cm/admin/system/mallar/valj_mall.asp, line 28

255 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)
120 ms — ändringar (db)