Avatar billede c-lund Nybegynder
17. december 2002 - 18:20 Der er 1 kommentar og
1 løsning

Opdatering af database

Jeg har dette opdaterings script, men det virker ikke.
jeg kan godt hente informationerne frem i form felterne, men når jeg vil gemme for denne fejltype.
Fejltype:
Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][ODBC Microsoft Access-driver] Feltet "links.linkname" kan ikke indeholde en streng af længden nul.
/Temp/Ny mappe/opdater.asp, line 27


og hvis jeg går ind i access og siger ja til null længde, sletter den alle informationerne i den række jeg vil opdatere.

hvad kan der være galt?

-----------------------------------------------
<html>
<head></head>
<body>

<%
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("Database.mdb")
Conn.Open DSN

if request.servervariables("REQUEST_METHOD") = "POST" then
 
 
  strSQL="update links set "

  strSQL=strSQL & "linkname='" & Request.Form("linkname") & "', "
  strSQL=strSQL & "beskrivelse='" & Request.Form("beskrivelse") & "', "
  strSQL=strSQL & "linkurl='" & Request.Form("linkurl") & "'"
  strSQL=strSQL & "Where ID=" & Cstr(Session("ID"))





  'Gemmer/oppdater data i databasen
  Conn.Execute(strSQL)
end if
%>


<%
SQL = "SELECT * FROM links WHERE ID = " & Session("ID")
Set rs = Conn.Execute(SQL)
%>



<form method="POST" action="">

<table border="0" width="100%" cellspacing="0" cellpadding="2">
<tr valign="top">
<td valign="middle" align="left" colspan="2"><br>Opdater venligst oplysningerne i følgende felter:<strong></td>
</tr>
<tr valign="top">
  <td align="right"><p><b>Overskrift: </b></td>
  <td valign="middle" align="left">
<input type="text" name="Overskrift" size="40" value="<%=rs("linkname")%>"></td>
        </tr>
        <tr valign="top">
          <td align="right"><p><b>Nyhed: </b></td>
          <td valign="middle" align="left">
<textarea rows="10" name="Nyhed" cols="40"><%=rs("beskrivelse")%></textarea>
</td>
        </tr>
        <tr valign="top">
          <td align="right"><p><b>Skrevet af:</b></td>
          <td valign="middle" align="left">
<input type="text" name="SkrevetAf" size="40"value="<%=rs("linkurl")%>">
</td>
        </tr>
        <tr>
          <td><p align="center"><br>
          <input type="submit" value="Gem" name="">

<input type="button" value="Annuller" name="Annuller" onClick="java script:location.href='index.asp'"></p></td>
        </tr>
      </table>
</form>

</body>
</html>
Avatar billede eagleeye Praktikant
17. december 2002 - 18:28 #1
det er fordi du prøver at ligge en tom streng "" ind i en kolonne som ikke tillader en nullængde streng. I access kan du for en kolonne sætte Tilladnullængde til Ja.

Hvis du ikke mener du ligger en tom streng ind i databasen så det fordi dine form felter ikke hedder det samme som det du hendter med request.Form("xx")


Eks vis rs("linkurl") kommer i et felt: name="SkrevetAf
Men du forsøger at ligge data i kolonnen linkurl fra et felt med navet linkurl: Request.Form("linkurl")

Så du skal lige havde navne på input til at passe med dem du hendter.
Avatar billede c-lund Nybegynder
17. december 2002 - 18:32 #2
tak det virker, det var bare mig der havde set mig blind på teksten
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