hmm. det giver altså problemer med html i databasen. Indtil videre kan jeg kun finder php forklaringer med at anvende f.eks. stripslashes($yourvariable); Men jeg kigger altså efter en løsning i asp.net med vb
hmm. jeg har prøvet at finde ud af det et stykke tid nu. Men jeg har endnu ikke fundet en løsning.
Jeg kan se at det ikke fungerer med felter der er af formatet text eller blob der indholder HTML i MySQL. Hvis jeg sætter dem om til varChar() - med en angivet værdi virker det. Altså, det er nok noget med at læsningen går i kuk pgr af tegn som f.eks. ><\@#@ eller noget i denne stil.
Min kode virkede fint med access, men efter konverteringen, har jeg altså problemer med de større felter der indeholder HTML.
Mit spørgsmål går derfor lidt på om der er en bestemt metode, man plejer og anvende hvis man bruger aspx med MySql. Jeg bruger iøvrigt OleDB connection.
Sorry, men jeg har ikke helt fundet ud af endnu hvad der gør det. Problemet er at jeg ikke rigtig får nogle eksakte fejlmeddelelser, og der cracher efter en 2-3 loads. Derfor har jeg meget svært ved at sige præcist hvilke tegn der gør det. Det var lidt derfor jeg efterlyste om der var nogen der havde haft samme problem. Har lige prøvet at fjerne alle \ men det syntes ikke at være det. Så jeg må vel bare forsætte med at prøve at ændre indholdet, og teste og teste indtil det ikke gider crache mere...
Public Function GettblSitePhrase(ByVal strName, ByVal strColum) Dim intSiteId As String = Session("siteId") Dim objConn As New OleDbConnection(hosting0Conn) Dim strSQL As String = "SELECT " + strColum + " FROM tblsitephrase WHERE strname='" + strName + "' AND intsiteid = " + intSiteId + " ORDER BY intorder ASC;" Dim objCmd As New OleDbCommand(strSQL, objConn) Dim i As String objConn.Open() i = objCmd.ExecuteScalar() i = Replace(i, "ø", "ø") i = Replace(i, "Ø", "Ø") i = Replace(i, "å", "å") i = Replace(i, "Å", "Å") i = Replace(i, "æ", "æ") i = Replace(i, "Æ", "Æ") GettblSitePhrase = i objConn.Close() End Function
Men hvis jeg ændrer feltet i dbén fra varchar() til longtext eller blob ja, så får jeg fejlen: DB_E_NOTABLE(0x80040E37). System.Data.OleDb.OleDbException: No error information available: DB_E_NOTABLE(0x80040E37).
Dine store felter skal nok stå til sidst i din select, altså:
select lille1,lille2,stor from ...
Og et "stort" felt er nemlig en blob/longtext. Det er driverafhængigt og et klassisk "problem" med MSSQL. Skulle ikke undre mig om Microsoft stadig slæber rundt med i en eller anden driver-tingest, selv om det nu er MySql.
hm.. jeg er godt nok ved at være træt af dette problem, har siddet med det siden igår, har søgt på nettet og alligvel er der ikke rigtig noget der virker..
Hmm. Du bruger OleDB. MySQL omtaler kun OleDB connections kort, og siger at det kan lade sig gøre, men at det ikke understøttes (med MyOleDB provideren). Se siden: http://www.mysql.com/articles/dotnet/ Selv bruger jeg DBProvider, der også omtales, og den virker fint (selvom jeg ikke har haft præcis din problematik gemmer jeg dog html felter i blob, og det virker). Jeg har også prøvet den omtalte MySQLNet Provider, den kan jeg ikke få til at virke.
Tak for jeres svar. Jeg har skiftet til ODBC det virker upåklageligt.. selvom jeg egentlig hellere ville have oleDb... (-:
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.