Avatar billede sth Novice
24. maj 2000 - 11:34 Der er 4 kommentarer og
5 løsninger

Gem data i DB, selv om feltet er blankt/tom

Gem data i DB, selv om feltet er blankt/tom

Jeg har lavet en asp-fil hvor man kan ind taste data, og en asp-fil der så skriver de indtastede data ind i en db.

Det virker også så længe jeg har skrevet noget i alle felter, men hvis der ikke bliver skrevet noget i et felt, får jeg en fejl, om at feltet ikke kan bære blank.

Hvordan er det nu lige man løser et sådan problem.

Desuden, er det muligt at lave det sådan at hvis der SKAL indtastes noget i et felt, at så asp-filen kommer med en besked på at der skal indtastes noget i dette felt ?

Hvis i mener at dette er 2 spørgsmål så opretter jeg selvf. et nyt.
Avatar billede cassidy Nybegynder
24. maj 2000 - 11:46 #1
Ad 1) Din SQL INSERT skal ordentligt kunne håndtere tomme felter.

"INSERT KundeNr,KundeNavn INTO Kunder VALUES ('" =Request.Form(""KundeNr"") "', '" =Request.Form(""KundeNavn"")"')

(eller noget tæt på ovenstående). Pointen er at du skal VISE SQL at der er tale om tomme strenge.

Ad 2) Lav en validering på din FORM. Lav din FORM om til eksempelvis:

<form action="submitform.asp" metod="get" onsubmit="valider()">
(resten af formen her)
</form>

Lav så et stykke kode

<SCRIPT LANGUAGE="JavaScript">
boolean function valider() {
  if form.feltnavn.value == "" then {
    alert("feltet feltnavn må ikke være tomt");
    return(false);
  }
  return(true)
}
</SCRIPT>
Avatar billede dkkarpen Nybegynder
24. maj 2000 - 11:46 #2
Du skal bare fortælle databasen at null indtastning er gyldigt.
Avatar billede jgc Nybegynder
24. maj 2000 - 11:51 #3
dkkarpen har ret. Access2000's standard for tekstfelter er at nulllængder ikke accepteres. Det skal rettes i Access.
Avatar billede netsrac Praktikant
24. maj 2000 - 12:04 #4
Du kan jo også validere med asp :) lille eks,

<%
if LEN(TRIM(request.form("felt1"))) = 0 Then
response.redirect ("indtastningsfil.asp?fejl=Feltet+Skal+Udfyldes")
end if
%>

På siden hvor man indtaster sætter du så følgende der hvor fejlen skal vises

<% =request.querystring("fejl") %>

Avatar billede hy Nybegynder
24. maj 2000 - 12:05 #5
Access >> åben tabellen i designvisning >> marker feldtnavn >> vælg ja i TilladNullængde !!
Avatar billede jgc Nybegynder
24. maj 2000 - 12:08 #6
Jeg vil klart foretrække at validere med Javascript - det kan gøres uden at forlade siden, og du kan f.eks. sætte fokus på det felt der skal udfyldes. ASP-løsningen kræver et nyt load og er IMO svær at lave så elegant (så man f.eks. sikrer at de 20 felter der *var* udfyldt ikke bliver nulstillet).
Avatar billede sth Novice
24. maj 2000 - 12:10 #7
Det var da helt vil så hurtig det går med at få svar her på  eksperten, jeg tester i aften, op så får i besked

sth
Avatar billede jgc Nybegynder
24. maj 2000 - 12:10 #8
-- Min kommentar var til netsracs forslag, og gælder selvfølgelig kun for de felter der kræves udfyldt. Er der felter der godt må stå tomme (det er der tit), skal man stadig have fat i Access.
Avatar billede sth Novice
24. maj 2000 - 08:29 #9
jeg har prøvet at give jer alle lidt point, da der kom flere løsninger.

tak for hjælpen til jer alle

sth
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester