“标题”未插入

时间:2011-09-28 15:57:31

标签: asp.net sql vb.net sql-server-2008 insert

我最近更改了我的网站,允许用户从下拉列表或文本框中进行选择,以便能够插入标题。该表称为Picklist,列为PicklistID,Title,Data。 有人可以帮我插入标题吗?

Protected Sub SubmitLink_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles SubmitLink.Click
  LinkModal.Hide()

  Dim strSQL As String = "INSERT INTO Picklist (Title, Data) VALUES (@Title, 
  @Data);INSERT INTO Marketing (ProductID, MarketingTypeID, MarketingTitle, 
  MarketingData) VALUES (@ProductID, 1, 'Link', scope_identity())"

    Using cn As New
    SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings
    ("LocalSqlServer").ConnectionString)

    Using cmd As New SqlCommand(strSQL, cn)
     If ddlDescription.SelectedValue <> "Select below or enter new" Then
       cmd.Parameters.Add(New SqlParameter("@Title", ddlLink.SelectedValue))
     Else
       cmd.Parameters.Add(New SqlParameter("@Title", NewLinkTitle.Text))
     End If
       cmd.Parameters.Add(New SqlParameter("@Data", LinkURL.Text))
       cmd.Parameters.Add(New SqlParameter("@ProductID", ProductID.Value))

       cn.Open()

        cmd.ExecuteNonQuery()

    End Using
    End Using
    Response.Redirect(Request.RawUrl)
End Sub

以下是下拉列表和文本框:

Title:<asp:DropDownList ID="ddlLink" runat="server" DataSourceID="dsNewLink"
DataTextField="Title" DataValueField="Title" enableViewstate="False" 
AppendDataBoundItems="True">
   <asp:ListItem Text="Select below or enter new" Selected="True">
   </asp:ListItem>
      </asp:DropDownList><br />
New Title:<asp:TextBox ID="NewLinkTitle" runat="server">
          </asp:TextBox><br />

在下图中:看看背景中最顶部的线条中没有任何内容,但删除按钮在那里?这是我刚试图添加的链接...... @Data列插入数据库,但不是@Title。但是没有错误! :/

1 个答案:

答案 0 :(得分:3)

要做的事情:

  1. 检查选项列表表的列定义。 Title列是char还是varchar,是否包含足够的空间来保存插入的数据?

  2. 在IF语句的代码中设置断点并运行程序。当它到达那里时,检查ddlLink.SelectedValue属性以查看其中包含的确切内容。逐步浏览应用程序以查看它经过的代码分支。最后,检查cmd.parameters属性以查看参数的设置值。

  3. 如果上面没有指出最新情况,请使用SQL事件探查器并观察查询是否存在问题。查看查询以查看它是否正在传递您认为应该的所有内容。如果是这样,那么复制该查询并直接在管理工作室中运行它以了解发生了什么。