31. oktober 2004 - 00:28Der er
10 kommentarer og 1 løsning
kun 16 tegn bliver comited når jeg redigere i min datagrid
Hej
Jeg har en datagrid, hvor jeg redigere f.eks. navn, men problemmet er at hvis det navn jeg redigere til er længere end 16 tegn bliver de resterende simpelthen ikke gemt i databasen. Hvad kan årsagen være. Jeg har prøvet at sætte max length i den textbox redigeringen sker til 20, men det hjælper intet.
det virker umiddelbart mest sansynligt, at du har angivet en feltlængde på 16 enten i databasen, eller et i dataset du bruger i forbindelse med opdatering. mvh
ds - er det et generisk dataset (altså bare af typen DataSet), eller er det noget du selv har lavet - hvis det sidste er tilfældet vil jeg gerne se koden til det.
at typen er nvarchar betyder ikke nødvendigvis at du kan proppe mere end 16 karakterer ind... den har en længde som angiver max.
jeg kan ikke få øje på noget i den kode du har sendt der skulle gøre, at du kun skulle kunne trække 16 karakterer ud af din tekstboks.
og dette : TextBox txtNyRegNoegle = new TextBox(); txtNyRegNoegle.MaxLength = 50; txtNyRegNoegle = (TextBox)e.Item.Cells[11].Controls[0];
at du sætter max-length der virker lidt underligt, når det bare er en reference til en tekstbox der findes i forvejen... denne her virker mere hensigtsmæssig : TextBox txtNyRegNoegle = (TextBox)e.Item.Cells[11].Controls[0];
hvis du vil sætte en max-length bør du gøre det på det tidspunkt tektboksen bliver skabt for indtastning, og ikke efter der er indtastet i den.
hvad er det for en database du bruger - og har du eventuelt mulighed for at sende et createscript til tabellen ?
en sidste ting... opdaterer du ved hjælp af stored procedures ? (så kunne det jo være der at der skete en trunkering, hvis din string bliver modtaget som en nvarchar(16)).
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.