Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 当dropdownlist将字符串显示为datavaluefield时插入整数 我正在visual studio 2008上开发我的应用程序 我有四张桌子 我有一个下拉列表(显示产品\类别\名称) 我需要做一个insert语句_Sql_Visual Studio 2008_Drop Down Menu - Fatal编程技术网

Sql 当dropdownlist将字符串显示为datavaluefield时插入整数 我正在visual studio 2008上开发我的应用程序 我有四张桌子 我有一个下拉列表(显示产品\类别\名称) 我需要做一个insert语句

Sql 当dropdownlist将字符串显示为datavaluefield时插入整数 我正在visual studio 2008上开发我的应用程序 我有四张桌子 我有一个下拉列表(显示产品\类别\名称) 我需要做一个insert语句,sql,visual-studio-2008,drop-down-menu,Sql,Visual Studio 2008,Drop Down Menu,我有以下代码: Dim sql2 As String=“插入产品(产品类别标识、产品名称、产品标题、产品描述、产品作者、产品作者年龄、产品作者描述、产品其他详细信息、产品维度1、产品维度2、产品价格、产品机构、产品状态、产品交付时间)值(@product\u category\u id、@product\u name、@product\u title、@product\u desc、@product\u author\u age、@product\u author\u desc、@product

我有以下代码:

Dim sql2 As String=“插入产品(产品类别标识、产品名称、产品标题、产品描述、产品作者、产品作者年龄、产品作者描述、产品其他详细信息、产品维度1、产品维度2、产品价格、产品机构、产品状态、产品交付时间)值(@product\u category\u id、@product\u name、@product\u title、@product\u desc、@product\u author\u age、@product\u author\u desc、@product\u other\u detail、@product\u dimension1、@product\u dimension2、@product\u price、@product\u机构、@product\u状态、@product\u交付时间)

cmd.Parameters.Add(新的SqlParameter(“@product_name”,(txtProductName2.Text))) cmd.Parameters.Add(新的SqlParameter(“@product_title”,(txtProductTitle2.Text)))

问题是,当下拉列表显示“product\u category\u names”而不是“product\u category\u id”时,如何将“product\u category\u id”(整数)插入表“product”中


有人能告诉我指示灯吗?谢谢。

假设您正在页面加载事件上绑定dropdownlist并使用product\u Catogry表,那么最简单的方法是将product\u category\u ID绑定到dropdownlist的value属性。这样,您可以在用户看到名称时通过编程访问ID

DropDownList.DataSource = [your product table]
DropDownList.DataTextField = "Proudct_Category_Name"
DropDownList.DataValueField = "Product_category_ID"
如果出于任何原因这不是一个选项,那么下面的SQL将在当前命令中工作,只需确保将@Product\u Category\u Name作为参数添加到SqlCommand中,而不是@Product\u Category\u Name

INSERT INTO Product 
(       product_category_id, 
        product_name, 
        product_title, 
        product_desc, 
        product_author, 
        product_author_age, 
        product_author_desc, 
        product_other_detail, 
        product_dimension1, 
        product_dimension2, 
        product_price, 
        product_institution, 
        product_status, 
        product_delivery_time
)    
SELECT  product_category_id, 
        @product_name, 
        @product_title, 
        @product_desc, 
        @product_author, 
        @product_author_age, 
        @product_author_desc, 
        @product_other_detail, 
        @product_dimension1, 
        @product_dimension2, 
        @product_price, 
        @product_institution, 
        @product_status, 
        @product_delivery_time
FROM    product_category
WHERE   product_category_Name = @Product_Category_Name
或者,您可以简单地将其添加到当前SQL的开头:

DECLARE  @Product_Category_ID INT
SELECT   @Product_Category_ID = Product_Category_ID
FROM     Product_Category
WHERE    Product_Category_Name = @Product_Category_Name

然后继续插入…values()。

是Winforms、ASP.NET WebForms、ASP.NET MVC、WPF还是什么?如果您没有使用将dropdownlist与id字段数据绑定的第一个选项,则需要使用:dim sql2作为“[我在回答中给出的SQL]”。然后将正确的SqlParameter添加到命令.cmd.Parameters.add(新的SqlParameter)(“@Product\u Category\u Name”,ddl.ProductCategoryName2.SelectedValue)。你好,GarethD,我已经发布了这个问题的更详细版本。请查看一下您的便利性。非常感谢。