Найдено 217 результатов

Akella
Пт 20 апр 2012 10:00
Форум: Universal Data Access Components
Тема: Автозаполнение ключевого поля при добавлении записи
Ответы: 5
Просмотры: 11296

Хорошо, генерирует такой запрос:

Код: Выделить всё

INSERT INTO tLimitsDetail
  (id_limits, ex_count, common_count, frame_count, bold_count, remark)
VALUES
  (:id_limits, :ex_count, :common_count, :frame_count, :bold_count, :remark)

и получаем AV при Post
Project rp.exe raised exception class EDatabaseError with message 'Field 'id' must have a value'.
Akella
Чт 19 апр 2012 20:06
Форум: Universal Data Access Components
Тема: Постраничное получение записей FetchAll = false
Ответы: 15
Просмотры: 14549

Постраничное получение записей FetchAll = false

У UniQuery не нашёл FetchAll
UniQuery.FetchRows установлено в 25

Открываю DataEditor, туда загружаются все 453 записи.
А как сделать "постраничную" загрузку в грид?

Вообще-то я хочу постранично выводить в cxGrid, там есть GridMode для таких случаев.
Akella
Чт 19 апр 2012 18:36
Форум: Universal Data Access Components
Тема: Автозаполнение ключевого поля при добавлении записи
Ответы: 5
Просмотры: 11296

Поэтому я и спрашиваю. У меня просто не заполняется. А вот в dbForgeStudio заполняется.

Вот снимок грида:
Изображение


Вот скрипт создания таблицы:

Код: Выделить всё

CREATE TABLE tLimitsDetail(
  id INT(11) NOT NULL AUTO_INCREMENT,
  id_limits INT(11) NOT NULL,
  ex_count SMALLINT(6) DEFAULT NULL,
  common_count SMALLINT(6) DEFAULT NULL,
  frame_count SMALLINT(6) DEFAULT NULL,
  bold_count SMALLINT(6) DEFAULT NULL,
  remark VARCHAR(255) DEFAULT NULL,
  PRIMARY KEY (id)
)
ENGINE = MYISAM
AUTO_INCREMENT = 1
CHARACTER SET utf8
COLLATE utf8_general_ci;
У UniQuery заполнены поля UpdatingTable (tLimitsDetail) и KeyFields (id)

Запрос на insert (сгенерирован был автоматически):

Код: Выделить всё

INSERT INTO tLimitsDetail
  (id, id_limits, ex_count, common_count, frame_count, bold_count, remark)
VALUES
  (:id, :id_limits, :ex_count, :common_count, :frame_count, :bold_count, :remark)
В DataEditor тоже не заполняется:


Может я чего забыл?
Изображение

Поле id_limits заполняется правильно, а id вообще не заполняется:
Изображение

Options.DefaultValues устанавливал в True. Не помогает[/img]
Akella
Чт 19 апр 2012 14:42
Форум: Universal Data Access Components
Тема: Автоматизация Master Detail
Ответы: 5
Просмотры: 12996

Забыл написать.
У меня всё с того, что в первую очередь появилось сообщение о совпадении поля id толи при открытии редактора столбцов, то ли ри добавлении всех столбцов.
Да, если вдруг получится воспроизвести, конечно же пришлю более подробное описание
Akella
Чт 19 апр 2012 14:09
Форум: Universal Data Access Components
Тема: Автозаполнение ключевого поля при добавлении записи
Ответы: 5
Просмотры: 11296

Автозаполнение ключевого поля при добавлении записи

Что и где нужно заполнить в TUniQuery, чтобы при добавлении новой записи в гриде, автоматически заполнялось ключевое поле (primary, autoincrement)?

P.S. т.е. когда вызывается метод insert/append
Akella
Чт 19 апр 2012 13:42
Форум: Universal Data Access Components
Тема: Автоматизация Master Detail
Ответы: 5
Просмотры: 12996

Пока что проблему удалось победить. Удалил из модуля детальный НД и снова его создал.

