webForumDet fria alternativet

Multiple-step OLE DB

4 svar · 209 visningar · startad av Vide

VideMedlem sedan dec. 19998 577 inlägg
#1

Hejsan!

För att fira mitt 3000:e inlägg så tänkte jag komma med en fråga som jag sitter och grunnar på. ;)

Det är så att jag precis fört över en sajt ifrån Access till MS SQL server...

Jag har ändrat SQL-strängarna så att de är anpassade till SQL server. Och jag har ändrat kopplingen till databasen också... bra, så långt så fint.

Nu till problemet:
I ett forum jag har på sajten så plockar jag ut inlägget med hjälp utav en funktion. All info fungerar bra att hämta förutom fältet "message" där jag har meddelandetexten för inlägget. När jag försöker att hämta det fältet så får jag felmeddelandet:

Multiple-step OLE DB operation generated errors. Check each OLE DB status value, if available. No work was done.

Kommenterar jag bort raden där jag hämtar värdet ur det fältet visas sida som den skall (förutom att det inte finns något meddelande)...

Fältets egenskaper:
Datatype: Text
Lenght: 16
Allow nulls: true

Funktionens utseende:

Function ShowMessagesStyle1(intParent, intCounter)
	intLevel = intLevel + 1
	strSQL = "SELECT * FROM tblMessages WHERE ForumID = " &Request.QueryString("forumid")
	strSQL = strSQL & " AND ModerateYes = 1"
	If intCounter = 0 then
		strSQL = strSQL & " AND MessageID = " & Request.QueryString("messageid")
	Else
	 	strSQL = strSQL & " AND ParentMessageID = " & intParent
	End If
	strSQL = strSQL & " ORDER BY DateOfPost ASC"
	
	Set rstForumMessages2 = ConnObj.Execute(strSQL) 
	Do Until rstForumMessages2.EOF OR intCountParents = 1
		If intParent = 0 Then
			intCountParents = intCountParents + 1
		End If
		strSQL = "SELECT * FROM tblUsers WHERE UserName = '" & rstForumMessages2("UserName") & "'"
		Set rstForumUser = ConnObj.Execute(strSQL)  
		If NOT rstForumUser.EOF THEN 
	  		strHomesite = rstForumUser("Homesite")
			strEmailAddress = rstForumUser("EmailAddress")
			intICQ = rstForumUser("ICQ")
			strEmail = rstForumUser("visaepost")
		End If
		Set rstForumUser = nothing
		intCounter = intCounter + 1
		if intCounter MOD 2 = 0 Then
			intClasstype = 0
		Else
			intClasstype = 1
		End If
		usrName = rstForumMessages2("UserName")
		strProfile = "<a href=""javascript:void(0);"" onClick=""javascript:openWindow('forum/user_profile.asp?username="&usrName&"', 375, 300);""><img alt='"&rstForumMessages2("UserName")&"s profil' src=images/icons/profile.gif border=0></a>"
		strHomePage = "<a href="&strHomesite&" target=_blank><img alt='"&rstForumMessages2("UserName")&" har en hemsida' src=images/icons/home.gif border=0></a>"
		If strEmail = true then
			strEmail = "<a href=mailto:"&strEmailAddress&" target=_blank><img alt='Maila "&rstForumMessages2("UserName")&"' src=images/icons/sendmail.gif border=0></a>"
		Else
			strEmail = ""
		End If
		Response.write _
			"<tr>"&_
			"<td class=forummessagesubject"&intClasstype&">"&_
			"<img src='images/icons/icon"&rstForumMessages2("Smiley")&".gif'> "&_
			"<a name=#"&rstForumMessages2("MessageID")&">"&rstForumMessages2("Subject")&"</a>"&_
			"</td><td align=right class=forummessagesubject"&intClasstype&">"&_
			strEmail&strHomePage&strProfile&"</td></tr>"&_
			"<tr><td colspan=2 class=forummessageauthor"&intClasstype&">"&_
			"Inskickat "&rstForumMessages2("DateOfPost")&" av "&rstForumMessages2("Username")&_
			"</td></tr><tr><td colspan=2 height=2></td></tr><tr><td colspan=2 class=forummessagecontent"&intClasstype&"><br>"

		[b]strMessage = TotalFunk(rstForumMessages2("message"))[/b]
		If rstForumMessages2("ModerateBy") <> "" AND rstForumMessages2("LastMod") <> "" then
			strRedigerad = "[Redigerat av "&rstForumMessages2("ModerateBy")&" den "&rstForumMessages2("LastMod")&"]"
		End If
		Response.Write strMessage &_
			"<br><br></td></tr><tr><td class=forummessagechanged"&intClasstype&">"&strRedigerad&" </td><td align=right class=forummessageinfo"&intClasstype&">"
		ParentMessageId = rstForumMessages2("Parentmessageid")
		Response.write "<a href=#top>till toppen</a> <a href=index1.asp?que=forum/redigerapost.asp&messageid="&rstForumMessages2("MessageID")&_
			"&forumid="&Request.QueryString("forumid")&"&parentid="&ParentMessageId&_
			"&ParentsParent="&Request.QueryString("messageid")&">redigera</a> "&_
			"<a href=index1.asp?que=forum/post.asp&forumid="&Request.QueryString("forumid")&_
			"&messageid="&rstForumMessages2("MessageID")&"&parentid="&rstForumMessages2("MessageID")&">besvara</a></td></tr><tr><td colspan=2><hr></td></tr><tr><td colspan=2 height=2></td></tr>"
		Response.write ShowMessagesStyle1(rstForumMessages2("MessageID"), intCounter)
		rstForumMessages2.MoveNext
		intLevel = intLevel - 1
	Loop
End Function

Någon som har en förklaring till detta fenomen? Skulle vara evigt tacksam om någon kunne hitta felet eller komma med tips som kan bidra till att jag hittar orsaken... :)

Mvh, Vide

RED: har pearlkoden tagits bort?

------------------
Nu har du sjungit på sista refrängen
Jourhavande Vide

[Redigerat av Vide den 26 jan 2001]

[Redigerat av Vide den 26 jan 2001]

LarsGMedlem sedan dec. 200012 464 inlägg
#2

Hej.

Förslag: byt datatyp till char istället. Text är ju avsett för att hantera väldigt stora block av data.

(Jag har sett något om att det skulle gå bättre om text-kolumnen ligger sist i select-listan. Vet inte varför.)

(pearl -> perl)

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

VideMedlem sedan dec. 19998 577 inlägg
#3

LarsG, du är dagens hjälte... när får jag bjuda på en öl? ;)

Följdfråga: Vad skall man ha datatypen Text till om man inte kan hämta den via SQL till ASP? är typ för bilder och sånt?

tack iaf.. :)

Mvh, Vide

------------------
Nu har du sjungit på sista refrängen
Jourhavande Vide

LarsGMedlem sedan dec. 200012 464 inlägg
#4

Jag sökte lite om text och hittade följande, så om du är intresserad?
http://msdn.microsoft.com/library/psdk/sql/8_qd_13.htm

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

VideMedlem sedan dec. 19998 577 inlägg
#5

Trevlig sida! :)

Märkte en sak med Char dock, om man skriver "hejsan" och har 50 tecken i Length så fyller den ut dom resterande 46 tecknena med mellanslag... skumt.

Bytte jag dock till varchar så löste sig det problmet... :)

Mvh, Vide

------------------
Nu har du sjungit på sista refrängen
Jourhavande Vide

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