Форум программистов, компьютерный форум, киберфорум
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. Показов 3009. Ответов 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
5987 / 4562 / 1096
Регистрация: 29.08.2013
Сообщений: 28,202
Записей в блоге: 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
Ответ Создать тему
Новые блоги и статьи
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru