Salve a tutti, sto creando un semplice social network che ho intenzione di portare all'esame, ma ho un problema riguardante la connessione al database MySql con una pagina .aspx .
Posto parte del sorgente aspx (chiamato default.aaspx) per darvi un idea:
<div id="dvRegistrazione" runat="server">
<table id="tableReg" align="center">
<tr>
<th colspan="2" align="left"> <h4>Non sei ancora registrato? Registrati ora!</h4></th>
</tr>
<tr>
<td><h1 class="scrittura">Nome</h1>
<asp:TextBox id="txtNomeUser" runat="server" name="nome" onDblClick="this.value=''"> </asp:TextBox>
</td>
</tr>
<tr>
<td>
<h1 class="scrittura">Password (max 30 caratteri)</h1>
<asp:TextBox id="txtPassReg" runat="server" TextMode="Password" name="password" MaxLength="30" onDblClick="this.value=''"> </asp:TextBox>
</td>
</tr>
Questo codice, con un Button "Registrati" mi rimanda ad una pagina "registrato.aspx" dove i dati verranno registrati nel database e mi ridarà una striga :" registrazione avvenuta!".
Il problema sorge quando, come accennato sopra, tento di inserire i dati della registrazione nel database.
Questo è il codice che ho utilizzato per la connessione e l'inserimento dei dati:
protected void Page_Load(object sender, EventArgs e)
{
MySqlConnection MyConn = new MySqlConnection();
MyConn.ConnectionString = "Server=localhost; Port=n°porta; DATABASE=nomedb; UID=user; PWD=pass";
MyConn.Open();
string Nome = Request.Form["nome"];
string Cognome = Request.Form["cognome"];
string Password = Request.Form["password"];
string Email = Request.Form["email"];
string Sesso = Request.Form["sesso"];
//crea l'oggetto command
MySqlCommand MyComm = MyConn.CreateCommand();
// imposta il tipo di comando
MyComm.CommandType = CommandType.Text;
MyComm.CommandText = "INSERT INTO ACCOUNT(NOME, COGNOME, PASSWORD, EMAIL, SESSO) VALUES (" + Nome + "," + Cognome + "," + Password + "," + Email + "," + Sesso + ");";
MyComm.ExecuteNonQuery();
MyConn.Close();
}
N.B. le librerie MySql.Data; MySql.Data.MySqlClient; System.Data sono state inserite.
P.S il messaggio ( o meglio parte del messaggio) di errore che mi ritorna è il seguente:
(0x80004005): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ',,,)'.
Non capisco come mai mi dia questo errore, se provo ad inserire i dati da mysql Query Browser nello stesso modo non mi crea problemi :/
Spero possiate aiutarmi. Grazie![]()

Rispondi quotando