Registrazione in un sito

  • Creatore Discussione Creatore Discussione Prudie
  • Data di inizio Data di inizio

Prudie

Nuovo Utente
27 Gen 2008
12
0
0
Nel mio progetto ho creato una pagina aspx (di seguito ho scritto il codice per intero). Come programma ho utilizzato "Microsoft Visual Web Developer 2005 Express Edition".
Volevo inserire un nuovo utente su un DataBase fatto con "Microsoft Office Access 2003".
Mi sapreste aiutare? E' molto importante.
Quale errore ho commesso?
Grazie per il vostro aiuto!

DEFAULT.ASPX
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Registrati</title>
<script language="javascript" type="text/javascript">
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
Username:<asp:TextBox ID="Username" runat="server"></asp:TextBox><br />
Password:<asp:TextBox ID="Password" runat="server" TextMode="Password"></asp:TextBox><br />
Nome:<asp:TextBox ID="Nome" runat="server"></asp:TextBox><br />
Cognome:<asp:TextBox ID="Cognome" runat="server"></asp:TextBox><br />
Età:<asp:TextBox ID="Eta" runat="server"></asp:TextBox><br />
Nazione:<asp:TextBox ID="Nazione" runat="server"></asp:TextBox><br />
Città:<asp:TextBox ID="Citta" runat="server"></asp:TextBox><br />
Indirizzo e-mail:<asp:TextBox ID="Mail" runat="server"></asp:TextBox><br />
<asp:Button ID="Button" runat="server" Text="Registrati" /><br />
<asp:Label ID="Label" runat="server" Text=""></asp:Label></div>
</form>
</body>
</html>

DEFAULT.ASPX.VB
Imports System.Data.OleDb
Partial Class _Default
Inherits System.Web.UI.Page
Protected Sub Button_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button.Click
Dim stringaconn As String
Dim percorso As String
Dim conn As OleDbConnection
Dim dbread As OleDbDataReader
Dim sql As String
Dim dbcomm As OleDbCommand
percorso = "C:\Documents and Settings\Utente\Desktop\Registrazione\Login.mdb"
stringaconn = " Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source = " & percorso & " ; "
conn = New OleDbConnection(stringaconn)
conn.Open()
sql = "Insert Into Tabella (Username,Password,Nome,Cognome,Eta,Nazione,Citta,Mail)"
sql &= "Values ("
sql &= "'" & Username.Text & "',"
sql &= "'" & Password.Text & "',"
sql &= "'" & Nome.Text & "',"
sql &= "'" & Cognome.Text & "',"
sql &= "'" & Eta.Text & "',"
sql &= "'" & Nazione.Text & "',"
sql &= "'" & Citta.Text & "',"
sql &= "'" & Mail.Text & "'"
sql &= ")"
dbcomm = New OleDbCommand(sql, conn)
dbread = dbcomm.ExecuteReader()
End Sub
End Class
 
Certo, l'ho scritto tutto io.
Questo è quello che esce.







Errore server nell'applicazione '/Registrazione'.
--------------------------------------------------------------------------------

Errore di sintassi nell'istruzione INSERT INTO.
Descrizione: Eccezione non gestita durante l'esecuzione della richiesta Web corrente. Per ulteriori informazioni sull'errore e sul suo punto di origine nel codice, vedere l'analisi dello stack.

Dettagli eccezione: System.Data.OleDb.OleDbException: Errore di sintassi nell'istruzione INSERT INTO.

Errore nel codice sorgente:

Il codice sorgente che ha generato questa eccezione non gestita può essere visualizzato soltanto durante la compilazione in modalità di debug. Per attivare tale modalità, eseguire una delle operazioni descritte di seguito, quindi richiedere l'URL:

1) Aggiungere una direttiva "Debug=true" all'inizio del file che ha generato l'errore. Esempio:

<%@ Page Language="C#" Debug="true" %>

Oppure:

2) Aggiungere la seguente sezione al file di configurazione dell'applicazione:

<configuration>
<system.web>
<compilation debug="true"/>
</system.web>
</configuration>

Se si utilizza la seconda tecnica, tutti i file all'interno dell'applicazione verranno compilati in modalità di debug. Con la prima tecnica verrà invece compilato in modalità di debug solo il file interessato.

Importante: l'esecuzione di applicazioni in modalità di debug causa un sovraccarico della memoria o una riduzione delle prestazioni. Assicurarsi che il debug di un'applicazione sia disattivato prima di distribuirla in un contesto di produzione.

Analisi dello stack:


[OleDbException (0x80040e14): Errore di sintassi nell'istruzione INSERT INTO.]
System.Data.OleDb.OleDbCommand.ExecuteCommandTextForSingleResult(tagDBPARAMS dbParams, Object& executeResult) +177
System.Data.OleDb.OleDbCommand.ExecuteCommandText(Object& executeResult) +194
System.Data.OleDb.OleDbCommand.ExecuteCommand(CommandBehavior behavior, Object& executeResult) +56
System.Data.OleDb.OleDbCommand.ExecuteReaderInternal(CommandBehavior behavior, String method) +105
System.Data.OleDb.OleDbCommand.ExecuteReader(CommandBehavior behavior) +92
System.Data.OleDb.OleDbCommand.ExecuteReader() +6
_Default.Button_Click(Object sender, EventArgs e) +486
System.Web.UI.WebControls.Button.OnClick(EventArgs e) +75
System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +97
System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +7
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +11
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +33
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +4886




--------------------------------------------------------------------------------
Informazioni di versione: Versione di Microsoft .NET Framework:2.0.50727.1433; Versione di ASP.NET:2.0.50727.1433
 
Ho risolto da me. Gli amministratori possono anche cancellare questa discussione.
 

Discussioni simili