Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.04.2011, 16:13   #1
Sunde
Новичок
Джуниор
 
Регистрация: 15.04.2011
Сообщений: 2
Смущение Delphi и InterBase. Синхронная передача данных

Привет всем! Задали сделать контрольную, в которой нужно с приложения делфи содиниться с IB базой на удаленном компьютере, выполнить создание новой таблиицы, залить ее и самое выжное - сделать сохранимую процедуру. Так как время не хватает делаю все дома. Поставил interbase 6.5(который в комплекте с делфи идет), поднял сервер, подключил базу, табличку создал и залил, а вот при выполнении прцедуры нужно чтобы в поля LAST_USER записывало currrent_user. Выдало ошибку, почитал на форуме - пишут что в 6.5 версии current_user не поддерживаеться, скачал InterBase 7.5, тоже самое - выдает ошибку unknow kolumn current_user
В итоге сегодня поставил IB 2009 ключ скачал, поставилось но база вообще не добавляеться, в этот момент происходит рестарт сервера и выдает сообщение "Unable to complete network request to host "127.0.0.1:3050".
Error writing data to the connection.Удаленный хост принудительно разорвал существующее подключение." Я уже все волосы на себе повырывал и не знаю что делать и как быть?? Что можно сделать в данной ситуации?
Sunde вне форума Ответить с цитированием
Старый 17.04.2011, 20:16   #2
Sunde
Новичок
Джуниор
 
Регистрация: 15.04.2011
Сообщений: 2
По умолчанию

Код процедуры следующий:
set term ^ ;

create procedure Melnik(
NUM_ZACH integer,
F_FIO char(30),
I_FIO char(30),
O_FIO char(30),
D_O_B date,
ID_CODE char(15),
ID_DIV integer,
ID_PROFS integer,
NAME_GROUP char(20),
COURSE integer
)
returns (RESULT integer)
as
Declare variable prof integer;
Declare variable fio integer;
begin
F_FIO = StrReplace (F_FIO, 'I', 'І');
I_FIO = StrReplace (I_FIO, 'I', 'І');
O_FIO = StrReplace (O_FIO, 'I', 'І');
F_FIO = substr (F_FIO, 1, 1)||RLower(substr (F_FIO, 2, 30));
I_FIO = substr (I_FIO, 1, 1)||RLower(substr (I_FIO, 2, 30));
O_FIO = substr (O_FIO, 1, 1)||RLower(substr (O_FIO, 2, 30));

SELECT NEW_ID FROM Melnik_in71
WHERE OLD_ID = :ID_PROFS into :prof;

IF (F_FIO is null or I_FIO is null or O_FIO is null or D_O_B is null or ID_CODE is null or ID_DIV is null or NAME_GROUP is null or COURSE is null or prof is null) THEN
Begin
RESULT = NUM_ZACH;
exit;
end

SELECT ID_FIO
from contingents where F_FIO = :F_FIO and I_FIO = :I_FIO and O_FIO = : O_FIO and D_O_B = :D_O_B
into :fio;

IF (fio is null) THEN
begin
fio = GEN_ID (Gen_Contingent, 1);
insert into contingents
values (:fio, :F_FIO, :I_FIO, :O_FIO, :D_O_B, :ID_CODE, :ID_DIV, :prof, :NAME_GROUP, :COURSE, current_timestamp, current_user);
result = 1;
end

else
begin
update contingents set
ID_CODE = :ID_CODE, ID_DIV=:ID_DIV, ID_PROF=:prof, NAME_GROUP=:NAME_GROUP, COURSE=:COURSE, LAST_DATE = current_timestamp, LAST_USER = current_user where ID_FIO = :fio;
RESULT = 2;
end

end^

set term ; ^

Может проблема в коде?
Sunde вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
База данных Delphi + InterBase SystemError Фриланс 4 07.01.2011 11:59
Написать программу (Delphi) для работы с простенькой базой данных(Interbase) kitty19 Фриланс 8 01.01.2011 11:07
Чтение и запись данных в InterBase через Delphi Harikolo БД в Delphi 7 29.09.2010 22:46
Передача данных на сервер с помощью Delphi Арес Работа с сетью в Delphi 7 10.03.2008 13:29
Передача данных из VC++ DLL в Delphi App Kosoglaz Общие вопросы C/C++ 2 05.02.2008 10:53