Hej, Är du säker på att du har varchar? Med char blir det som du bekriver. Kan det vara så att strängen som du ska lagra innehåller dessa extra mellanslag? Hur lägger du till rader i tabellen? via stored procedures? Det har jag också haft problem med........ tillåt nollängd har inget med detta att göra. Snarare måste fältet i databasen inte vara fast längd. Vet inte vad det heter i Access men i SQL Server (och andra databaser) heter det char (fast längd) och varchar (variabel längd). Möjligt att det är så....... Använder man nvarchar (UNICODE) så är alltid ANSI_PADDING (utfyllnad) påslaget i SQL Server 2005.blank tecken läggs till i kolumnen
Jag använder SQL server 2005.
jag har en liten table som har några kolumner som är nvarchar(50). när jag lägger till en ny post den lägger till blanka tecken på slutet av värdena i kolumnerna.
varför? det var inte så i SQL Server 2000.
vad måste jag göra att kolumnen blir exakt som värdet.
tack så mycketSv: blank tecken läggs till i kolumnen
Sv:blank tecken läggs till i kolumnen
Kan det vara så att parametern du använder i stored proceduren är en char? då fyller den själv upp det och lägger till med blanksteg även om fältet i tabellen är varchar.
posta gärna metoden/koden du använder för att lägga till rader i tabellen.Sv: blank tecken läggs till i kolumnen
Mitt problem uppstod när jag:
Matade in information via ett formulär och bara knappade in några tecken i det aktuella fältet. När jag skulle spara till databasen så följde givetvis det med som jag hade knappat in samt en sju-jädrans massa mellanslag (tomma tecken). I databasen hade jag satt fältstorleken till 255 tecken. Så om jag bara matade in 5 tecken via formuläret så följde där med 250 mellanslag.
Problemet uppstod också när jag inte fyllde i det aktuella text fältet i formuläret utan uppdaterade databasen med just detta fält tomt. Då fylldes istället "cellen" i databasen med 255 mellanslag.
Jag klurade på detta ett tag men fann ingen direkt orsak till problemet. ASP sidorna var helt korrekta och jag har inte tidigare fått eller haft detta problem.
Databasen jag hade var access 97. När jag öppnade databasen lokalt på min dator så såg jag att "Tillåt nollängd" var satt till NEJ... märkligt för jag kunde endå lämna detta fält tomt utan att databasen protesterde.
Till slut så gav jag upp och konverterade hela databasen till Access 2000 och ändrade datatypen i alla fälten till att acceptera nollängd..... och vips så fungerade det igen som om inget hade hänt.
Så prova du med att ändra fälttyperna för alla fältnamnen i din databas till "Tillåt nollängd".Sv:blank tecken läggs till i kolumnen
Sv: blank tecken läggs till i kolumnen
Men jag löste mitt problem så som jag beskrev det. Om det nu är lösningen det vet jag inte men det är kanske värt att prova eller hur.Sv: blank tecken läggs till i kolumnen
Om man inte behöver använda UNICODE, kan man använda varchar, så slipper man utfyllnad.
Det har inget med att tillåta NULL, att göra.
/Håkan