Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

Клиент на Delphi для InterBase

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [Компилируемые языки] >> Клиент на Delphi для InterBase
Имя
Сообщение << Старые топики   Новые топики >>
Клиент на Delphi для InterBase - 2008-03-18 18:55:37.566666   
T

Сообщений: 1100
Оценки: 0
Присоединился: 2006-01-14 00:15:36
Базу написал, работает как нада… Сел писать клиента: создал на форму обьекты: IBDatabase, IBTransaction, IBQuery. В ИБдатабэйс зареги и залогинился успешно в свою базу, в транзакшон и квери всё зарегил в эту базу… надыбал ф-ю IBQuery1.SQl.Insert(); она требует интовый индекс, и строку… немогу понять что туда пихать, или может другой ф-ей воспользоваться?
Post #: 1
RE: Клиент на Delphi для InterBase - 2008-03-19 13:29:31.323333   
Jasmin

Сообщений: 2320
Оценки: 0
Присоединился: 2007-05-03 23:08:53.390000
Тупые ученики нынче пошли… Не могут воспользоваться тем что под носом лежит…

Какой тип у IBQuery.SQL? Мышкой на слово .SQL наведи… Ага…
Насколько я помню борланду, там array of String или просто String

В последнем случае можно просто константу присвоить…

IBQuery1.SQL := "select * from blabla"
Post #: 2
RE: Клиент на Delphi для InterBase - 2008-03-19 18:52:57.580000   
dos 999

Сообщений: 331
Оценки: 0
Присоединился: 2007-12-17 10:49:07.556666
угу а если array то скорее всего можно так
IBQuery1.SQL.Text := 'select и т.д.';
Post #: 3
RE: Клиент на Delphi для InterBase - 2008-03-20 00:50:21.180000   
T

Сообщений: 1100
Оценки: 0
Присоединился: 2006-01-14 00:15:36
select - понятно… но не всё(как получить выбраную строку(и))…
и как инсерт сделать? что он за индекс просит?
Post #: 4
RE: Клиент на Delphi для InterBase - 2008-03-20 12:00:55.950000   
dos 999

Сообщений: 331
Оценки: 0
Присоединился: 2007-12-17 10:49:07.556666
вопервых после
IBQuery1.sql.text := 'insert into Table1 (name, age) values (''Иван'', 21)';
нужно выполнять
IBQuery1.ExcecSQL;

хм… индекс говориш… может ты тригер не поставил на счётчик?
в IB нет полей Счётчик или indentity там нужно использовать тригеры
Post #: 5
RE: Клиент на Delphi для InterBase - 2008-03-20 14:26:53.613333   
T

Сообщений: 1100
Оценки: 0
Присоединился: 2006-01-14 00:15:36
Так что? нада добавить тригер на событие добавления новой строки таблицы, чтобы он в поле допустим код товара сгенерил новую уникальную циферку?
Post #: 6
RE: Клиент на Delphi для InterBase - 2008-03-20 20:55:57.910000   
T

Сообщений: 1100
Оценки: 0
Присоединился: 2006-01-14 00:15:36
Усё понятно… разобрался… пока-что делаю, как будут вопросы ещё, напишу тут…
P.S. и исправте там IBQuery1.ExcecSQL; а не IBQuery1.sql.ExcecSQL;
Post #: 7
RE: Клиент на Delphi для InterBase - 2008-03-21 09:16:21.780000   
T

Сообщений: 1100
Оценки: 0
Присоединился: 2006-01-14 00:15:36
Эх… неработает…
Прив ыполнении ф-и

procedure TForm1.Button2Click(Sender: TObject);
begin
IBQuery1.sql.Text:='insert into magazini(name) values (''newmagaz1'');';
IBQuery1.ExecSQL;
end;

пишет:

—————————
Debugger Exception Notification
—————————
Project Project2.exe raised exception class EIBClientError with message 'Operation cancelled at user's request'. Process stopped. Use Step or Run to continue.
—————————
OK Help
—————————

