Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / поиск по полю / 10 сообщений из 10, страница 1 из 1
29.05.2014, 20:10
    #38656352
Shnaizer
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
поиск по полю
Здраствуйте. вообщем, у меня есть таблица с двумя полями: имя и кол-во. у меня автоматически записываются туда новые записи. мне нужно чтобы элемент записывался в таблицу только если новый будет действительно новым(т.е. если до этого в таблице элемента с таким именем не было). а если такой элемент уже есть то найти его в этой самой таблице, и прибавить ему кол-во, которое шло вместе с этой новой записью. не подскажите как таковой запрос будет выглядеть? спасибо.
...
Рейтинг: 0 / 0
29.05.2014, 20:17
    #38656357
Shnaizer
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
поиск по полю
вот код

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
for tI := 0 to DataModule2.IBQuery14.RecordCount -1 do
 begin
//в этом месте должна быть проверка на наличие нового элемента в таблице
   datamodule2.IBTable13.Insert;
   DataModule2.IBQuery16.SQL.Clear;
   DataModule2.IBQuery16.SQL.Add('select gen_id(g2,1) from RDB$DATABASE');
   datamodule2.IBQuery16.Open;
   id_f:=datamodule2.IBQuery16.Fields[0].Value;
   datamodule2.IBQuery16.Close;
   datamodule2.IBTable13.FieldByName('ID_F').Value:=id_f;
   datamodule2.IBTable13.FieldByName('NAME_BLUDO').AsString:=datamodule2.IBQuery14.Fields[0].AsString;
   datamodule2.ibtable13.FieldByName('KOLVO').AsInteger:=datamodule2.IBQuery14.Fields[1].AsString;
 end;
...
Рейтинг: 0 / 0
29.05.2014, 20:18
    #38656359
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
поиск по полю
Код: sql
1.
2.
3.
4.
merge into ...
select ... from rdb$database
when matched then update x=x+y
when not matched insert ....


как-то так.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
29.05.2014, 20:21
    #38656361
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
поиск по полю
Shnaizerвот код
А вот этот код выкинь на помойку и забудь как он пишется.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
29.05.2014, 20:23
    #38656365
Shnaizer
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
поиск по полю
Dimitry Sibiryakov,

почему? это маленький цикл часть огромного цикла создания таблицы с самыми популярными продуктами кафе по которым строится график для менеджеровских закупок. я не могу его удалить)
...
Рейтинг: 0 / 0
29.05.2014, 20:31
    #38656371
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
поиск по полю
Shnaizerпочему?
Потому что это отличный пример как кодить не надо. И работает он только удачным стечением
обстоятельств. То есть, короче говоря, дуракам новичкам везёт.
http://ibase.ru/devinfo/ibx.htm

Shnaizerэто маленький цикл часть огромного цикла создания таблицы с самыми
популярными продуктами кафе по которым строится график для менеджеровских закупок.
Ты таблицу для графика строишь вставками записей в базу?.. Ню-ню...

Чисто для проверки: ты когда-нибудь слышал про агрегатные функции?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
29.05.2014, 20:41
    #38656378
Shnaizer
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
поиск по полю
Dimitry Sibiryakov,

разве нельзя просто сказать че там криво написано? то что там много строчек нет это я знаю. скинул первый вариант для наглядности. то что рекордкаунт желательно не использовать тоже знаю поэтому перед ним делаю ласт ферст тогда он работает.
...
Рейтинг: 0 / 0
29.05.2014, 20:42
    #38656379
Shnaizer
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
поиск по полю
график я строю по таблице, которую заполняю нужной инфой. никакие функции не нужны для такой простой фигни как график по двум параметрам имя и число. я не задрот.
...
Рейтинг: 0 / 0
29.05.2014, 20:43
    #38656381
Shnaizer
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
поиск по полю
спасибо за запрос. всё работает.
...
Рейтинг: 0 / 0
30.05.2014, 09:42
    #38656664
Ivan_Pisarevsky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
поиск по полю
Shnaizerпросто сказать че там криво написано?все.
Shnaizerрекордкаунт желательно не использовать тоже знаю поэтому перед ним делаю ласт ферсаццкий адЪ.
Shnaizerникакие функции не нужны для такой простой фигни как график по двум параметрам имя и числофары, дворники и тормоза придумали трусы!
Shnaizerя не задротзабавный переход на собственную личность, но вообще-то под критику попал твой код, он (твой код) плох.
...
Рейтинг: 0 / 0
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / поиск по полю / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]