Форум программистов, компьютерный форум, киберфорум
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. Показов 3003. Ответов 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
5981 / 4556 / 1095
Регистрация: 29.08.2013
Сообщений: 28,190
Записей в блоге: 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
Ответ Создать тему
Новые блоги и статьи
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при создании или изменении элементов справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи электронной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru