我最近更改了我的网站,允许用户从下拉列表或文本框中进行选择,以便能够插入标题。该表称为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。但是没有错误! :/
答案 0 :(得分:3)
要做的事情:
检查选项列表表的列定义。 Title列是char还是varchar,是否包含足够的空间来保存插入的数据?
在IF语句的代码中设置断点并运行程序。当它到达那里时,检查ddlLink.SelectedValue属性以查看其中包含的确切内容。逐步浏览应用程序以查看它经过的代码分支。最后,检查cmd.parameters属性以查看参数的设置值。
如果上面没有指出最新情况,请使用SQL事件探查器并观察查询是否存在问题。查看查询以查看它是否正在传递您认为应该的所有内容。如果是这样,那么复制该查询并直接在管理工作室中运行它以了解发生了什么。