webForumDet fria alternativet

'Field' to 'String' is not valid.

6 svar · 439 visningar · startad av Choronzon

ChoronzonMedlem sedan aug. 20011 346 inlägg
#1

Försöker göra om en asp sida till aspx och får detta mess..hur ska jag göra? tpfh

Cast from type 'Field' to type 'String' is not valid. 
Description: An unhandled exception occurred during the execution of the current web request. 
Please review the stack trace for more information about the error and where it originated in the code. 

Exception Details: System.InvalidCastException: Cast from type 'Field' to type 'String' is not valid.

Source Error: 

Line 62: 	StrTStr = replace(StrRs("destination"),"&","&")

edit:
Är en funktion som byter ut &-tecknen mot &

renholmMedlem sedan apr. 20012 266 inlägg
#2

Kan tänka mig att detta kan fungera: StrTStr = replace(StrRs("destination").ToString(),"&","&")

ChoronzonMedlem sedan aug. 20011 346 inlägg
#3

Jo det funkade, men ett annat problem dök upp. Det jag vill åstadkomma är rader med
Datum - länk. Där länken har en beskrivande text.

Och det som skrivs ut nu är
System.__ComObject System.__ComObject
System.__ComObject System.__ComObject
System.__ComObject System.__ComObject
System.__ComObject System.__ComObject osv.

Istället för
030402 Länken
030202 Länken
030103 Länken osv.

i headern har jag:
<%@ Page aspcompat=true Debug="true"%> 
Response.Buffer = true

och koden:
Dim ObjCn, StrRs
Dim StrTStr
ObjCn = Server.CreateObject("ADODB.Connection")
	ObjCn.Open ("-acesskoppling-")
StrRs = ObjCn.execute("SELECT * FROM links ORDER BY datum desc")
	Do until StrRs.EOF
	StrTStr = replace(StrRs("destination").ToString(),"&","&amp;")
	.write ("<tr>")
	.write ("<td>")
	.write (StrRs("datum"))
	.write ("</td>")
	.write ("<td>")
	.write ("<a href=""")
	.write (StrTStr)
	.write (""" title=""" )
	.write (StrTStr)
	.write (""">")
	StrTStr = replace(StrRs("description").ToString(),"&","&amp;")
	StrTStr = replace(StrTStr, "å","&aring;")
	StrTStr = replace(StrTStr, "ä","&auml;")
	StrTStr = replace(StrTStr, "ö","&ouml;")
	StrTStr = replace(StrTStr, "Å","&Aring;")
	StrTStr = replace(StrTStr, "Ä","&Auml;")
	StrTStr = replace(StrTStr, "Ö","&Ouml;")
	.write (StrTStr)
	.write ("</a></td>")
	.write ("</tr>")
	StrRs.Movenext
	Loop
	StrRs.close
StrRs = nothing
	ObjCn.close
ObjCn = nothing
ptypeMedlem sedan juni 2002151 inlägg
#4

måste köra ToString()-metoden

Du gör:

write (StrRs("datum"))

vilket skriver ut objekttypen.

Prova

write (StrRs("datum").ToString())

alternativt

write (Convert.ToString(StrRs("datum")))

om inte första alternativet fungerar.

ChoronzonMedlem sedan aug. 20011 346 inlägg
#5

Testade alla tre varianterna men får samma resultat

Utskrift:
System.__ComObject System.__ComObject System.__ComObject System.__ComObject
System.__ComObject System.__ComObject System.__ComObject System.__ComObject
System.__ComObject System.__ComObject System.__ComObject System.__ComObject
System.__ComObject System.__ComObject System.__ComObject System.__ComObject osv.

Kod:

StrRs = ObjCn.execute("SELECT * FROM links ORDER BY datum desc")
	Do until StrRs.EOF
	StrTStr = replace(StrRs("destination").ToString(),"&","&amp;")
	.write ("<tr>")
	.write ("<td>")
	.write(Convert.ToString(StrRs("datum")))
	.write (StrRs("datum").ToString())
	.write (StrRs("datum"))
	.write ("</td>")
	.write ("<td>")
	.write ("<a href=""")
	.write (StrTStr)
	.write (""" title=""" )
	.write (StrTStr)
	.write (""">")
	StrTStr = replace(StrRs("description").ToString(),"&","&amp;")
	StrTStr = replace(StrTStr, "å","&aring;")
	StrTStr = replace(StrTStr, "ä","&auml;")
	StrTStr = replace(StrTStr, "ö","&ouml;")
	StrTStr = replace(StrTStr, "Å","&Aring;")
	StrTStr = replace(StrTStr, "Ä","&Auml;")
	StrTStr = replace(StrTStr, "Ö","&Ouml;")
	.write (StrTStr)
	.write ("</a></td>")
	.write ("</tr>")
	StrRs.Movenext
	Loop
	StrRs.close
StrRs = nothing
	ObjCn.close
ObjCn = nothing
ptypeMedlem sedan juni 2002151 inlägg
#6

va?
eh prova då

write(Convert.ToString(StrRs("datum").ToString()))
ChoronzonMedlem sedan aug. 20011 346 inlägg
#7

Samma sak..

utskrift:
System.__ComObjectSystem.__ComObjectSystem.__ComObjectSystem.__ComObjectSystem.__ComObject
System.__ComObjectSystem.__ComObjectSystem.__ComObjectSystem.__ComObjectSystem.__ComObjectosv.

skickar hela koden.

<%@ Page Language="VB" aspcompat=true Debug="true"%>
<table>
<%
Response.Buffer = true
Dim ObjCn, StrRs
Dim StrTStr
with response
ObjCn = Server.CreateObject("ADODB.Connection")
	ObjCn.Open ("driver={Microsoft Access Driver (*.mdb)};DBQ=" & server.mappath("db/db.mdb")&";pwd=1")
StrRs = ObjCn.execute("SELECT * FROM links ORDER BY datum desc")
	Do until StrRs.EOF
	StrTStr = replace(StrRs("destination").ToString(),"&","&")
	.write ("<tr>")
	.write ("<td>")
	.write(Convert.ToString(StrRs("datum").ToString()))
	.write(Convert.ToString(StrRs("datum")))
	.write (StrRs("datum").ToString())
	.write (StrRs("datum"))
	.write ("</td>")
	.write ("<td>")
	.write ("<a href=""")
	.write (StrTStr)
	.write (""" title=""" )
	.write (StrTStr)
	.write (""">")
	StrTStr = replace(StrRs("description").ToString(),"&","&")
	StrTStr = replace(StrTStr, "å","å")
	StrTStr = replace(StrTStr, "ä","ä")
	StrTStr = replace(StrTStr, "ö","ö")
	StrTStr = replace(StrTStr, "Å","Å")
	StrTStr = replace(StrTStr, "Ä","Ä")
	StrTStr = replace(StrTStr, "Ö","Ö")
	.write (StrTStr)
	.write ("</a></td>")
	.write ("</tr>")
	StrRs.Movenext
	Loop
	StrRs.close
StrRs = nothing
	ObjCn.close
ObjCn = nothing
end with
%>
</table>
131 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)