Hejsan Dum fråga, men testat att ändra till Nope.. Inte en aning om vad den strängen gör ens så :D CStr() gör om värdet till sträng-typ. Det är samma rad igen (142) ... Min gissning är att du stängt recordsetet innan du skriver ut :) Fascinerande problem ibland. MySQL (ASP) - (An unhandled data type was encountered.) - Vid utskrift av vanlig
Möjligt att detta ska publiceras under databaser - mysql, men jag är osäker på om det är databasen som är problemet, så jag lägger frågan här...
Som första information kan det vara bra att veta att mitt webbhotell kör Sun One ASP.
Jag har problem med en koppling mellan en MySQLdatabas och en helt vanlig utskrift på en webbsida. Jag kör en tabell med diverse kolumner (rubrik, ingress, text1, text2, bild) som jag sedan ska ha utskrivna på en sida. Till saken hör att jag kör samma kod på ca 5 andra sidor, bara att jag då skiftar WHERE i min hämtning, och alla andra sidor fungerar klockrent.
Följande kod används för anslutningen:
Set oConn = Server.CreateObject("ADODB.Connection")
strConn = "Driver={MySQL};Server=mysqlserver;Database=dbase;UID=usrname;PWD=pwd;"
oConn.Open(strConn)
strSQL = "SELECT * FROM tabell WHERE link='main_info_pg2.asp'"
Set rs = oConn.Execute(strSQL)
Felmeddelandet genereras när följande ska skrivas ut (Line 142):
<td><%Response.Write(rs("rubrik"))%></td>
Felmeddelandet jag får är:
Error Type:
Response object, ASP 0106 (0x80020005)
An unhandled data type was encountered.
/main_info_pg2.asp, line 142
Rubriken innehåller inga konstiga tecken, utan det är bara bokstäver och siffror. Har sökt efter detta problem, men inte hittat någon som har ett matchande problem. Kolumnen "rubrik" är satt som Mediumtext i MySQL. Det kanske ska tilläggas att detta är den enda sidan som har text i både text1 och text2-kolumnerna. Detta för att kunna splitta texten i två kolumner.
Någon som har några förslag på vad felmeddelandet kan tolkas som?
Sv: MySQL (ASP) - (An unhandled data type was encountered.) - Vid utskrift av va
<%Response.Write(CStr(rs("rubrik")))%>
?
Sv:MySQL (ASP) - (An unhandled data type was encountered.) - Vid utskrift av va
Ledde mig dock till ett nytt felmeddelande:
Error Type:
ADODB.Recordset.1 (0x80020009)
Either BOF or EOF is True, or the current record has been deleted; the operation requested by the application requires a current record.Sv: MySQL (ASP) - (An unhandled data type was encountered.) - Vid utskrift av va
Vilken rad pekar det nya felet på?
Och för att inte vi ska gissa oss till svaren får du gärna visa relevant kod.Sv:MySQL (ASP) - (An unhandled data type was encountered.) - Vid utskrift av va
Här kommer mer kod då...
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<title></title>
</head>
<body>
<table width="954" height="385" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td colspan="5" valign="bottom" class="top">
<!--#include file="top.asp"--></td>
</tr>
<tr>
<td class="left_menu" valign="top"><div class="left_menu"><!--#include file="left_menu.asp"--></div></td>
<td align="right" valign="bottom" class="line1"><table width="600" height="357" border="0" align="right" cellpadding="0" cellspacing="5">
<tr><%
Set oConn = Server.CreateObject("ADODB.Connection")
strConn = "Driver={MySQL};Server=mysqlserver;Database=dbase;UID=usrname;PWD=pwd;"
oConn.Open(strConn)
strSQL = "SELECT * FROM tabell WHERE link='main_info_pg2.asp'"
Set rs = oConn.Execute(strSQL)
%>
<td width="296" align="left" valign="top" class="rubrik"><%Response.Write(CStr(rs("rubrik")))%></td>
<td width="289" height="17" align="left" valign="top" class="rubrik"> </td>
</tr>
<tr>
<td align="left" valign="top" class="brodtext"><%Response.Write(rs("text1"))%></td>
<td height="369" align="left" valign="top" class="brodtext"><%Response.Write(rs("text2"))%></td>
</tr>
</table></td>
<td class="newsbar"></td>
<td class="news_area"><!--#include file="news.asp"--></td>
<td valign="top" class="right_menu"><div class="right_menu"><!--#include file="right_menu.asp"--></div></td>
</tr>
<tr>
<td> </td>
<td class="bottom" colspan="3"><!--#include file="bottom.asp"--></td>
<td> </td>
</tr>
</table>
</body>
</html>
<-- Top.asp -->
<table width="954" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="228" height="76" background="img/top/top1.jpg"></td>
<td width="491" height="76" background="img/top/top2.jpg"></td>
<td width="235" height="76" background="img/top/top3.jpg"></td>
</tr>
<tr>
<td width="228" height="26" background="img/top/top4.jpg"></td>
<td width="491" height="26" background="img/top/top6.jpg"></td>
<td width="235" height="26" background="img/top/top7.jpg"></td>
</tr>
</table>
<-- left_menu.asp -->
<img src="menu/left_menu.jpg" width="22" height="441" border="0">
<-- right_menu.asp -->
<img src="menus/right_menu.jpg" width="22" height="441" border="0">
<-- news -->
<font face="verdana" size="1" color="#CCCCCC"><table width="212" height="441" style="position:static" border="0" cellpadding="0" cellspacing="0">
<tr>
<td background="img/news.jpg"></td>
</tr>
</table></font>
<-- bottom.asp -->
<img src="img/bottom1.jpg" width="28" height="74" /><img src="img/bottom2.jpg" width="37" height="74" /><img src="img/bottom3.jpg" width="390" height="74" /><img src="img/bottom4.jpg" width="454" height="74" />
Så, nu finns all kod för siten...
Sv: MySQL (ASP) - (An unhandled data type was encountered.) - Vid utskrift av va
Men visa koden så blir det lättare att svara.
Lägg till en loop för recordset(för där är väl flera poster som du hämtar ut med den select-frågan).
Do Until rs.EOF
...
rs.MoveNext
Loop
Efter som du bara vill använda värden ifrån 3 kolumner kan du ändra till:
strSQL = "SELECT rubrik,text1,text2 FROM tabell WHERE link='main_info_pg2.asp'"
Var kommer main_info_pg2.asp ifrån?
Är det ifrån ett formulär bör du kolla upp SQL-injections.
Glöm inte sen att stänga din kontakter och frigöra objekten.
Det gör du efter du skrivit ut allt.Sv:MySQL (ASP) - (An unhandled data type was encountered.) - Vid utskrift av va
main_info_pg2.asp är sidan jag jobbar i. Jag har valt att döpa en kolumn (link) till samma namn som filen för att kunna koppla ihop dem.
Problemet löste sig. Det fanns inga som helst fel i koden, och inte heller i databasen, men det tycks ha blivit något vajs med texten när jag kopierade över den i databasen. Körde en:
If rs.EOF then
Response.Write("Ingenting hittades i databasen")
End if
Trots att det fanns innehåll i samtliga kolumner så skrev den ändå ut att ingenting kunde hittas. Det är rätt fascinerande i min mening :) ... Raderade den gamla databasposten och la till den igen så fungerade det...
Tack för hjälpen i alla fall.
(Har stängt alla connections och frigjort alla objekt nu ;) )