C'est une application de formulaires Web et j'ai de la difficulté à trouver exactement ce qui ne va pas. J'essaie d'insérer des informations dans le tableau logins
.Cette requête d'insertion dans webforms est une erreur et je ne sais pas pourquoi
Tout fonctionne à part quand j'ajoute [User]
qui est le nom d'utilisateur de la personne connectée à l'époque. il y a une autre entrée pour le nom d'utilisateur mais cela fonctionne bien.
Le code aspx.cs derrière:
protected void add_Click(object sender, EventArgs e)
{
string currentUser = User.Identity.Name;
int webid = Convert.ToInt32(ddlWebsite.SelectedItem.Value);
string username = username.Text;
string _email = email.Text;
string pass = password.Text;
string Ainfo = info.Text;
string loguser = User.Identity.Name;
//string connectionstring = "Data Source=(LocalDb)\\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\aspnet-WebProg-20170720092452.mdf;Initial Catalog=aspnet-WebProg-20170720092452;Integrated Security=true";
SqlConnection connection = new SqlConnection(ConfigurationManager.ConnectionStrings["DefaultConnection"].ToString());
string query = "Insert into Logins(WebsiteID, Username, Password, AdditionalInfo, User, Email) Values (@webid, @username, @pass, @Ainfo, @loguser, @_email)";
SqlCommand insertQuery = new SqlCommand(query,connection);
insertQuery.Parameters.AddWithValue("@webid", webid);
insertQuery.Parameters.AddWithValue("@username", username);
insertQuery.Parameters.AddWithValue("@pass", pass);
insertQuery.Parameters.AddWithValue("@Ainfo", Ainfo);
insertQuery.Parameters.AddWithValue("@loguser", User.Identity.Name);
insertQuery.Parameters.AddWithValue("@_email", _email);
connection.Open();
insertQuery.ExecuteNonQuery();
connection.Close();
}
Le balisage ASPX:
Ajouter un Connexion
<div id="websiteDetails" class="col-md-4">
<label id="Label1" for="websiteName">
Website Name:
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:DefaultConnection %>" SelectCommand="SELECT [Id], [Name] FROM [WebsiteList]"></asp:SqlDataSource>
<asp:DropDownList ID="ddlWebsite" runat="server" DataSourceID="SqlDataSource1" DataTextField="Name" DataValueField="Id"></asp:DropDownList>
<asp:Button ID="Button1" runat="server" Text="AddAWebsite" />
</label>
<label id="Label3" for="username">
Username/Email:
<asp:TextBox ID="username" runat="server"></asp:TextBox>
</label>
<label id="Label4" for="password">
Password:
<asp:TextBox ID="password" runat="server"></asp:TextBox>
</label>
<label id="Label6" for="email">
Email Address:
<asp:TextBox ID="email" runat="server"></asp:TextBox>
</label>
<label id="Label5" for="info">
Additional Info:
<asp:TextBox ID="info" runat="server"></asp:TextBox>
</label>
</div>
<asp:SqlDataSource ID="SqlDataSource2" runat="server"></asp:SqlDataSource>
<div id="loginDetails" class="col-md-4">
<p>Website not showing up in the list? Add a Website to the list.</p>
<label id="Label7" for="websiteName">
Website Name:
<asp:TextBox ID="Wname" runat="server"></asp:TextBox>
</label>
<label id="Label8" for="link">
Website Address:
<asp:TextBox ID="link" runat="server"></asp:TextBox>
</label>
</div>
<asp:Button ID="AddWebsite" runat="server" Text="Add Website" OnClick="AddWebsite_Click" />
</div>
<asp:Button ID="add" runat="server" Text="Add Login" class="btn btn-default" OnClick="add_Click" />
This is the error message that doesn't tell me much at all
Quels sont les types de colonnes dans la base de données? –
Quelles sont les valeurs des variables que vous ajoutez en tant que paramètres? –
l'erreur est en fait exceptionnellement claire quant à ce qui est faux. Voir la réponse de Rahul .. – BugFinder