Вставить целое число, когда раскрывающийся список отображает строки в виде поля данных - PullRequest
0 голосов
/ 28 января 2012
  • Я занимаюсь разработкой приложения для Visual Studio 2008
  • У меня есть 4 таблицы
  • У меня есть выпадающий список (отображает имена_категорий)
  • Мне нужно сделатьоператор вставки
  • у меня есть следующий код:

    Dim sql2 As String = "INSERT INTO Product (product_category_id, имя_продукта, product_title, product_desc, product_author, product_author_age, product_author_desc, product_other_detail1, product_di_men_detail, product_di_men_detail, product_di_detail, product_di_detail, product_di_detail, product_di_detail, product_di_detail, product_di_detail, product_di_detail), product_dimension2, PRODUCT_PRICE, product_institution, product_status, product_delivery_time) ЗНАЧЕНИЯ (@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) "

cmd.Parameters.Add (New SqlParameter (" @ product_name ", (txtProductName2.Text))) cmd.Parameters.Add (Новый SqlParameter (" @product_title ", (txtProductTitle2.Text)))

Вопрос в том, как вставить «product_category_id» (целое число) в таблицу «Product», если в раскрывающемся списке вместо «product_category_names» отображается «product_category_names»?

Может кто-нибудь показать мне свет?Спасибо.

1 Ответ

0 голосов
/ 28 января 2012

Если вы связываете свой выпадающий список с событием загрузки страницы и затем используете таблицу product_Catogry. Самый простой способ - привязать product_category_ID к свойству value раскрывающегося списка. Таким образом, вы можете программно получить доступ к идентификатору, пока пользователь видит имя.

DropDownList.DataSource = [your product table]
DropDownList.DataTextField = "Proudct_Category_Name"
DropDownList.DataValueField = "Product_category_ID"

Если по какой-либо причине это не вариант, приведенный ниже SQL будет работать в вашей текущей команде, просто убедитесь, что вы добавили @Product_Category_Name в качестве параметра в SqlCommand вместо @ product_Category_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 ​​().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...