J'essaie de mettre à jour mes enregistrements de base de données, mais aucune modification n'est effectuée et aucun message d'erreur n'est affiché. J'ai vérifié la syntaxe, les valeurs que j'envoie, tout va bien .. des suggestions?ASP.NET: Les enregistrements dans la base de données ne sont pas mis à jour
C'est mon code qui a exécuté lorsque [Enregistrer] est cliqué:
ds.UpdateCommand = "UPDATE Users
SET Fullname='" + fname.Text + "',
Permission='" + per.SelectedValue + "',
Email='" + email.Text + "',
phone='" + phone.Text + "'
WHERE UserID=" + Session["userID"].ToString();
ds.Update();
Je lis des valeurs de formulaire rempli par l'utilisateur ds
est un SqlDataSource
Si je dois ajouter plus de détails laissez-moi savoir
EDITS:
Cette page est pour que l'utilisateur met à jour ses informations
Je définis les valeurs de formulaire sur Page_Load
en fonction des informations sur les utilisateurs qui existent déjà dans la base de données.
l'utilisateur modifie sa/son info et cliquez sur [Enregistrer]
après avoir braekpoints
, je trouve que la chaîne de requête prend les valeurs par défaut pas les nouveaux ones. que devrais-je faire?
Le code entier:
protected void Page_Load(object sender, EventArgs e)
{
Session["userID"] = Request.QueryString["id"];
SqlConnection cn = new SqlConnection();
cn.ConnectionString = ds.ConnectionString;
cn.Open();
SqlCommand cm = new SqlCommand();
cm.Connection = cn;
cm.CommandText = "select * from Users where UserID='" + Session["userID"].ToString() + "'";
SqlDataReader dr;
dr = cm.ExecuteReader();
if (dr.Read())
{
uname.Text = dr["username"].ToString();
fname.Text = dr["Fullname"].ToString();
per.SelectedValue = dr["Permission"].ToString();
email.Text = dr["Email"].ToString();
phone.Text = dr["phone"].ToString();
}
else Response.Redirect("Default.aspx");
dr.Close();
cn.Close();
}
protected void Button3_Click(object sender, EventArgs e)
{
ds.UpdateCommand = "update Users set Fullname='" + fname.Text + "', Permission='" + per.SelectedValue + "', Email='" + email.Text + "', phone='" + phone.Text + "' where UserID=" + Session["userID"].ToString();
ds.Update();
Response.Redirect("control_pan.aspx");
}
non son non nul, je pensais que aussi et je l'ai vérifié. J'ai édité la question, pourriez-vous jeter un oeil? – Meensat
ne fonctionne pas .. la requête est vide maintenant – Meensat
Je pense qu'il est préférable si vous affichez votre code et le balisage – Mubarek