Переключение на Главную Страницу Страницы: [1] 2  ОтправитьПечать
Горячая тема (более 10 ответов) "Массовая" Пометка на удаление (OLEDB) (число прочтений - 7506 )
desty
Full Member
***
Отсутствует



Сообщений: 135
Зарегистрирован: 19. Апреля 2007
Пол: Мужской
"Массовая" Пометка на удаление (OLEDB)
11. Мая 2007 :: 09:27
Печать  
Имеем сзЭлементовСправочникаНаУдаления, хочется:

1. Пометить на удаление весь (SELECT  Val) (поле ISMARK)
2. Изменить родителя (PARENTID)

Ткните пожалуйста в пример как реализовать с помощью OLEDB
  
Наверх
 
IP записан
 
Вадимко
God Member
*****
Отсутствует


Нам бы чего про ОдноЦэ...

Сообщений: 1048
Местоположение: Минск
Зарегистрирован: 24. Мая 2006
Пол: Мужской
Re: "Массовая" Пометка на удаление (OLEDB)
Ответ #1 - 11. Мая 2007 :: 09:44
Печать  
ТекстЗапроса = "
|UPDATE SC172
|SET SC172.ISMARK = '*'
|WHERE SC172.ID IN (SELECT VAL FROM :Список)
|";

Остальное по аналогии
  

Кампутер, кофе и сигареты - это очень плохо для моего здоровья...
Наверх
IP записан
 
desty
Full Member
***
Отсутствует



Сообщений: 135
Зарегистрирован: 19. Апреля 2007
Пол: Мужской
Re: "Массовая" Пометка на удаление (OLEDB)
Ответ #2 - 14. Мая 2007 :: 05:24
Печать  
Вопрос?

"Необходимо ли в таком случае изменять еще и индексы справочника"

В тестовой базе использования подобного удаления и изменения группы приводит к непонятному поведению Формы Списка справочника
  
Наверх
 
IP записан
 
Вадимко
God Member
*****
Отсутствует


Нам бы чего про ОдноЦэ...

Сообщений: 1048
Местоположение: Минск
Зарегистрирован: 24. Мая 2006
Пол: Мужской
Re: "Массовая" Пометка на удаление (OLEDB)
Ответ #3 - 14. Мая 2007 :: 15:46
Печать  
Значит переиндексируй  Подмигивание
  

Кампутер, кофе и сигареты - это очень плохо для моего здоровья...
Наверх
IP записан
 
desty
Full Member
***
Отсутствует



Сообщений: 135
Зарегистрирован: 19. Апреля 2007
Пол: Мужской
Re: "Массовая" Пометка на удаление (OLEDB)
Ответ #4 - 15. Мая 2007 :: 05:11
Печать  
Цитата:
Значит переиндексируй  Подмигивание


Переиндексировал Подмигивание, заработало нормально...

Вот бы теперь понять как программно индекс изменить.....

  
Наверх
 
IP записан
 
pavel_tr
Senior Member
****
Отсутствует



Сообщений: 279
Местоположение: Казань
Зарегистрирован: 14. Октября 2006
Пол: Мужской
Re: "Массовая" Пометка на удаление (OLEDB)
Ответ #5 - 15. Мая 2007 :: 08:16
Печать  
В SQL у команды update есть параметр, в котором явно указывается индекс для ДБФки. В фоксе что-то подобное должно быть
  
Наверх
 
IP записан
 
desty
Full Member
***
Отсутствует



Сообщений: 135
Зарегистрирован: 19. Апреля 2007
Пол: Мужской
Re: "Массовая" Пометка на удаление (OLEDB)
Ответ #6 - 30. Мая 2007 :: 05:28
Печать  
pavel_tr писал(а) 15. Мая 2007 :: 08:16:
В SQL у команды update есть параметр, в котором явно указывается индекс для ДБФки. В фоксе что-то подобное должно быть


Всё таки опять подниму вопрос:

1. Подскажите где поискать информацию по переиндексации после UPDATE
2. Как создать индекс у новой таблицы после SELECT <ЗапросКДанным> INTO table <ИмяТаблицы>

ЗЫ Кстати мои исследования показали что в основном у всех таблиц базы Индексы имеют Collating = Machine, признаков Russian я не нашел пока вообще

ЗЫ А ещё в таблице 1SJoURN я нашел интересный ДЛЯ САМООБРАЗОВАНИЯ индекс с выражением "DTOS(DATE)+TIME+IDDOC"
« Последняя редакция: 30. Мая 2007 :: 09:33 - desty »  
Наверх
 
IP записан
 
Mikeware
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 262
Зарегистрирован: 27. Июля 2006
Пол: Мужской
Re: "Массовая" Пометка на удаление (OLEDB)
Ответ #7 - 30. Мая 2007 :: 08:52
Печать  
desty писал(а) 30. Мая 2007 :: 05:28:
ЗЫ А ещё в таблице 1SJoURN я нашел интересный индекс с выражением "DTOS(DATE)+TIME+IDDOC""

А чего в нем интересного?
  
Наверх
ICQ  
IP записан
 
pvase
God Member
*****
Отсутствует



Сообщений: 923
Местоположение: Киев
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: "Массовая" Пометка на удаление (OLEDB)
Ответ #8 - 30. Мая 2007 :: 19:16
Печать  
desty писал(а) 30. Мая 2007 :: 05:28:
ЗЫ А ещё в таблице 1SJoURN я нашел интересный ДЛЯ САМООБРАЗОВАНИЯ индекс с выражением "DTOS(DATE)+TIME+IDDOC"

