EmanuelPirovano Ответов: 2

Заполнение таблицы данных из базы данных


Привет, мир!
я разрабатываю корзину покупок в asp net.
Продукты: Db
Корзина Покупок : Таблица Данных
Заказ : дБ (но это сейчас не важно )

Строка соединений работает нормально, единственная проблема заключается в следующем :
Если я заполняю таблицу данных командой insert into sql, она работает в БД, а я этого не хочу.
Я хочу, чтобы команда sql писала только в таблицу данных и не изменяла базу данных.

Что я уже пробовал:

Это код :

If Not Me.IsPostBack Then
           Dim constr As String = ConfigurationManager.ConnectionStrings("constr").ConnectionString
           Using con As New SqlConnection(constr)

               '

                   Using cmd As New SqlCommand("INSERT INTO Carrello (ID,Nome,PrezzoFloat, Quantità) SELECT Id,NomeProdotto, PrezzoProdotto, Quantità FROM aProdotti WHERE ID='2'")
                   cmd.Connection = con
                   Using sda As New SqlDataAdapter(cmd)
                       Dim dt As New DataTable()
                       sda.Fill(dt)
                       GridView1.DataSource = dt
                       GridView1.DataBind()
                   End Using
               End Using
           End Using


       End If

2 Ответов

Рейтинг:
16

CHill60

Запрос INSERT вставит данные в базу данных.

Вы хотите выбрать данные.

using cmd As New SqlCommand("SELECT Id,NomeProdotto, PrezzoProdotto, Quantità FROM aProdotti WHERE ID='2'")
Также проверьте тип данных идентификатора столбца - если вы хотите, чтобы это было число, то используйте числовой тип, а не varchar. Если это уже числовой тип, то потеряйте одинарные кавычки вокруг 2


EmanuelPirovano

Спасибо, парень.
Итак, если я включу сеанс, может ли он работать для корзины покупок ?

CHill60

Я не понимаю вопроса в вашем комментарии, однако есть несколько Статьи CodeProject[^] на тележках для покупок, которые могут помочь

EmanuelPirovano

Позвольте мне попытаться объяснить это лучше.
При нажатии кнопки "Купить" я выбираю элемент из БД в таблицу данных, после того как, если я покупаю другой элемент, они заменяют существующий элемент в таблице данных, как я могу иметь дело с добавлением нескольких элементов в таблицу данных с помощью команды select ?

CHill60

Не указывайте только один конкретный идентификатор ... вы можете использовать предложение IN или или, чтобы получить больше. Я предлагаю вам прочитать некоторые из этих статей по ссылке, которую я дал.

EmanuelPirovano

Наверное, у меня есть пробелы в Sql .
Я уже читал какой-то учебник, но не могу понять, где бы я поместил его в/или ? Что такое правильная функция sql ?

В любом случае спасибо за помощь.

CHill60

Вы бы изменили оператор WHERE, чтобы описать, какие строки вы хотите выбрать из базы данных. WHERE ID IN (2,3) или (точно такие же результаты) WHERE ID = 2 OR ID = 3.
Взгляните на SQL через десять минут[^]

Рейтинг:
12

Nirav Prabtani

Ваш объект DataTable с не собирается заполнить с инструкцией Insert.

Вам нужно передать команду select, чтобы заполнить вашу таблицу данных значениями из базы данных

Вы заявление должны

Select Column1,Column2.... from TableName


Надеюсь, вам это ясно.


EmanuelPirovano

Большое спасибо!!
Теперь я попробую.

Nirav Prabtani

добро пожаловать