14. januar 2006 - 18:27
Der er
7 kommentarer og 1 løsning
Henter ikke ny tekst fra tekstfelt
Har en multiline textbox hvor jeg skal kunne skrive noget nyt data til en mssql database. Når siden åbnes bliver dataene skrevet i textboxen, men når jeg så klikker på opdater knappen tager den ikke mine rettelser med som jeg har lavet i textboxen. <asp:TextBox ID="contentField" runat="server" Height="387px" TextMode="MultiLine" Width="750px" style="border:solid 1px #000000"></asp:TextBox><br /> <br /> <asp:Button ID="Button1" runat="server" CssClass="button" OnClick="Button1_Click" Text="Send" /><br /> Og her er min C# kode protected void Button1_Click(object sender, EventArgs e) { string newMenu = menuTitle.Text.Replace("'", "''"); string newContent = contentField.Text.Replace("'", "''"); string sql = "UPDATE my_table SET my_table.content = '"+newContent+"', titel = '"+newMenu+"' WHERE id = "+ pageId.ToString(); SqlCommand updateContent = new SqlCommand(sql, objConnection); updateContent.ExecuteNonQuery(); } Hvad er galt?
Annonceindlæg fra Infor
14. januar 2006 - 18:33
#1
du skal kun trække værdien fra databasen og proppe den i teksboksen, hvis der ikke er tale om et postback. mvh
14. januar 2006 - 18:33
#2
if(!IsPostBack) LoadData(): i page_load mvh
14. januar 2006 - 18:35
#3
du kan også prøve med asdf"] protected void Button1_Click(object sender, EventArgs e) { string newMenu = Request.Form["menuTitle"].Replace("'", "''"); string newContent = Request.Form["contentField"].Replace("'", "''"); string sql = "UPDATE my_table SET my_table.content = '"+newContent+"', titel = '"+newMenu+"' WHERE id = "+ pageId.ToString(); SqlCommand updateContent = new SqlCommand(sql, objConnection); updateContent.ExecuteNonQuery(); }
14. januar 2006 - 18:35
#4
men snepnets løsning er den mest korrekte.
14. januar 2006 - 18:39
#5
du bør for øvrigt benytte parametre istedet for at lave replaces etc. mvh
14. januar 2006 - 19:00
#6
altså noget i denne stil: protected void Button1_Click(object sender, EventArgs e) { string sql = "UPDATE my_table SET my_table.content = @content, titel = @title WHERE id = @id"; SqlCommand updateCommand = new SqlCommand(sql, connection); updateCommand.Parameters.Add("@content", SqlDbType.NVarChar); updateCommand.Parameters["@content"].Value = contentField.Text; updateCommand.Parameters.Add("@titel", SqlDbType.NVarChar); updateCommand.Parameters["@titel"].Value = contentField.Text; updateCommand.Parameters.Add("@id", SqlDbType.Int); updateCommand.Parameters["@id"].Value = pageId; updateContent.ExecuteNonQuery(); } mvh
14. januar 2006 - 20:00
#7
Så fik det til at virke nu :) snepnet, smider du lige et svar. Og tusind tak for hjælpen til dig også dr. chaos!
14. januar 2006 - 20:02
#8
et svar kommer her. mvh
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.