un problema....magari per voi è semplice

om salvadig

Nuovo Utente
29 Mag 2008
4
0
0
www.marcelloscarabelli.it
come dicevo...è un problema che mi tormenta...scusatemi, sono nuovo e ringrazio chi mi può aiutare

Microsoft OLE DB Provider for ODBC Drivers error '80004005'

[Microsoft][ODBC Microsoft Access Driver] Field 'messaggio.provenienza' cannot be a zero-length string.

/guest/inserisci_messaggio.asp, line 40
 
Significa che quel campo è obbligatorio.

Se usi Access devi impostare su SI la proprietà "consenti lunghezza zero"; se usi MySQL devi impostare il campo come NULL.

Oppure tagli la testa al toro e, in fase di inserimento o modifica del record, in quel campo ci metti un trattino, un underscore o quello che ti pare, pur di valorizzarlo.

Naturalmente in fase di lettura dei dati controlli che se quel campo è uguale al simbolo che hai scelto, non lo mostri.

Ciao!
 
Significa che quel campo è obbligatorio.

Se usi Access devi impostare su SI la proprietà "consenti lunghezza zero"; se usi MySQL devi impostare il campo come NULL.

Oppure tagli la testa al toro e, in fase di inserimento o modifica del record, in quel campo ci metti un trattino, un underscore o quello che ti pare, pur di valorizzarlo.

Naturalmente in fase di lettura dei dati controlli che se quel campo è uguale al simbolo che hai scelto, non lo mostri.

Ciao!

Ok grazie.
In caso usassi Access, in che menu/scelta si trova "consenti lunghezza zero" che mi dicevi?
Oppure...ammettiamo invece di voler modificare la pagina con un semplice blocco note...che si fa?
Devo postarti il codice che mi causa all'errore? L'ho riletto più volte e penso che ci sia un errore di sintassi nella riga 40, quella incriminata...
HELP! Grazie
 
Ti faccio un esempio semplice in cui:

1. recupero un campo facoltativo da un form;

2. controllo se è stato valorizzato;

3. se è stato valorizzato inserisco il valore, sennò un carattere come il trattino;

4. in fase di stampa a video faccio il controllo inverso, ovvero se è un trattino non lo stampo o stampo un testo di errore, oppure stampo il valore.

INSERIMENTO

<%
Dim campo
campo = Request.Form("campo")
If campo = "" Then
campo = "-"
Else
campo = Replace(campo, "'", "''")
End If
NomeConnessione.Execute("INSERT INTO tabella (campo) VALUES ('" & campo & "')")
%>

STAMPA A VIDEO

<%
If NomeRecordset("campo") = "-" Then
Response.Write "Il campo non è stato valorizzato"
Else
Response.Write "Il valore del campo è " & NomeRecordset("campo")
End If
%>

Spero di essere stato chiaro.

Ciao ;)
 
il codice incriminato

come dicevo...è un problema che mi tormenta...scusatemi, sono nuovo e ringrazio chi mi può aiutare

Microsoft OLE DB Provider for ODBC Drivers error '80004005'

[Microsoft][ODBC Microsoft Access Driver] Field 'messaggio.provenienza' cannot be a zero-length string.

/guest/inserisci_messaggio.asp, line 40

Allora....dicevamo...il messaggio di errore è questo. :D

Il codice della pagina che o causa è il seguente:
---------------------------------------------------------------------

<html>
<head>


<style type="text/css">
<!--
.testo { font-family: Arial; font-size: 10px; font-style: normal; color: #CCCCCC}
.TESTO2 { font-family: Arial; font-size: 12px; font-style: normal; line-height: normal; color: #000000}
-->
</style>
<SCRIPT LANGUAGE="JavaScript">

function NewWindow() {
opener.location.href="guest/visualizmess.asp";
window.close();



}

</SCRIPT>
</head>
<body bgcolor="#000000" background="../images/sfondo_blu2.gif" >

<form method="post" action="inserisci_messaggio.asp">

<table width="185" border="1" bordercolor="#999999" align="left">
<tr bgcolor="#CC0000">
<td height="12">
<div align="center" class="TESTO2"><b>LASCIA IL TUO COMMENTO</b></div>
</td>
</tr>
</table>
<br>
<br>
<br>
<table width=155 border=0>
<tr>
<td width=6% class="testo">&nbsp;
<td width=94% class="testo"> <b><font color="#C0C0C0">NOME</font></b> <br>
<input type=text name=Nome size=20>
</td>
</tr>
<tr>
<td width=6% class="testo">&nbsp;
<td width=94% class="testo"> <b><font color="#C0C0C0"><span class="testo">E-MAIL</span></font></b>
<br>
<input type=text name=Email size=20>
</td>
</tr>
<tr>
<td width=6% class="testo"> <b></b>
<td width=94% class="testo"> <b><font color="#C0C0C0" class="testo">MESSAGGIO</font></b><br>
<textarea rows="5" name="Messaggio" cols="17"></textarea>
</table>

<input type="submit" value="Invia" name="Invia"></form>


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

GRAZIE infinite a chi mi aiuterà a risolvere il problema e anche chi proverà a farlo! :fonzie:
---
Marcello
 

Discussioni simili