Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.10.12;
Скачать: CL | DM;

Вниз

SQL-запрос   Найти похожие ветки 

 
Delphist   (2008-09-03 13:32) [0]

Как написать SQL запрос который удаляет из таблицы записи и возвращает количество удаленных записей в компонент Edit


 
Сергей М. ©   (2008-09-03 13:33) [1]

Никак.


 
Palladin ©   (2008-09-03 13:36) [2]

При помощи нажатий на кнопочки клавиатуры. Как его еще то написать... Хотя... на планшете нарисовать и OCRом каким нибудь :)


 
Ega23 ©   (2008-09-03 13:36) [3]

Сначала Select count по условию, потом Delete по условию.
Иначе - никак, насколько мне известно...


 
Anatoly Podgoretsky ©   (2008-09-03 13:38) [4]

> Delphist  (03.09.2008 13:32:00)  [0]

TAdoCommand


 
brother ©   (2008-09-03 13:38) [5]

удалять по одному и считать, а потом в edit отдавать результат?


 
Vlad Oshin ©   (2008-09-03 13:40) [6]


> Сначала Select count по условию

и тут вставили еще запись..

> потом Delete по условию


 
Palladin ©   (2008-09-03 13:43) [7]

да и у TADOQuery есть RowAffected, если что...


 
Правильный$Вася   (2008-09-03 13:45) [8]


> есть RowAffected, если что...

отрабатывает не на всех SQL-серверах, т.к. не все они поддерживаюттакие фичи


 
Anatoly Podgoretsky ©   (2008-09-03 13:50) [9]

> Palladin  (03.09.2008 13:43:07)  [7]

TADOQuery в топку. Пусть привыкает работать без костылей.


 
Anatoly Podgoretsky ©   (2008-09-03 13:50) [10]

> Правильный$Вася  (03.09.2008 13:45:08)  [8]

Это его проблема, что ведет себя как партизан.


 
Palladin ©   (2008-09-03 13:56) [11]

а у меня вообще ощущения полного незнания SQL аффтором :)


 
MsGuns ©   (2008-09-03 15:48) [12]

>Anatoly Podgoretsky ©   (03.09.08 13:50) [9]
>TADOQuery в топку. Пусть привыкает работать без костылей.

Не возражаю при условии что ты мне покажешь как можно получить RowAffects без этого "костыля" ;)


 
Palladin ©   (2008-09-03 15:52) [13]


> MsGuns ©   (03.09.08 15:48) [12]

у Execute возвращаемый параметр... просто с TADOQuery удобней...


 
MsGuns ©   (2008-09-03 15:55) [14]

>Palladin ©   (03.09.08 15:52) [13]
>у Execute возвращаемый параметр

Поподробнее, пожалуйста, а то у меня не выходит почему-то ;)


 
clickmaker ©   (2008-09-03 16:17) [15]

delete from table
select @@rowcount
или
delete from table
select @RowsAffectedOutParam = @@rowcount

св-во RowsAffected может не сработать, если в запросе (в хранимке) стоит set nocount on

это все для MS SQL


 
Palladin ©   (2008-09-03 16:36) [16]


> MsGuns ©   (03.09.08 15:55) [14]

ADODB.pas, TADOQuery.ExecSQL, TADOQuery.Open :)
подробней некуда :)


 
Сергей М. ©   (2008-09-03 16:42) [17]

А автор, видимо, хотел увидить нечто вроде

Query.SQL.Text := "DELETE FROM TABLE THEN SELECT DELETEDCOUNT FROM TABLE INTO EDIT1";

))


 
clickmaker ©   (2008-09-03 16:44) [18]

а почему бы сначала не вводить в Edit количество удаляемых записей, а потом уже удалять?
тогда и возвращать ничего не придется


 
MsGuns ©   (2008-09-03 16:52) [19]

>clickmaker ©   (03.09.08 16:17) [15]
>Palladin ©   (03.09.08 16:36) [16]

Действительно. Самое интерсное, что я это и сам когда-то делал. Но забыл ;))
Спасибо

ЗЫ. Для акцеса это также верно ?


 
Palladin ©   (2008-09-03 16:55) [20]

А для всех, кто корректно возвращает в OLEDB драйвере, значение Affected верно. но есть одно но, не будет работать в большинстве случаев при CursorLocation=clUseServer и еще пары настроек... в общем практически та же ситуация, что и с RowCount...


 
Anatoly Podgoretsky ©   (2008-09-03 16:59) [21]

> MsGuns  (03.09.2008 15:48:12)  [12]

С помощью прямого компонента TAdoCommand


 
Palladin ©   (2008-09-03 17:12) [22]

А вообще по теме jet и mssql: Поведение их очень и очень схоже. Практически один в один.


 
stas ©   (2008-09-03 17:45) [23]

MSSQL 2005

create table #tbl (Number int)
DELETE MYTABLE OUTPUT  1 INTO #tbl  WHERE [ID]=3
Select count (*) from #tbl


 
Palladin ©   (2008-09-03 17:50) [24]


> stas ©   (03.09.08 17:45) [23]

кхм, а
Delete from mytable
select @@rowcount
низя? замест страшных ресурсоемких операций?


 
stas ©   (2008-09-03 18:44) [25]

Palladin ©   (03.09.08 17:50) [24]
а точно, забыл за эту переменную.



Страницы: 1 вся ветка

Текущий архив: 2008.10.12;
Скачать: CL | DM;

Наверх




Память: 0.52 MB
Время: 0.018 c
2-1220424018
programmer90
2008-09-03 10:40
2008.10.12
Слишком быстрый переход на выполнение след оперетора...


2-1220814318
Age
2008-09-07 23:05
2008.10.12
Ребята, подскажите кто знает!


3-1207245676
kotyara12
2008-04-03 22:01
2008.10.12
Рекурсивная выборка из таблицы со структурой дерева


15-1219573831
evger
2008-08-24 14:30
2008.10.12
помогите реализовать delphовую логику на C++


2-1220272776
fellow
2008-09-01 16:39
2008.10.12
richedit и ??????? вместо кириллицы