GimboMedlem sedan dec. 20001 626 inlägg Jag får felmeddelandet:
Provider fel '80020005'
Typblandningsfel.
på rad 43 i denna kod:
<!-- #include file="adovbs.inc" -->
<html>
<head>
<title>Uppdatering av databas</title>
</head>
<body>
<% If Request.Querystring("action") = "" then %>
<p>Uppdatera databasen:</p>
<p> </p>
<form type="method" action="kunskap.asp?action=add" method="POST">
<input type="hidden" name="datum" value="<%Date%>">
<input type="text" name="kunskap"><p>
<input type="text" name="kunskap"><p>
<input type="text" name="kunskap"><p>
<input type="text" name="kunskap"><p>
<input type="text" name="kunskap"><p>
<input type="submit" value="GO">
</form>
<% End if %>
<% If Request.Querystring("action") = "add" then %>
<%
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("databasen.mdb")
%>
<%
Set RecSet = Server.CreateObject("ADODB.Recordset")
Addera = "SELECT * FROM kunskap"
RecSet.Open Addera, Connect, adOpenStatic, adLockOptimistic
For i = 1 to request.form("kunskap").count
RecSet.AddNew
RecSet("kunskap") = Request.Form("kunskap")(i)
RecSet("datum") = Request.Form("datum")
RecSet.Update
next
RecSet.Close
Connect.Close
Set Connect = Nothing
response.write "databasen uppdaterad, tillbaks till admin sidan"
%>
<% End if %>
</body>
</html>
Jag vill nämligen lägga till nya 5st poster i databasen, det är vad scriptet går ut på...
databasen ser ut så här:
kunskap
- ID (räknare)
- kunskap (PM)
- datum (datum/tid)
LarsGMedlem sedan dec. 200012 464 inlägg RecSet("datum") = cdate(Request.Form("datum"))
GimboMedlem sedan dec. 20001 626 inlägg nu får jag felmeddelandet:
Körningsfel i Microsoft VBScript fel '800a000d'
Inkompatibla typer: 'cdate'
vad är det cdate gör?
LAMPMedlem sedan mars 2002777 inlägg Cdate koverterar till datatypen Date. Antingen har du ett konstigt förmat på Request.Form("datum") eller så är den tom.
GimboMedlem sedan dec. 20001 626 inlägg aha oke nu hitta jag felet, som value på datum hade jag skrivit så här: value="<%Date%>" vilket är fel det ska vara value="<%=Date%>"
jag har en till fråga nu, hur gör jag för att det ska gå att posta 3 ny poster i databasen utan att få ett felmeddelande, för nu är det så att det inte går att posta 3 poster utan man måste fylla ut alla 5 fält
solbulleMedlem sedan mars 20015 287 inlägg Kanske...
<!-- #include file="adovbs.inc" -->
<html>
<head>
<title>Uppdatering av databas</title>
</head>
<body>
<% If Request.Querystring("action") = "" then %>
<p>Uppdatera databasen:</p>
<p> </p>
<form type="method" action="kunskap.asp?action=add" method="POST">
<input type="hidden" name="datum" value="<%Date%>">
<input type="text" name="kunskap"><p>
<input type="text" name="kunskap"><p>
<input type="text" name="kunskap"><p>
<input type="text" name="kunskap"><p>
<input type="text" name="kunskap"><p>
<input type="submit" value="GO">
</form>
<% End if
If Request.Querystring("action") = "add" then
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("databasen.mdb")
Set RecSet = Server.CreateObject("ADODB.Recordset")
Addera = "SELECT * FROM kunskap"
RecSet.Open Addera, Connect, adOpenStatic, adLockOptimistic
For i = 1 to request.form("kunskap").count
If Request.Form("kunskap")(i) <> "" then
RecSet.AddNew
RecSet("kunskap") = Request.Form("kunskap")(i)
RecSet("datum") = Request.Form("datum")
RecSet.Update
End If
next
RecSet.Close
Connect.Close
Set Connect = Nothing
response.write "databasen uppdaterad, tillbaks till admin sidan"
End if %>
</body>
</html>
GimboMedlem sedan dec. 20001 626 inlägg Tack det fungera, vad är det du har gjort med koden, du la till detta såg jag:
If Request.Form("kunskap")(i) <> "" then
massa jox
end if
Vad står dessa tecken <> för d har jag aldrig fattat?
@ndersMedlem sedan juni 200032 969 inlägg <> betyder skilt från.
Följande betyder samma sak:
if not strVariabel = "Tom" then
och
if strVariabel <> "Tom" then
Mvh,
Inte lika med eller skilt ifrån skrivs på flera olika sätt och olika språk har olika operatorer för detta.
Som @nders skrev kan man i VB skriva:
if not strVariabel = "Tom" then
och
if strVariabel <> "Tom" then
medan man i högnivåspråk använder operatorn != I PHP kan det tex se ut så här: (där det senaste är att föredra) Har du tittat något på någon variant av .NET känner du säkert igen det.
if (!($strVariabel == 5)) {
// Gör något
}
eller
if ($strVariabel != 5) {
// Gör något
}
spangoMedlem sedan juni 20008 205 inlägg
medan man i högnivåspråk använder operatorn !=
Nja. Snarare är det språk som härstammar från C som använder !=, VB är mer högnivåspråk än C men använder ändå <>.
Både:
C, C++, Java, Phyton använder !=. Och de är ju de flitigast använda, men å andra sidan så är fungerar de ungefär lika och bygger en del på C. Men du har helt klart rätt som vanligt. ;)