Поидее нада ещё что-то ввести в Обьекте query->editSQL
Post #: 8
RE: Клиент на Delphi для InterBase - 2008-03-21 11:51:52.103333   
dos 999

Сообщений: 331
Оценки: 0
Присоединился: 2007-12-17 10:49:07.556666
попробуй запрос с одинарными ковычками…
IBQuery1.sql.Text:='insert into magazini(name) values ('newmagaz1')';
а вообще по правильному надо пользоваться параметрами

знаешь как это делать?
Post #: 9
RE: Клиент на Delphi для InterBase - 2008-03-21 15:57:16.920000   
T

Сообщений: 1100
Оценки: 0
Присоединился: 2006-01-14 00:15:36
я уже сделал так:
procedure TForm1.Button2Click(Sender: TObject);
begin
if not ibtransaction1.Active then
ibtransaction1.StartTransaction;
try
if not ibtable1.Active then ibtable1.Open;
ibtable1.Insert;
ibtable1.Fields[1].AsString:=edit4.Text;
ibtable1.Post;
ibtransaction1.Commit;
except
ibtransaction1.Rollback;
raise
end;
end;

Работает… Но походу ещё куча вопросов, если ктонить возьмётся помоч, стукните плз 247 677 534
Post #: 10
RE: Клиент на Delphi для InterBase - 2008-03-21 17:52:36.620000   
dos 999

Сообщений: 331
Оценки: 0
Присоединился: 2007-12-17 10:49:07.556666
Пиши тут свои вопросы, по ходу их возникновения
Post #: 11
RE: Клиент на Delphi для InterBase - 2008-03-21 18:29:24.620000   
T

Сообщений: 1100
Оценки: 0
Присоединился: 2006-01-14 00:15:36
Организовал упомянутым выше методом ввод в таблицу1, работает… там номер магазина в 0-м столбце генерится тригером автоматически, точно также как и во 2-й таблице, но кактолько я вношу новую строку во 2-ю таблицу, мне пишет типа обязательно введите значения столбца код, который генерируется автоматом… я это проверял, выполнял на клиенте базы максос типа: инсёрт инто таблица1(бренд,имя) валюэс ('вася','петя'); и новая строка создаётся безпроблем… уже всё пересмарел и в базе и в настройках обьектов… ничё немогу выловить…
Post #: 12
RE: Клиент на Delphi для InterBase - 2008-03-24 12:15:20.270000   
dos 999

Сообщений: 331
Оценки: 0
Присоединился: 2007-12-17 10:49:07.556666
quote:

инсёрт инто таблица1(бренд,имя) валюэс ('вася','петя');


а подобный запрос в таблицу 2 проходит?
Post #: 13
RE: Клиент на Delphi для InterBase - 2008-03-24 16:22:32.470000   
T

Сообщений: 1100
Оценки: 0
Присоединился: 2006-01-14 00:15:36

quote:

ORIGINAL: dos 999

quote:

инсёрт инто таблица1(бренд,имя) валюэс ('вася','петя');


а подобный запрос в таблицу 2 проходит?

да, работает, проверял…
Post #: 14
RE: Клиент на Delphi для InterBase - 2008-03-24 17:57:38.133333   
dos 999

Сообщений: 331
Оценки: 0
Присоединился: 2007-12-17 10:49:07.556666
у тебя эти 2 таблицы связаны… может он на связь ругаеться?
попробуй, удалить всязь и добавить запись во вторуб таблицу… отпишись чё произошло
Post #: 15
RE: Клиент на Delphi для InterBase - 2008-03-24 18:41:23.260000   
T

Сообщений: 1100
Оценки: 0
Присоединился: 2006-01-14 00:15:36
таблицы не связаны… первый столбец каждой является только её первичным ключем, есть только 3-я таблица, у которой эти 2 ключа являются фочин кеями…
Post #: 16
Страниц:  [1]
Все форумы >> [Компилируемые языки] >> Клиент на Delphi для InterBase







Связаться:
Вопросы по сайту / xakep@glc.ru

Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.