webForumDet fria alternativet

Exportfunktion => "Undantag inträffade"

ASP

2 svar · 223 visningar · startad av MickeA.com

Medlem sedan feb. 20034 441 inlägg
Frågan#1

Tjena!
Precis som rubriken säger så har jag gjort en exportfunktion för att flytta data från en tabell till en annan i MSSQL.
Det här är min kod:

<!--#INCLUDE FILE="header.asp"--> 
<%	
	lang = "SVE"
'	lang = "" & "SVE" & ""
sSql =	"SELECT id, name, desc" & lang & " " &_
	"FROM offers " &_
	"ORDER BY id ASC"
Set rs = conn.Execute(sSql)
If Not rs.EOF Then
	While Not rs.EOF
		[b]Response.Write("ID: " & rs("id") & "&nbsp;" & rs("name") & "&nbsp; kopierades över...<br />")[/b]
		[red]sSql2 =	"SELECT offer_desc_id, parent_id, offer_desc_lang " &_[/red]
			"FROM offers_content " &_
			"WHERE parent_id = " & rs("id") & " " &_
			"AND offer_desc_lang = '" & lang & "'"
		Set rs2 = conn.Execute(sSql2)
		If Not rs.EOF Then
		' Hittades...
			sSql3 =	"UPDATE offers_content SET " &_
				"offer_desc_text = N'" & rs("desc" & lang) & "' " &_
				"WHERE parent_id = " & rs("id") & " " &_
				"AND offer_desc_lang = '" & lang & "' " &_
				"WHERE offer_desc_id = " & rs2("offer_desc_id") & ""
		Else
		' Inte...
			sSql3 =	"INSERT INTO offers_content " &_
				"(parent_id, offer_desc_lang, offer_desc_text)" &_
				"VALUES " &_
				"(" &_
				"" & rs("id") & ", " &_
				"N'" & lang & "', " &_
				"N'" & rs("desc" & lang) & "'" &_
				")"
		End If
		Set rs2 = Nothing
		Response.Write(sSql3 & "<br />")
	rs.MoveNext
	Wend
Else
	Response.Write("no data...")
End If
Set rs = Nothing
%>

Om jag kommenterar bort ALL kod efter den fetstilta raden så funkar det, det som står Response.Write("...")... skrivs ut. Men kör jag efterföljande kod, så får jag ett felmess => "Undantag inträffade" på den rödfärgade raden.

Ser inte riktigt felet med koden, gör du det?
Syftet med det här är att flytta data från en viss kolumn (utifrån variabeln 'lang') från en tabell till en annan.

Några förslag?

Tack!

Medlem sedan nov. 2005314 inlägg
#2

skapligt otydlig jag är :)
den andra If Not rs.EOF Then
borde väl vara If Not rs2.EOF Then eller ?

		sSql2 =	"SELECT offer_desc_id, parent_id, offer_desc_lang " &_
			"FROM offers_content " &_
			"WHERE parent_id = " & rs("id") & " " &_
			"AND offer_desc_lang = '" & lang & "'"
		Set rs2 = conn.Execute(sSql2)
		[B]If Not rs2.EOF Then[/B]
		' Hittades...
Medlem sedan feb. 20034 441 inlägg
#3

Jo, visst skulle det vara så...Tack!
Ibland stirrar man sig helt blind... :)

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