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

Вниз

Помогите с IBTable данных IBX   Найти похожие ветки 

 
DimaF   (2004-01-20 05:27) [0]

Работал раньше с BDE решил перейти на InterBase
Проблемма в том что мне надо вносить до 1500 записей в базу данных программно, ели есть запись то обновить если нет то Insert с TTable было все просто Locate и по условию вставляеш или обновляеш
как КОРЕКТНО ЭТО СДЕЛАТЬ В IBX
я понимаю что можно воспользоватся IBTable но это както не коректно и еше с ней не тригеры не шетчики не работают она принудительно сама все поля заполняет.
КАК ПОСТУПИТЬ ПОМОГИТЕ !


 
Deniz   (2004-01-20 06:50) [1]

> вносить до 1500 записей в базу данных программно

Да без проблем. Лучше воспользоваться не IBTable а IBStoredProc.
А процедуру написать (или сгенерить) в IBExpert"е, должно получиться что-то вроде:

CREATE PROCEDURE DOKIN_IU (
IDDOKIN INTEGER,
NDOK INTEGER,
DDOK DATE,
INTYPE INTEGER)
AS
BEGIN
IF (EXISTS(SELECT IDDOKIN FROM DOKIN WHERE (IDDOKIN = :IDDOKIN))) THEN
UPDATE DOKIN
SET NDOK = :NDOK,
DDOK = :DDOK,
INTYPE = :INTYPE
WHERE (IDDOKIN = :IDDOKIN);
ELSE
INSERT INTO DOKIN (
IDDOKIN,
NDOK,
DDOK,
INTYPE)
VALUES (
:gen_id(<генератор>, 1),
:NDOK,
:DDOK,
:INTYPE);
END

Подразумевается что IDDOKIN - это первичный ключ, и по нему идет определение существования записи! О как!
В программе:

try
IBStoredProc1.StoredProcName:="DOKIN_IU";
IBStoredProc1.Prepare;
IBStoredProc1.ParamByName("NDOK").AsInteger:=...;
...
IBStoredProc1.ExecProc;
Application.ProcessMessages;
except
...
end;

Вот и все.


 
DimaF   (2004-01-20 06:58) [2]

Большое спосибо Deniz !



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

Форум: "Базы";
Текущий архив: 2004.02.10;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.44 MB
Время: 0.008 c
7-29622
maxXP
2003-10-25 21:03
2004.02.10
Как программно эмулировать нажатие мыши и клавиатуры?


3-29255
Burafchick
2004-01-18 22:51
2004.02.10
Как установить QReport в Delphi 7


1-29341
ViM
2004-01-29 04:45
2004.02.10
Как сделать плоские скроллбары у TreeView?


7-29627
kullibin
2003-11-19 14:18
2004.02.10
Что за сообщение?


6-29494
Lexer
2003-12-08 16:41
2004.02.10
Закачка файлов через SOCK-протокол





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский