С Новым годом! Форум программистов, компьютерный форум, киберфорум
Delphi: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.85/13: Рейтинг темы: голосов - 13, средняя оценка - 4.85
 Аватар для Serho88
11 / 11 / 8
Регистрация: 08.10.2013
Сообщений: 51
Delphi 6-7

ADO+MS SQL: как узнать количество обработанных строк при insert в ADO Query?

25.01.2019, 07:02. Показов 2913. Ответов 4

Студворк — интернет-сервис помощи студентам
Добрый день.

При выполнении запроса в MS SQL
Кликните здесь для просмотра всего текста
SQL
1
2
3
INSERT INTO [DATA].[dbo].[Table1]([Fld1],[Fld2],[Fld3])
SELECT 0,20,'Text' 
WHERE NOT EXISTS (SELECT 1 FROM [DATA].[dbo].[Table1] WHERE Fld2=20 AND Fld3 LIKE 'Text%')
в сообщения выдается: (строк обработано: 1), если запись была добавленна в таблицу, или (строк обработано: 0), если запись не была добавленна в таблицу. Можно ли в ADO Query получить такую же информацию при выполнении этого запроса?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
25.01.2019, 07:02
Ответы с готовыми решениями:

Как узнать количество строк, обработанных предыдущим запросом?
из какой (может быть глобальной) переменной можно узнать количество строк обработанных любым (update, select ...) предидущим запросом?...

Получить количество обработанных строк с Insert-ов и Delete-ов
Есть процедура в ms sql, она вставляет строки в 3 разных таблицы и обновляет ещё в 3х. Запускаю из делфи в квери "exec proc" ...

Подстановка значений по ID при запросе Insert/Update ADO.NET
Работаю с ADO.NET Есть 2 таблицы Goods(GoodID,Name,TypeID) и Types(TypeID,TypeName) Есть datagriedview в который с помощью запроса...

4
1076 / 989 / 340
Регистрация: 07.08.2012
Сообщений: 2,790
25.01.2019, 07:43
Прием, который позволяет получить значение идентификатора (если есть столбец с автоинкрементом в таблице) из только что вставленной строки:
Delphi
1
2
3
4
5
      ADOQuery.SQL.Text := 'SELECT @@IDENTITY AS '+QuotedStr('Identity');
      ADOQuery.Open;
      if not ADOQuery.Eof then
        ID := ADOQuery.FieldValues['Identity'];
      ADOQuery.Close;
если ADOQuery.Eof, то строка по какой-то причине не добавлена.
1
5953 / 4529 / 1094
Регистрация: 29.08.2013
Сообщений: 28,121
Записей в блоге: 3
25.01.2019, 08:48
узнать можно путем MSSQL
1) выполнить сначала SELECT и запомнить результат
2) с помощью конструкции
SQL
1
2
INSERT INTO
output inserted
3) с помощью триггера

или путем Делфи
1) обработать вывод Query

уверен что есть еще варианты. зависит от задачи
1
882 / 404 / 173
Регистрация: 20.10.2016
Сообщений: 1,828
25.01.2019, 11:27
Delphi
1
ADOQuery.RowsAffected
Вроде тут лежит это значение. Только учти, что при апдейте там может оказаться 0, если пытался в таблицу заапдейтить те данные, которые и так там есть.
1
 Аватар для Serho88
11 / 11 / 8
Регистрация: 08.10.2013
Сообщений: 51
28.01.2019, 04:41  [ТС]
Спасибо всем. Все предложенные способы работают.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
28.01.2019, 04:41
Помогаю со студенческими работами здесь

ADO Query
И снова всем привет! Возник вопрос, если при изменении содержания в таблице в бд, через делфи( т.е. при откомпилированном проекте) мне...

Как 'вычислить' количество возвращаемых записей при работе через ADO?
в DAO после DB.Execute 'strSQL' можно проверить DB.RecordsAffected на предмет количества записей, возвернутых в результате выполнения...

Ado query фильтрация
И так, есть таблица, и связана в делфи через ado connection в Дб грид вывожу все поля с таблицы. На нажатие кнопки пытаюсь поставить...

Запарка с ADO Query
Хочу просто изменить ширину полей, но не добавляются поля в ADO Query. Пишет "неправильно определен объект Parameter. Предоставлены...

C++ Builder6 + ADO Query
Всем привет. как получить список записей из БД используя ADO в C++ Builder6? Просто загрузить содержимое базы в DBGrid получилось легко...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути Сочетание глобально распределённой вычислительной мощности и инновационных. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru