Клиент на Delphi для InterBase
Пользователи, просматривающие топик: none
|
Зашли как: Guest
|
Имя |
Сообщение |
<< Старые топики Новые топики >> |
|
|
Клиент на Delphi для InterBase - 2008-03-18 18:55:37.566666
|
|
|
T
Сообщений: 1100
Оценки: 0
Присоединился: 2006-01-14 00:15:36
|
Базу написал, работает как нада… Сел писать клиента: создал на форму обьекты: IBDatabase, IBTransaction, IBQuery. В ИБдатабэйс зареги и залогинился успешно в свою базу, в транзакшон и квери всё зарегил в эту базу… надыбал ф-ю IBQuery1.SQl.Insert(); она требует интовый индекс, и строку… немогу понять что туда пихать, или может другой ф-ей воспользоваться?
|
|
|
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"
|
|
|
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 и т.д.';
|
|
|
RE: Клиент на Delphi для InterBase - 2008-03-20 00:50:21.180000
|
|
|
T
Сообщений: 1100
Оценки: 0
Присоединился: 2006-01-14 00:15:36
|
select - понятно… но не всё(как получить выбраную строку(и))… и как инсерт сделать? что он за индекс просит?
|
|
|
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 там нужно использовать тригеры
|
|
|
RE: Клиент на Delphi для InterBase - 2008-03-20 14:26:53.613333
|
|
|
T
Сообщений: 1100
Оценки: 0
Присоединился: 2006-01-14 00:15:36
|
Так что? нада добавить тригер на событие добавления новой строки таблицы, чтобы он в поле допустим код товара сгенерил новую уникальную циферку?
|
|
|
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;
|
|
|
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
|
|
|
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')'; а вообще по правильному надо пользоваться параметрами знаешь как это делать?
|
|
|
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
|
|
|
RE: Клиент на Delphi для InterBase - 2008-03-21 17:52:36.620000
|
|
|
dos 999
Сообщений: 331
Оценки: 0
Присоединился: 2007-12-17 10:49:07.556666
|
Пиши тут свои вопросы, по ходу их возникновения
|
|
|
RE: Клиент на Delphi для InterBase - 2008-03-21 18:29:24.620000
|
|
|
T
Сообщений: 1100
Оценки: 0
Присоединился: 2006-01-14 00:15:36
|
Организовал упомянутым выше методом ввод в таблицу1, работает… там номер магазина в 0-м столбце генерится тригером автоматически, точно также как и во 2-й таблице, но кактолько я вношу новую строку во 2-ю таблицу, мне пишет типа обязательно введите значения столбца код, который генерируется автоматом… я это проверял, выполнял на клиенте базы максос типа: инсёрт инто таблица1(бренд,имя) валюэс ('вася','петя'); и новая строка создаётся безпроблем… уже всё пересмарел и в базе и в настройках обьектов… ничё немогу выловить…
|
|
|
RE: Клиент на Delphi для InterBase - 2008-03-24 12:15:20.270000
|
|
|
dos 999
Сообщений: 331
Оценки: 0
Присоединился: 2007-12-17 10:49:07.556666
|
quote:
инсёрт инто таблица1(бренд,имя) валюэс ('вася','петя'); а подобный запрос в таблицу 2 проходит?
|
|
|
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 проходит? да, работает, проверял…
|
|
|
RE: Клиент на Delphi для InterBase - 2008-03-24 17:57:38.133333
|
|
|
dos 999
Сообщений: 331
Оценки: 0
Присоединился: 2007-12-17 10:49:07.556666
|
у тебя эти 2 таблицы связаны… может он на связь ругаеться? попробуй, удалить всязь и добавить запись во вторуб таблицу… отпишись чё произошло
|
|
|
RE: Клиент на Delphi для InterBase - 2008-03-24 18:41:23.260000
|
|
|
T
Сообщений: 1100
Оценки: 0
Присоединился: 2006-01-14 00:15:36
|
таблицы не связаны… первый столбец каждой является только её первичным ключем, есть только 3-я таблица, у которой эти 2 ключа являются фочин кеями…
|
|
|
|
|