21. oktober 2007 - 21:46
Der er
17 kommentarer og 1 løsning
Hvorfor indsættes der ikke noget i databasen?
Jeg har lavet mig denne lille methode, som jeg selv synes ser rigtig nok ud, men hvorfor blir data'en ikke opdateret i db? protected bool updateEntry() { SqlConnection cn = new SqlConnection(ConfigurationManager.ConnectionStrings["blogConnectionString"].ConnectionString); cn.Open(); SqlCommand upd = new SqlCommand("UPDATE entries SET title = @title, publish = @publish, text = @text WHERE id = @id", cn); upd.Parameters.Add("@title", SqlDbType.VarChar); upd.Parameters.Add("@text", SqlDbType.Text); upd.Parameters.Add("@publish", SqlDbType.Int); upd.Parameters.Add("@id", SqlDbType.Int); upd.Parameters["@title"].Value = titleInput.Text; upd.Parameters["@text"].Value = textInput.Text; upd.Parameters["@publish"].Value = publishInput.SelectedValue; upd.Parameters["@id"].Value = Request.QueryString["id"]; int result = upd.ExecuteNonQuery(); cn.Close(); if (result == 1) { return true; } else { return false; } }
Annonceindlæg tema
Cloud & AI
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
21. oktober 2007 - 21:55
#1
Den mest nærligende mistanke er at der ikke er noget i din: Request.QueryString["id"]; når du kalder updateEntry().
21. oktober 2007 - 22:12
#2
Det har jeg lige tjekket og der er der noget i min querystring
21. oktober 2007 - 22:14
#3
Hvordan kommer du til den side hvor du kalder updateEntry() - er det ikke ved at submitte en form?
21. oktober 2007 - 22:18
#4
Jo det gør jeg når jeg klikker på en knap, som har denne code-behind: protected void btnSubmit_Click(object sender, EventArgs e) { if(inputAction.Value == "update") { if(updateEntry()) { statusLbl.Visible = true; statusLbl.Text = "Entry er updateret korrekt!<br /><br />"; } } else if(inputAction.Value == "create") { if (insertEntry()) { redirectAndClear("Din entry er sat korrekt ind!"); } } } Jeg har også debugget mig frem til at inputAction.Value faktisk er "update" og jeg har tjekket at jeg kommer ind i updateEntry metoden
21. oktober 2007 - 22:22
#5
Hvor kommer id så fra?
21. oktober 2007 - 22:25
#6
Fra min url .../entry.aspx?id=8
21. oktober 2007 - 22:30
#7
Så du klikker på et link med id'et. Kommer til siden med formen og knapperne. Og trykker på submit-knappen som så fyre sin btnSubmit_Click(). Korrekt forstået
21. oktober 2007 - 22:33
#8
Yeps - jeg har også prøvet at skrive Respone.Write(Request.QueryString["id"]); og så skriver den 8 på skærmen
21. oktober 2007 - 22:34
#9
og 8 findes i db'en ? :D
21. oktober 2007 - 22:35
#10
yeps
21. oktober 2007 - 22:38
#11
Du henter ikke data ind fra tabellen i Page_Load inden btnSubmit_Click kaldes?
21. oktober 2007 - 22:38
#12
prøv at køre din sql uden parameters.. og tjek også med din debugger, at alle parameters har en værdi.. måske er nogle af felterne i db'en sat til ikke at kunne modtage null tænker primært på denne.. upd.Parameters["@publish"].Value = publishInput.SelectedValue; burde måske være upd.Parameters["@publish"].Value = publishInput.SelectedItem.Value
21. oktober 2007 - 22:39
#13
Er du sikker på at updateEntry() rent faktisk bliver kaldt? Der skal jo være opfyldt at inputAction.Value == "update" før at det sker.
21. oktober 2007 - 22:50
#14
>>erikjacobsen - Jo det gør jeg - der flyder jeg jo data i mine formular felter, så deres values er sat til at jeg klikker på btnSubmit_Click
21. oktober 2007 - 22:53
#15
Det kan vist forstås på flere måder. Det kan mit spørgsmål nok også. Mere direkte: du bruger ispostback korrekt?
22. oktober 2007 - 18:18
#16
erikjacobsen >>> Det var jo lige det der var galt - jeg har nu læst lidt om hvad postback er og det var selvfølgelig det som var galt. Svar og du får point
22. oktober 2007 - 20:13
#17
Nej tak, jeg samler slet slet ikke på point.
22. oktober 2007 - 20:52
#18
oki så - men et tak skal du nu alligevel ha
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.