Asp.net VB使用SqlCommand更新数据库的简单表单

Asp.net VB使用SqlCommand更新数据库的简单表单,asp.net,sql-server,vb.net,Asp.net,Sql Server,Vb.net,我有一个字段表单,它有一个编辑器,我正在尝试更新我的数据库。我可以填充表单数据并对其进行解码以显示,但我无法更新它。下面的代码来自我的提交按钮,我正在做两件事对内容进行编码并将其保存到数据库。我没有收到任何错误,只是刷新了一下页面。据我所知,语法看起来是正确的 在下面的示例中,“CKEditorControl1”是我的所见即所得文本编辑器。它输出我试图编码和保存的html Protected Sub Button1_Click(sender As Object, e As EventArgs)

我有一个字段表单,它有一个编辑器,我正在尝试更新我的数据库。我可以填充表单数据并对其进行解码以显示,但我无法更新它。下面的代码来自我的提交按钮,我正在做两件事对内容进行编码并将其保存到数据库。我没有收到任何错误,只是刷新了一下页面。据我所知,语法看起来是正确的

在下面的示例中,“CKEditorControl1”是我的所见即所得文本编辑器。它输出我试图编码和保存的html

 Protected Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    Dim section = Page.Request.Params("SectionName")

    Dim conn As New SqlConnection(ConfigurationManager.ConnectionStrings("myConnectionString").ConnectionString)

    conn.Open()
    Dim command As New SqlCommand("UPDATE PageContent SET SectionBody = @SectionBody WHERE SectionName = @SectionName", conn)

    command.Parameters.AddWithValue("@SectionName", section.ToString())
    command.Parameters.AddWithValue("@SectionBody", Server.HtmlEncode(CKEditorControl1.Text))

    command.ExecuteNonQuery()

    conn.Close()
 End Sub

所以我发现我的提交代码从一开始就没有任何问题。问题是如何从页面加载开始填充编辑器控件。在回发更新时,页面加载阻止了编辑器进行更新。对于文本框控件,回发没有影响它。当我在文本框和编辑器之间跟踪提交时更新的内容时,我发现回发实际上是问题所在。在我的页面加载中有一个小小的if语句,以防止发回的帖子覆盖我的更新来填充表单和presto。

为什么要使用
AddWithValue(@SectionBody),Server.HtmlEncode(CKEditorControl1.Text))
command.Parameters(@SectionBody”).Value=Server.HtmlEncode(CKEditorControl1.Text)
。这并不是一个问题,但两者中有一个是多余的。您使用过调试器吗?如果没有收到错误,我假设
WHERE SectionName=@SectionName
没有收到正确的字符串,因此找不到要更新的行。运行
msgBox(section.ToString())
查看。@Tim谢谢。老实说,我看不出两者之间有什么不同,但我不知道在更新方面,是否有一个比另一个更受欢迎。我更新了我的样品。调试器没有给我太多的线索,因为页面刚刚刷新。@Cory我非常肯定节param在那里,但只是用消息框检查一下,显示它在那里。我不确定下一步要尝试什么。因此,如果我将编辑器换成文本框,它会工作。所以奇怪的是,我无法获取编辑器的当前值并将其作为编码html提交到数据库。