Так в SQL это и есть одно поле, а вот в dbf их 3, вот и пришлось его "слепить".
ЗЫ
Никогда не задумывались, почему в жураналах поиск по датам идет начиная с года, потом месяц, а потом день? (секрет в индексе).
  
Наверх
IP записан
 
Вадимко
God Member
*****
Отсутствует


Нам бы чего про ОдноЦэ...

Сообщений: 1048
Местоположение: Минск
Зарегистрирован: 24. Мая 2006
Пол: Мужской
Re: "Массовая" Пометка на удаление (OLEDB)
Ответ #9 - 30. Мая 2007 :: 21:42
Печать  
pvase писал(а) 30. Мая 2007 :: 19:16:
Никогда не задумывались


Задумывались Улыбка
Кстати, иначе и не отсортируешь имхо Улыбка
  

Кампутер, кофе и сигареты - это очень плохо для моего здоровья...
Наверх
IP записан
 
Mikeware
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 262
Зарегистрирован: 27. Июля 2006
Пол: Мужской
Re: "Массовая" Пометка на удаление (OLEDB)
Ответ #10 - 31. Мая 2007 :: 04:49
Печать  
pvase писал(а) 30. Мая 2007 :: 19:16:
Так в SQL это и есть одно поле, а вот в dbf их 3, вот и пришлось его "слепить".
Никогда не задумывались, почему в жураналах поиск по датам идет начиная с года, потом месяц, а потом день? (секрет в индексе).

Ну вообще-то функция DTOS() ( Date TO String) для того и придумана. В ДБФ дата хранится в текстовой форме, а она, эта текстовая форма, разная - типпо, ДД.ММ.ГГ, ДД/ММ/ГГ, ММ/ДД/ГГ и т.п. А DTOS() переводила в текстовую строку длиной 8 вормата ГГГГММДД. ПОявилась, вроде как в DBaseII, т.е. даааааааааааавно.
  
Наверх
ICQ  
IP записан
 
desty
Full Member
***
Отсутствует



Сообщений: 135
Зарегистрирован: 19. Апреля 2007
Пол: Мужской
Re: "Массовая" Пометка на удаление (OLEDB)
Ответ #11 - 31. Мая 2007 :: 05:25
Печать  
desty писал(а) 30. Мая 2007 :: 05:28:
1. Подскажите где поискать информацию по переиндексации после UPDATE
2. Как создать индекс у новой таблицы после SELECT <ЗапросКДанным> INTO table <ИмяТаблицы>


По поводу вот этого, я так понимаю ни у кого мыслей НЕТУ Смущённый
  
Наверх
 
IP записан
 
Nick
God Member
*****
Отсутствует



Сообщений: 1599
Местоположение: г.Новокузнецк
Зарегистрирован: 21. Февраля 2007
Пол: Мужской
Re: "Массовая" Пометка на удаление (OLEDB)
Ответ #12 - 31. Мая 2007 :: 06:17
Печать  
desty писал(а) 31. Мая 2007 :: 05:25:
desty писал(а) 30. Мая 2007 :: 05:28:
1. Подскажите где поискать информацию по переиндексации после UPDATE
2. Как создать индекс у новой таблицы после SELECT <ЗапросКДанным> INTO table <ИмяТаблицы>


По поводу вот этого, я так понимаю ни у кого мыслей НЕТУ Смущённый


Как  где искать? Ты чьим драйвером для доступа к ДБФ пользуешся? -  VFP там и искать Улыбка, я одно время довольно плотно с фоксом работал, по идее если всё нормаль то он должен при открытии таблички и инедкс цеплять в общем help от VFP 9 тебе должен помочь Улыбка
  
Наверх
ICQ  
IP записан
 
desty
Full Member
***
Отсутствует



Сообщений: 135
Зарегистрирован: 19. Апреля 2007
Пол: Мужской
Re: "Массовая" Пометка на удаление (OLEDB)
Ответ #13 - 31. Мая 2007 :: 06:27
Печать  
Nick писал(а) 31. Мая 2007 :: 06:17:
Как  где искать? Ты чьим драйвером для доступа к ДБФ пользуешся? -  VFP там и искать Улыбка, я одно время довольно плотно с фоксом работал, по идее если всё нормаль то он должен при открытии таблички и инедкс цеплять в общем help от VFP 9 тебе должен помочь Улыбка


Я вторые сутки на МСДН не могу найти раздел про VFP OleDb, на форуме кто-то когда-то давал ссылку, никак вычислить не могу, Яндекс с Гуглом выдает какую то хрень (может жара Озадачен)...
  
Наверх
 
IP записан
 
Nick
God Member
*****
Отсутствует



Сообщений: 1599
Местоположение: г.Новокузнецк
Зарегистрирован: 21. Февраля 2007
Пол: Мужской
Re: "Массовая" Пометка на удаление (OLEDB)
Ответ #14 - 31. Мая 2007 :: 06:35
Печать  
Из MSDN справка по VFP исключена Улыбка, а в те времена когда она была драйвера под OLE DB ещё для VFP небыло
  
Наверх
ICQ  
IP записан
 
Переключение на Главную Страницу Страницы: [1] 2 
ОтправитьПечать