webForumDet fria alternativet

nvarchar(max) går inte att få till en variabel

ASP

11 svar · 548 visningar · startad av Addeladde

Medlem sedan jan. 20013 406 inlägg
Frågan#1

Hej

Jag har ett fält i en tabell som har datatypen nvarchar(max)
när jag försöker skriva ut det från databasen så fungerar det inte. Byter jag däremot datatypen så fungerar det.

Response.write(rs("falt"))

Hur ska jag få det att fungera. Mitt fält måste kunna hantera 100 000 tecken.

Medlem sedan juni 20003 076 inlägg
#2

Det låter ju konstigt, innehåller kolumen bara text så ska det gå bra att skriva ut den.
En tänkbar anledning skulle ju kunna vara om kolumnen innhåller tecken som inte webläsaren klarar av att skriva ut.
Du säger att det inte funkar, blir det bara tomt eller får du nått error?

Du kan inte köra med en varchar(max)? Måste du köra nvarchar?

Medlem sedan juni 20019 519 inlägg
#3

Är nog att du har rs("falt") som ett "PM" i Access... "falt" får du lagra i en variabel då du med säkerhet använt rs("falt") redan lite längre upp i din kod..

dim strFalt
strFalt = rs("falt")

response.write rs("falt")

Medlem sedan jan. 20013 406 inlägg
#4

Japp det är konverterat från access. Ändrade till nText och då funkade det.

Medlem sedan jan. 20013 406 inlägg
#5

Fattar dock inte hur jag ska få det att fungera. Jag kör bara ut det till en variabel en gång.

Medlem sedan feb. 200112 078 inlägg
#6

Addeladde skrev:

när jag försöker skriva ut det från databasen så fungerar det inte.

"Fungerar inte." På vilket sätt?

Blir det tomt? Får du ett fel? Imploderar datorn?

Medlem sedan juni 200032 967 inlägg
#7

... och blir det någon skillnad om du inte använder n-datatyperna? Måste du använda n?

Medlem sedan jan. 20013 406 inlägg
#8

varchar(max) är väl bättre. Jag får dock samma problem på nText

Medlem sedan jan. 20013 406 inlägg
#9

OveRRidE skrev:

"Fungerar inte." På vilket sätt?

Blir det tomt? Får du ett fel? Imploderar datorn?

Den skriver inte ut någon text. Jag kan spara text från formulären men när jag ska uppdatera en post så skriver den inte ut informationen. Så fort jag ändrar till dattypen varchar(500) t.ex. så funkar det.

Medlem sedan juni 200032 967 inlägg
#10

@nders skrev:

Måste du använda n?

Medlem sedan juni 20003 076 inlägg
#11

Det finns ingen anledning att köra med 'n' (om du inte tänkt köra kinesiska tecken m.m.) ! :)
Och kör inte med 'text' och 'ntext', det är datatyper som förmodligen kommer att försvinna vid nyare versioner.
Nu använder man istället varchar(MAX) om man vill ha ett fält som innehåller jätte, jättemycket text. :)

Medlem sedan jan. 20013 406 inlägg
#12

Jag kör helst på varchar(max) varchar(8000) är dock för lite.

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