Тех. поддержка-то не очень спешит помочь :(
Akella
Чт 19 апр 2012 12:47
Форум: Universal Data Access Components
Тема: Автоматизация Master Detail
Ответы: 5
Просмотры: 12996

Перезапустил среду.
Открыл редактор столбцов у детальной таблицы, выбрал команду "Add all fields" получаю:
Assertion failure (D:\Projects\Delphi\Dac\MySql\Source\MySqlApiDirect.pas, line 501).
у меня такой папки нет
Akella
Чт 19 апр 2012 12:38
Форум: Universal Data Access Components
Тема: Автоматизация Master Detail
Ответы: 5
Просмотры: 12996

Теперь когда хочу вызвать редактор столбцов у детального НД, получаю AV
Access violation at address 0C84E8DF in module 'dac160.bpl'. Write of address 00000006.
Akella
Чт 19 апр 2012 12:27
Форум: Universal Data Access Components
Тема: Автоматизация Master Detail
Ответы: 5
Просмотры: 12996

Автоматизация Master Detail

Не могу сообразить, как правильно подключить 2 TUniQuery, чтобы создать связь Master/Detail между ними.

В базе (MySQL 5.1) есть 2 таблицы:

Главная

Код: Выделить всё

CREATE TABLE tLimits(
  id INT(11) NOT NULL AUTO_INCREMENT,
  id_user INT(11) DEFAULT NULL,
  PRIMARY KEY (id)
)
ENGINE = MYISAM
AUTO_INCREMENT = 1
CHARACTER SET utf8
COLLATE utf8_general_ci;
Детальная:

Код: Выделить всё

CREATE TABLE tLimitsDetail(
  id INT(11) NOT NULL,
  id_limits INT(11) NOT NULL,
  ex_count SMALLINT(6) DEFAULT NULL,
  common_count SMALLINT(6) DEFAULT,
  frame_count SMALLINT(6) DEFAULT,
  bold_count SMALLINT(6) DEFAULT,
  remark VARCHAR(255) DEFAULT NULL,
  PRIMARY KEY (id)
)
ENGINE = MYISAM
CHARACTER SET utf8
COLLATE utf8_general_ci;
"Связующее поле" - id_limits

Как организовываю связь в приложении (DXE2, UniDAC 4.1.6)

В главном Наборе Данных TUniQuery (далее НД, qLimits) обычный запрос:

Код: Выделить всё

select id, id_user from tLimits
Создал столбцы.

В детальный НД (qLimitsDetail) вставил запрос:

Код: Выделить всё

SELECT ld.id
     , ld.id_limits
     , ld.ex_count
     , ld.common_count
     , ld.frame_count
     , ld.bold_count
     , ld.remark
FROM
  tLimitsDetail ld
В детальном НД выбрал в свойстве MasterSource тот DataSource, который привязан к главному НД - dsLimits.

Щёлкаю по кнопке в свойстве MasterFields и получаю AV
Access violation at address 00000000. Read of address 00000000.
Даже если прописать ручками все поля, то всё равно получаю AV при открытии НД в дизайне:

Изображение

Что я делаю не так?
Akella
Вт 17 апр 2012 13:28
Форум: Universal Data Access Components
Тема: Динамическое построение WHERE-части запроса
Ответы: 5
Просмотры: 5975

Да, я это уже понял :(
Akella
Пн 16 апр 2012 11:40
Форум: Universal Data Access Components
Тема: Keep alive connection - поддерживать подключение
Ответы: 1
Просмотры: 3307

Keep alive connection - поддерживать подключение

Не могу найти у TUniConnection свойства типа "Keep alive connection" для удержания постоянно открытого соединения. Бывает, что шлюз закрывает неактивные соединения.

По идее должно быть 2 свойства:
KeepAliveConnection: boolean;
KeepAliveTimeOut: Integer; <- через какой интервал отправлять запросы серверу.
Т.е. компонента должна, например, каждые 3000 мс отправлять на сервер какой-нибудь холостой запрос, чтобы шлюз "видел", что соединение активно.
Akella
Пт 13 апр 2012 14:20
Форум: Universal Data Access Components
Тема: Динамическое построение WHERE-части запроса
Ответы: 5
Просмотры: 5975

А если я добавил 3 условия, то как можно удалить только второе?
Akella
Чт 12 апр 2012 17:37
Форум: Universal Data Access Components
Тема: Юникод при передаче текстового параметра
Ответы: 4
Просмотры: 4538

Вопрос в догонку.
А почему исключение вываливается 3 раза?
Akella
Чт 12 апр 2012 17:31
Форум: Universal Data Access Components
Тема: FieldByName -> FBN
Ответы: 4
Просмотры: 4814

жаль
Akella
Чт 12 апр 2012 17:30
Форум: Universal Data Access Components
Тема: Юникод при передаче текстового параметра
Ответы: 4
Просмотры: 4538

а я думал, что проблема юникоде, т.к. сообщение было с кракозябрами.