Delvis udfyldning af formular med input til database
Jeg har en formular som ser sådan ud:<form action="modtag.asp" method="post" name="spiller" id="spiller">
<p class="h1o">Indtast dine oplysninger her </p>
<table width="500" border="0" cellspacing="0" cellpadding="0">
<tr>
<td class="h2o">Off-game</td>
<td class="h2o">In-game</td>
</tr>
<tr>
<td> </td>
<td> </td>
</tr>
<tr>
<td><label>Navn:</label>
<br>
<input name="navn" type="text" id="navn" size = "30"></td>
<td><label>Navn:</label>
<br>
<input name="ingame" type="text" id="ingame" size = "30"></td>
</tr>
<tr>
<td> </td>
<td> </td>
</tr>
<tr>
<td><label>Adresse:</label>
<br>
<input name="adresse" type="text" id="adresse" size = "30"></td>
<td><label>Karakter:</label>
<br>
<select name="karakter" id="karakter">
<option>Vælg her...</option>
<option>Dværg</option>
<option>Goblin</option>
<option>Grumler</option>
<option>Hvidelver</option>
<option>Nordfolket</option>
<option>Rytterfolket</option>
<option>Sejerfolket</option>
<option>Skovelver</option>
<option>Tyranfolket</option>
<option>Andet</option>
</select>
</td>
</tr>
<tr>
<td> </td>
<td> </td>
</tr>
<tr>
<td>
<label>Postnr.:</label>
<br>
<input name="postnr" type="text" id="postnr" size = "30">
<label></label></td>
<td> </td>
</tr>
<tr>
<td> </td>
<td> </td>
</tr>
<tr>
<td>By:<br>
<input name="by" type="text" id="by" size = "30"></td>
<td> </td>
</tr>
<tr>
<td> </td>
<td> </td>
</tr>
<tr>
<td><label>Telefonnummer:</label>
<br>
<input name="telefon" type="text" id="telefon" size = "30"></td>
<td> </td>
</tr>
<tr>
<td> </td>
<td> </td>
</tr>
<tr>
<td><label>E-mail:</label>
<br>
<input name="mail" type="text" id="mail" size = "30"></td>
<td> </td>
</tr>
<tr>
<td> </td>
<td> </td>
</tr>
<tr>
<td><label>Alder:</label>
<br>
<select name="alder" id="select" >
<option>Vælg her...</option>
<option>1950</option>
<option>1951</option>
<option>1952</option>
</select></td>
<td valign="bottom"><input type="submit" value="Gem"></td>
</tr>
</table>
</form>
Data bliver sendt via post til modtag.asp - det fungerer fint.
Jeg kunne godt tænke mig at man ikke behøver at udfylde alle felter, altså sådan at man selv kan bestemme hvor meget man vil oplyse.
Hvis man kun udfylder et par felter får man denne fejl:
Microsoft OLE DB Provider for ODBC Drivers error '80040e07'
[Microsoft][ODBC Microsoft Access Driver] Data type mismatch in criteria expression.
/asp/modtag.asp, line 58
Linie 58 ser sådan ud: Conn.Execute(strSQL)
Hele asp-koden er som følger:
<%
'Databaseforbindelse
set conn = server.createobject("ADODB.connection")
conn.Open "DBQ=" & server.mappath("../db/medlemmer.mdb") & ";Driver={Microsoft Access Driver (*.mdb)}"
' Tilføj data i database
strSQL = "Insert into Medlemmer (Navn, Ingame, Karakter, Adresse, Postnummer, Town, Telefonnummer, Mailadresse, Alder) values('"&Request.Form("navn")&"', '"&Request.Form("ingame")&"', '"&Request.Form("karakter")&"', '"&Request.Form("adresse")&"','"&Request.Form("postnr")&"', '"&Request.Form("by")&"', '"&Request.Form("telefon")&"','"&Request.Form("mail")&"','"&Request.Form("alder")&"')"
' SQL sætning eksekveres
Conn.Execute(strSQL)
' Tak for tilmelding
Response.Write "<H1>Tak for din tilmelding</H1>"
' Luk databaseforbindelse
Conn.Close
Set Conn = Nothing
%>
Datatypen for alle felter i databasen:
Obligatorisk: Nej
TilladNullængde: Ja
Hvordan får jeg det til at fungere?
