Försöker göra så man kan ändra uppgifterna på sina vänner, problemet ligger i att kommentaren och kategorin inte uppdateras, om man har träffats IRL uppdateras. Vad gör jag för fel?
Kod:
protected void UpdateFriend_Click(object obj, CommandEventArgs e)
{
if (Page.IsValid)
{
using (MySqlConnection objConnection = new MySqlConnection(ConfigurationManager.AppSettings["DatabaseConnection"]))
{
objConnection.Open();
using (MySqlCommand objCommand = new MySqlCommand("", objConnection))
{
string intIRL;
if (cbIRL.Checked)
{
intIRL = "1";
}
else
{
intIRL = "0";
}
objCommand.CommandText = "UPDATE tblFriends SET strComment = ?strComment, intCategory = ?intCategory, intIRL = ?intIRL WHERE intUserID = ?intUserID AND intFriendID = ?intFriendID";
objCommand.Parameters.Add("?strComment", Convert.ToString(tbComment.Text));
objCommand.Parameters.Add("?intCategory", Convert.ToInt32(ddlCategory.SelectedValue));
objCommand.Parameters.Add("?intIRL", Convert.ToInt32(intIRL));
objCommand.Parameters.Add("?intUserID", Convert.ToInt32(Session["intID"]));
objCommand.Parameters.Add("?intFriendID", Convert.ToInt32(e.CommandArgument));
objCommand.ExecuteNonQuery();
}
objConnection.Close();
Response.Redirect("Friends.aspx?intID=" + Convert.ToString(Request.QueryString["intID"]));
}
}
}
strComment och intCategory uppdateras alltså inte utan det gamla värdet finns kvar. Om jag däremot byter ut "tbComment.Text" mot t.ex "lorem lipsum" så uppdateras det i databasen. Lika så för kategorin.
tbComment och ddlCategory finns i .aspx filen (kör med codebehind som är kompilerad)
Varför använder du dina intIRL som strängar först och konverterar dem sedan till heltal? Vore det inte bättre att använda dem som heltal direkt?
Att du prefixar med int gör det lite förvirrande när du sedan använder dem som strängar.
Har nu ändrat så som du säger Zaiman, det känns mer "rätt".
ordell: När man trycker upp sin "ändra ruta" så fylls ddlCategory med alla kategorier, och tbComment med den nu varandra kommentaren. Lägger upp hela koden så blir det nog lättare för er att förstå hur jag har gjort.
Nu får ursäkta hur det ser ut, jag är som sagt inte vad vid ASP.NET tänkandet utan har precis gått över från ASP.
Var min kod så ful så att den avskräckte er? ;)
Jag har funderat lite över problemet. Kan det ha och göra med att texboxen och dropdownlisten ligger i en updatepanel och får nytt värde varje gång den öppnas?
EDIT
Gör om och gör rätt så fungerar det. Jag gjorde om allt ifrån början och vips så fungerade det.
/ Timmie
274 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e