Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2008.10.12;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.49 MB
Время: 0.044 c
2-1220523692
Layner
2008-09-04 14:21
2008.10.12
TDBChart - показ множества TLineSeries


2-1220106974
Alral
2008-08-30 18:36
2008.10.12
Функция Recv и PChar


15-1219385138
vajo
2008-08-22 10:05
2008.10.12
Про активацию Windows XP


15-1219490687
POP
2008-08-23 15:24
2008.10.12
Список установленных COM портов в системе.


15-1217308956
Наиль
2008-07-29 09:22
2008.10.12
За программы с открытым исходным кодом дают не плохие деньги





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский