Avatar billede phi-del Nybegynder
11. april 2006 - 10:40 Der er 17 kommentarer og
1 løsning

asp og db

hej.

jeg har en side med form og felter der skal og felter der er friviglige at udfylde.
denne side redirigere til en update side som sender data til min db.


følgende felt  Pers2kind er ikke obligatorisk, men når den ikke udfylder kommder der fejl som :

Provider error '80020005'

Type mismatch.

/travel/update.asp, line 38


jeg skriver til db sådan her ?
rs("2_Person_kind") = Request.form("pers2kind")
Avatar billede phi-del Nybegynder
11. april 2006 - 10:42 #1
dvs. Der er nogle felter på formularen som ikke altid skal udfyldes.
men den næste side som knappen redirigere til, kræver åbenbart at den skal udfyldes hvordan kan man ændre det ?
Avatar billede phi-del Nybegynder
11. april 2006 - 10:46 #2
feltet er en rule liste !
Avatar billede ldanielsen Nybegynder
11. april 2006 - 10:55 #3
Type mismatch betyder at du prøver at skrive data i et felt hvor datatypen ikke tillader input'et.

For eksempel hvis du vil skrive tekst i et talfelt, eller en ugyldig dato i et datofelt.

Hvilken database er det?
Hvilken datatype er 2_Person_kind?
Hvad kommer fra Request.form("pers2kind")?
Avatar billede phi-del Nybegynder
11. april 2006 - 11:02 #4
datatypen er tekst.
og på formularen er det en rulle liste med 2 valg, men det er ikke altid man skal vælge
Avatar billede phi-del Nybegynder
11. april 2006 - 11:11 #5
hvordan skrive man en værdi fra en ruleliste til db ?
Avatar billede phi-del Nybegynder
11. april 2006 - 11:15 #6
nu melder den fejl i en tal felt , men jeg har jo ikke fyldt den ud !

    rs("1_Person _Geburtsdatum") = Request.form("gdatum2")
Avatar billede ldanielsen Nybegynder
11. april 2006 - 11:16 #7
Hvilken database?
Hvis det er Access, tillader feltet så Null?

Jeg går ud fra at du med rulleliste mener en Select box:

<select name="pers2kind">
<option value="første">Første valg</option>
<option value="andet">Andet valg</option>
</select>

Du indsætter værdien på samme måde som med et almindeligt input felt.
Avatar billede phi-del Nybegynder
11. april 2006 - 11:18 #8
ok roder lidt rundt lol.

det er en Dato og klokkeslæt felt, der ikke bliver udfyldt. som brokker sig.
og hvorfor gøre den det hvis ikke jeg fylder den ud.

    rs("1_Person _Geburtsdatum") = Request.form("gdatum2")
Avatar billede phi-del Nybegynder
11. april 2006 - 11:18 #9
det er en access datbase som tillader null
Avatar billede phi-del Nybegynder
11. april 2006 - 11:19 #10
jeg har ændret det til.
    rs("1_Person _Geburtsdatum") = Trim(Request.form("gdatum2"))

men det hjælper ikk !
Avatar billede ldanielsen Nybegynder
11. april 2006 - 11:19 #11
Ang. talfeltet:

Hvis du ikke har udfyldt det så beder du faktisk om at få en tekststreng der er tom, dvs. "", sat ind i et talfelt.

Hvis du vil have det til at være tomt så:

if Request.form("gdatum2") = "" then
  rs("1_Person _Geburtsdatum") = null
else
  rs("1_Person _Geburtsdatum") = Request.form("gdatum2")
end if

Må jeg ikke se noget kode?
Har du fået løst det første nu?
Avatar billede thomas_yde Nybegynder
11. april 2006 - 11:27 #12
husk når du indsætter dato i ACESS skal det være med format: #dato#
Avatar billede ldanielsen Nybegynder
11. april 2006 - 11:35 #13
thomas_yde:

Det er kun hvis du bruger en UPDATE eller INSERT til det, og phi-del bruger ADO
Avatar billede phi-del Nybegynder
11. april 2006 - 11:40 #14
og det her er et udpluk fra formen:
        <td height="21" width="204" valign="middle" align="left">
    <font size="2" face="Verdana">Geburtsdatum:</font><input type="text" name="gdatum2" size="12" value="<%= gdatum2%>"></td>
        <td height="21" width="26" valign="middle" align="left">




det her er fra min update.asp
    rs("1_Person _Geburtsdatum") = Trim(Request.form("gdatum2"))
              rs("2_Person _Geburtsdatum") = Trim(Request.form("gdatum2"))
              rs("3_Person _Geburtsdatum") = Trim(Request.form("gdatum3"))
Avatar billede phi-del Nybegynder
11. april 2006 - 11:47 #15
yes yes nu virker det... men når man tryker tilbage fra en update til formen , så forsvinder datane , hvordan kan man undgå dette .

husk at smide en indslag..
Kommentar: ldanielsen
11/04-2006 11:19:34

update filen starter sådan_:

<%

Const adOpenKeyset = 1
Const adLockOptimistic = 3

Set Conn = Server.CreateObject("ADODB.Connection")
Avatar billede phi-del Nybegynder
11. april 2006 - 11:58 #16
øøjeg mener svar :)
Avatar billede ldanielsen Nybegynder
11. april 2006 - 12:16 #17
Svar

Jeg tror ikke du kan undgå at felterne tømmes, det gør de bar sommetider. Men jeg er ikke sikker ...
Avatar billede phi-del Nybegynder
18. april 2006 - 08:48 #18
takker for hjælpen :)
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