Har du ett fält i databasen som heter intresse och som inte tillåter null-värde?
Fixa det genom att tillåta nullvärde...
10 svar · 467 visningar · startad av costodia
Jag får detta felmeddelandet:
Microsoft OLE DB Provider for ODBC Drivers error '80004005'
[Microsoft][ODBC Microsoft Access Driver] Field 'radannonser.intresse' cannot be a zero-length string.
/brev/enter.asp, line 37
efter att jag försökt lägga in en post till genom att skriva så här i enter.htm
<html>
<head>
<title>Mata in radannonserna</title>
<link REL="STYLESHEET" TYPE="TEXT/CSS" HREF="../godzilla/mailisarmenyn.css">
<script>
<!--
if(top == self) self.location = "index.htm";
//-->
</script>
<script LANGUAGE="JAVASCRIPT">
<!--
defaultStatus ="Copyright © 2000 Costodia - All Rights Reserved ©."
// -->
</script>
<script language="JavaScript">
<!--
var message="© 2000 Costodia";
function click(e) {
if (document.all) {
if (event.button == 2) {
alert(message);
return false;
}
}
if (document.layers) {
if (e.which == 3) {
alert(message);
return false;
}
}
}
if (document.layers) {
document.captureEvents(Event.MOUSEDOWN);
}
document.onmousedown=click;
// -->
</script>
</head>
<body>
<form ACTION="enter.asp" METHOD="POST">
<table border="0" cellpadding="3" cellspacing="0">
<tr>
<td valign="top"><strong>Tjej. Kille, Man <br>
eller Kvinna?</strong></td>
<td valign="top"><b><select NAME="kategori" size="1" class="orange">
<option>Man </option>
<option>Kvinna </option>
<option>Tjej </option>
<option>Kille </option>
</select></b></td>
</tr>
<tr>
<td valign="top"><div align="right"><p><strong>Rubrik</strong></td>
<td valign="top"><b><input TYPE="TEXT" NAME="rubrik" size="20" class="text"></b></td>
</tr>
<tr>
<td valign="top"><div align="right"><p><strong>Mailtext</strong></td>
<td valign="top"><b><textarea NAME="text" rows="4" cols="26" class="text"></textarea></b></td>
</tr>
<tr>
<td valign="top" align="right"><strong>Ditt Namn</strong></td>
<td valign="top"><b><input TYPE="TEXT" NAME="namn" size="20" class="text"></b></td>
</tr>
<tr>
<td valign="top"><strong>Ålder</strong></td>
<td valign="top" class="lightblue"><select size="1" name="telefon">
<option>0-14</option>
<option>15-17</option>
<option>18-23</option>
<option>24-99</option>
</select></td>
</tr>
<tr>
<td valign="top" align="right"><strong>E-post</strong></td>
<td valign="top"><b><input TYPE="TEXT" NAME="epost" size="20" class="text"></b></td>
</tr>
<tr>
<td valign="top"></td>
<td valign="top"><input TYPE="submit" VALUE="Sätt in annonsen" class="orange"><input
TYPE="reset" VALUE="Rensa allt" class="orange"></td>
</tr>
<tr>
<td valign="top"></td>
<td valign="top"></td>
</tr>
</table>
</form>
<p><a href="../fptest/Default.htm" target="_top">Tillbaka till Costodia.coms Startsida</a></p>
<table border="0" cellpadding="0" cellspacing="0" background="pricken.gif" width="100%">
<tr>
<td><img src="9CCECEprick.gif" width="1" height="1" alt="9CCECEprick.gif (77 bytes)"></td>
</tr>
</table>
<p>Om du har fråger eller kommentarer Skicka dem till<br>
Hanna Nykvist på <a href="mailto:HannaNykvist@costodia.com">HannaNykvist@costodia.com</a>
</p>
</body>
</html>
och i enter.asp(som processar det som man matar in i enter.htm
<!--#include file="functions.asp"-->
<%
set rRubrik = Request("rubrik") ' Hämta annonsrubrien från formuläret
set rText = Request("text") ' Hämta annonstexten...
set rNamn = Request("namn") ' Hämta annonsörnamnet...
set rTelefon = Request("telefon") ' telefonnummer...
set rEpost = Request.Form("epost") ' e-postadress...
set rKategori = Request("kategori") ' kategori...
' Kontrollera värdena från formuläret
if rRubrik = "" or rText = "" then
Response.Write("<H3>Rubrik eller text saknas</H3>Du måste ha en rubrik och en annonstext till din annons!")
else
if rNamn = "" then
rNamn = "Saknas"
end if
if rTelefon = "" then
rTelefon = "Saknas"
end if
if rEpost = "" then
rEpost = "Saknas"
end if
' Skapa ett databasobjekt
set DBConnection = Server.CreateObject("ADODB.Connection")
' Anslut till databasen med en fil
DBConnection.Open "driver={Microsoft Access Driver (*.mdb)};dbq=d:\scripts\mailisar.mdb"
' Skapa SQL-satsen vi använder för att infoga data
SQLstring = "INSERT INTO radannonser (kategori, rubrik, annonstext, namn, telefon, epost) VALUES ('"& rKategori &"', '"& rRubrik &"','"& rText &"', '"& rNamn &"', '"& rTelefon &"', '"& rEpost &"')"
' Utför SQL-satsen
DBConnection.Execute(SQLstring)
Response.Write("<H3>Inmatningen lyckades!</H3>Din annons är nu inlagd.")
'Stäng databaskopplingen
DBConnection.Close
set DBConnection = Nothing
end if
%>
<html>
<head>
<title></title>
<link REL="STYLESHEET" TYPE="TEXT/CSS" HREF="../godzilla/costodiamin.css">
</head>
<body>
<p><a HREF="show.asp">Titta på annonserna</a><br>
<a HREF="enter.htm">Lägg in en ny annons</a></p>
</body>
</html>
Är det någon som ser vad jag gör för fel?
tack på förhand,
Har du ett fält i databasen som heter intresse och som inte tillåter null-värde?
Fixa det genom att tillåta nullvärde...
Kör du Access? Markera kolummen i fråga och kolla intällningen "Tillåt nolläng" och sätt den till 'Ja'.
ungefär var ställer jag in det?
om jag trycker högerknapp så finns det inget val som säger "Tillåt nolläng" .
fast jag verkar inte få upp det felmeddelandet längre utan nu går den rätt igenom och skriver ut "Saknas" när man fyllt i formuläret på http://www.costodia.com/kompis-2/enter.htm efter att jag lagt till det i enter.asp
end if
if rIntresse = "" then
rIntresse = "Saknas"
det hör till saken att jag gick in i officehjälpen och fisk samma svar som ni gav mig
Gör så att ett Text-, PM- eller Hyperlänk-fält kan ta emot nollängdssträngar
Öppna den tabell som innehåller fältet i designläge.Klicka i det fält som du vill ange en nollängdssträng i.
Kontrollera att fältets egenskap Tillåt nollängd har värdet Ja.
Obs! Endast Text-, PM- och Hyperlänkfält kan ta emot nollängdssträngar.
men var hittar jag "egenskaper"?
Tack på förhand.
Mvh Martin Persson
Costodia.com, martinpersson.com, Merinternet.com , Sveriges.com , Sigill.net , dress.nu , mittinternet.com
[Redigerat av costodia den 31 maj 2001]
När du står med markören i det fältet du vill redigera så kommer det upp en ruta längre ned i samma formulär där du kan ändra alla parametrar för fältet...
okej tack,
nu funkar det, men nu spökar databasen
som skrivet så ser koden ut så här i enter.asp
<!--#include file="functions.asp"-->
<%
set rRubrik = Request("rubrik") ' Hämta annonsrubrien från formuläret
set rText = Request("intresse") ' Hämta intressetexten...
set rText = Request("text") ' Hämta annonstexten...
set rNamn = Request("namn") ' Hämta annonsörnamnet...
set rTelefon = Request("telefon") ' telefonnummer...
set rEpost = Request.Form("epost") ' e-postadress...
set rKategori = Request("kategori") ' kategori...
' Kontrollera värdena från formuläret
if rRubrik = "" or rText = "" then
Response.Write("<H3>Rubrik eller text saknas</H3>Du måste ha en rubrik och en annonstext till din annons!")
else
if rNamn = "" then
rNamn = "Saknas"
end if
if rTelefon = "" then
rTelefon = "Saknas"
end if
if rEpost = "" then
rEpost = "Saknas"
end if
' Skapa ett databasobjekt
set DBConnection = Server.CreateObject("ADODB.Connection")
' Anslut till databasen med en fil
DBConnection.Open "driver={Microsoft Access Driver (*.mdb)};dbq=c:\wwwroot\fpdb\brev.mdb"
' Skapa SQL-satsen vi använder för att infoga data
SQLstring = "INSERT INTO radannonser (kategori, rubrik, intresse, annonstext, namn, telefon, epost) VALUES ('"& rKategori &"', '"& rRubrik &"', '"& rIntresse &"', '"& rText &"', '"& rNamn &"', '"& rTelefon &"', '"& rEpost &"')"
' Utför SQL-satsen
DBConnection.Execute(SQLstring)
Response.Write("<H3>Inmatningen lyckades!</H3>Din annons är nu inlagd.")
'Stäng databaskopplingen
DBConnection.Close
set DBConnection = Nothing
end if
%>
<html>
<head>
<title></title>
<link REL="STYLESHEET" TYPE="TEXT/CSS" HREF="../godzilla/costodiamin.css">
</head>
<body>
<p><a HREF="index.asp">Titta på annonserna</a><br>
<a HREF="enter.htm">Lägg in en ny annons</a></p>
Efter att varit inne på <a href="http://swecas.just.nu/" target="_blank">Swecas</a>
hemsida och läst om Greyhounds i Spanien !!<br>
Kommer vi nu ta betalt på företagens reklam på Hundbazar och alla inkomster kommer <font
color="#0000ff"><b>skänkas till Swecas!!</b></font><br>
Jag hoppas att många kommer annonsera på Hundbazar för att stödja denna insamling!!<br>
<b><a href="http://swecas.just.nu/" target="_blank">- Gå till SWECAS!!!!!</a></b><br>
<br>
Så om du vill stödja så kan du göra det genom att klicka på annonserna här under och
då får <font color="#FF0000">Swecas 2 kronor</font> per klick: <br>
<!--#include virtual="../hifull.asp"-->
</body>
</html>
och även om man fyller i ett värde så skriver den ut saknas.
Varför kör du en "Set" framför varje variabeltilldeling ifrån fomruläret?
Du vill ju bara ha värdet, ta bort "set"...
jag gjorde det och det funkar niu också, men tyvärr står det fortfarande "Saknas" när annonsen skrivs ut
har det liksom inget med zero-length string-en att göra nu längre ?
Skrivs det ut saknas vid alla if-satser?