Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Старая прога на фибах (помогите разобраться) / 8 сообщений из 8, страница 1 из 1
10.09.2019, 07:29
    #39859655
Rphoenix
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Старая прога на фибах (помогите разобраться)
Здравствуйте!
У меня есть задача: из ексельки сделать в делфи выгрузку в Firebird 2.
В делфи я сделал чтение ексельки - все корректно работает и закрывается, выгружается в отдельный массив.
В IBE написал по типу
авторbegin
if (exists(select upper(FAM)
from TEST t
where t.fam = :FAM)) then
update TEST tt
set tt.fam=:FAM
where tt.fam = :FAM;
else
insert into TEST
values (:FAM);
suspend;
end
Это просто для теста: если есть по ключевому полю, то апдейт, а иначе новая строка.
Далее, мне нужно в фибы закинуть это: я делаю через
авторSELECT
*
FROM
ERMIS_INSERT(:FAM)

А в делфи пишу
.....
for i := 1 to x-1 do // x - последняя строка в ексельке - 1 заголовок
//for j := 1 to y do
begin
pfbermis.Open;
ShowMessage(MyMass[i,4]);
pfbermis.ParamByName('FAM').AsSTRING:=MyMass[i,4];
pfbermis.Active:=TRUE;
pfbermis.edit;
pfbermis.Active:=False;
pfbermis.Close;
end;
----
Уже день сижу с этим, как, возможно, по нормальному написать?
...
Рейтинг: 0 / 0
10.09.2019, 07:45
    #39859657
pastor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Старая прога на фибах (помогите разобраться)
Rphoenix,

var LQry:TpFIBQuery;
....
LQry.Text:= 'SELECT count(*) FROM ERMIS_INSERT(:FAM) ';

LQry.ExecWP( MyStringParam);
LQry.Close;
...
Рейтинг: 0 / 0
10.09.2019, 07:46
    #39859659
Симонов Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Старая прога на фибах (помогите разобраться)
Rphoenix,

EXECUTE PROCEDURE и убрать SUSPEND из ХП. И не в предках DataSet это выполнять

Модератор: Тема перенесена из форума "Firebird, InterBase".
...
Рейтинг: 0 / 0
10.09.2019, 11:25
    #39859734
Rphoenix
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Старая прога на фибах (помогите разобраться)
Сейчас пишет "Cannot mofidy a read-only dataset
ShowMessage(MyMass[i,4]);
pfbermis.ParamByName('FAM').AsSTRING:=MyMass[i,4];
pfbermis.Active:=true;
pfbermis.edit;
...
Рейтинг: 0 / 0
10.09.2019, 11:34
    #39859742
Rphoenix
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Старая прога на фибах (помогите разобраться)
На строчке "pfbermis.edit;" ошибка
...
Рейтинг: 0 / 0
10.09.2019, 11:37
    #39859748
wadman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Старая прога на фибах (помогите разобраться)
RphoenixНа строчке "pfbermis.edit;" ошибка
Датасет не понимает как построить запрос для редактирования.
Потому нужно либо его переписать, либо заполнить его обработчики (если таковые есть) для редактирования записей, либо заменить на что-то другое.
...
Рейтинг: 0 / 0
10.09.2019, 12:30
    #39859778
ёёёёё
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Старая прога на фибах (помогите разобраться)
RphoenixСейчас пишет "Cannot mofidy a read-only dataset
ShowMessage(MyMass[i,4]);
pfbermis.ParamByName('FAM').AsSTRING:=MyMass[i,4];
pfbermis.Active:=true;
pfbermis.edit;
Зайчик, читай стр.141: http://www.ibase.ru/files/firebird/mir_interbase_polnaya_versiya.pdf
...
Рейтинг: 0 / 0
10.09.2019, 14:03
    #39859849
Rphoenix
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Старая прога на фибах (помогите разобраться)
ёёёёё, огромное спасибо! Все получилось!
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Старая прога на фибах (помогите разобраться) / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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