Найден 51 результат

DemetrionQ
Чт 08 авг 2013 09:42
Форум: Universal Data Access Components
Тема: unitable lastinsertid
Ответы: 4
Просмотры: 4967

Re: unitable lastinsertid

Такое поведение возникает в следующих ситуациях:
- вы используете оба вышеуказанных способа автоматического заполнения полей;
- вы создали триггер, который при вставке записи заполняет поле с помощью последовательности, и при этом используете один из вышеуказанных способов автоматического заполнения полей.
DemetrionQ
Вт 06 авг 2013 14:12
Форум: Universal Data Access Components
Тема: unitable lastinsertid
Ответы: 4
Просмотры: 4967

Re: unitable lastinsertid

Здравствуйте.

Спасибо за Ваше сообщение, мы воспроизвели проблему с LastInsertId и занимаемся её изучением. Мы сообщим Вам, когда у нас появятся какие-либо результаты.

Для автоматического заполнения полей в PostgreSQL сервере обычно используют последовательности
http://www.postgresql.org/docs/9.1/stat ... uence.html
или псевдо-тип serial
http://www.postgresql.org/docs/9.1/stat ... YPE-SERIAL .
Если Вам необходимо, чтобы при вставке новой записи в dataset поля заполнялись автоматически, Вы можете сделать это одним из следующих способов:

1) если Вы используете serial тип, или в качестве значения по умолчанию для поля выбрана последовательность, то Вам достаточно установить свойство TUniTable.Options.DefaultValues в True, например:

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

  UniTable1.Options.DefaultValues := True;
2) если значение по умолчанию для поля не является последовательностью или не задано, Вы можете явно указать имя последовательности (в свойстве TUniTable.SpecificOptions.Values['PostgreSQL.KeySequence']) и имя поля (в свойстве TUniTable.KeyFields), например:

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

  UniTable1.KeyFields := 'id';
  UniTable1.SpecificOptions.Values['PostgreSQL.KeySequence'] := 'table1_id_seq';
Если же Вам необходимо напрямую обратиться к последовательности, чтобы получить её текущее значение или изменить его, Вы можете использовать специальные PostgreSQL команды http://www.postgresql.org/docs/9.1/stat ... uence.html .
DemetrionQ
Вт 30 июл 2013 12:16
Форум: MySQL Data Access Components
Тема: Не получаю ответа на форму обратной связи
Ответы: 2
Просмотры: 4797

Re: Не получаю ответа на форму обратной связи

Зравствуйте.

По вопросам связанным с функциональностью наших продуктов вы можете писать на support собака devart * com . По вопросам покупки, обновления наших продуктов и т.п. вы можете писать на sales собака devart * com . Так же вы можете задать ваш вопрос непосредственно на форуме.
DemetrionQ
Ср 24 июл 2013 09:41
Форум: PostgreSQL Data Access Components
Тема: Проблемы с кодировкой при включении UnpreparedExecute
Ответы: 1
Просмотры: 11176

Re: Проблемы с кодировкой при включении UnpreparedExecute

Здравствуйте.

Спасибо за информацию. Мы воспроизвели проблему и занимаемся её изучением. Мы сообщим вам, если появятся какие либо результаты по данному вопросу.
DemetrionQ
Ср 24 июл 2013 09:39
Форум: PostgreSQL Data Access Components
Тема: Странное зависание TPgQuery при выполнении запроса
Ответы: 1
Просмотры: 11648

Re: Странное зависание TPgQuery при выполнении запроса

Здравствуйте.

1) Отладка работает в триальной версии. Что бы её использовать, вам необходимо установить свойство TPgQuery.Debug в True и добавить юнит PgDacVcl в uses раздел в любом юните вашего проекта ( детальную информацию о свойстве TPgQuery.Debug вы найдёте здесь http://www.devart.com/pgdac/docs/devart ... _debug.htm ).

2) Метода TPgQuery.ExecSQL отправляет запрос на сервер и ожидает, пока сервер его не выполнит и не вернёт данные. Суммарное время выполнения запроса складывается из времени выполнения запроса сервером и времени передачи данных между сервером и клиентом.
Попробуйте выполнить ваш SQL запрос с помощью PgAdmin и сравнить время выполнения. Если PgAdmin выполняет запрос быстрее чем PgDAC, предоставьте следующую информацию:
- версия сервера;
- текст вашего запроса;
- скрипты создания процедур и таблиц, которые участвуют в запросе.
Если SQL скрипты слишком большие, вы можете прислать мне их на почту - dmitryk*devart*com
DemetrionQ
Ср 03 июл 2013 09:49
Форум: MySQL Data Access Components
Тема: Записать/прочитать массив из BLOB
Ответы: 4
Просмотры: 8917

Re: Записать/прочитать массив из BLOB

Здравствуйте.

Что бы гарантировать освобождения TMemoryStream объекта, вы можете включить в ваш код try finally инструкцию следующим образом

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

Stream:= TMemoryStream.Create;
try
  Form1.MyQuery1.SQL.Text:= 'select * from gr where n_id=:dname';
...
...
...
  Form1.MyQuery1.Close;

  matrix:=nil;
finally
  Stream.free;
end;
В остальном ваш код корректен и вы можете его использовать. Если возникнут ещё вопросы, обращайтесь.
DemetrionQ
Вт 02 июл 2013 11:31
Форум: MySQL Data Access Components
Тема: Записать/прочитать массив из BLOB
Ответы: 4
Просмотры: 8917

Re: Записать/прочитать массив из BLOB

Здравствуйте.

1) Вы правильно использовали TMemoryStream при работе с параметрами. На предоставленном вами снимке просмотрщика данных видно, что массив из десяти integer чисел сохранился корректно - именно такой последовательностью байт массив хранился в памяти вашего приложения.

2) Для копирования данных из TStream объектов в TField и обратно, вы можете использовать следующий код

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

  TBlobField(MyQuery1.FieldByName('t_id')).LoadFromStream(Stream);
  TBlobField(MyQuery1.FieldByName('t_id')).SaveToStream(Stream);
Для установки длины динамических массивов используйте метод SetLength (вы его уже использовали в своём коде). После загрузки данных из TField в TStream вы можете определить требуемую длину integer массива по формуле

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

  Stream.Size div SizeOf(integer)
3) Для сохранении и чтении строк из Blob полей используйте TParam.AsString и TField.AsString, например:

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

  MyQuery1.FieldByName('t_id').AsString := 'HELLO WORLD';
DemetrionQ
Пн 27 май 2013 09:17
Форум: MySQL Data Access Components
Тема: RAD Studio Delphi XE4
Ответы: 6
Просмотры: 8907

Re: RAD Studio Delphi XE4

Если у вас возникнут ещё какие либо вопросы, обращайтесь.
DemetrionQ
Ср 22 май 2013 09:59
Форум: MySQL Data Access Components
Тема: RAD Studio Delphi XE4
Ответы: 6
Просмотры: 8907

Re: RAD Studio Delphi XE4

Здравствуйте.

На данный момент поддержка RAD Studio XE4 присутствует только в последней версии MyDAC - 8.0.1.
Для доступа к последним версиям MyDAC необходима активная подписка. Если на странице зарегистрированных пользователей вы не видите MyDAC 8.0.1, то возможно ваша подписка уже закончилась. В этом случае для доступа к MyDAC 8.0.1 вам следует продлить подписку. Сделать это вы можете здесь http://www.devart.com/mydac/ordering.html в разделе "Renewals & Upgrades".
Для уточнения информации по вашей подписке вы можете связаться с нашим отделом по лицензированию через страницу контакта на нашем сайте
http://www.devart.com/ru/company/contact.html
DemetrionQ
Вт 21 май 2013 17:48
Форум: MySQL Data Access Components
Тема: Перекидка баз MyDamp неполучается.
Ответы: 31
Просмотры: 26319

Re: Перекидка баз MyDamp неполучается.

Если у вас возникнут ещё вопросы, пожалуйста, обращайтесь.
DemetrionQ
Вт 21 май 2013 13:10
Форум: MySQL Data Access Components
Тема: Перекидка баз MyDamp неполучается.
Ответы: 31
Просмотры: 26319

Re: Перекидка баз MyDamp неполучается.

Здравствуйте.

При вызове TMyDump.BackupQuery данные сохраняются в TMyDump.SQL, после чего их можно сохранить в файл с помощью метода TMyDump.SQL.SaveToFile, например:

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

  MyDump1->BackupQuery("SELECT * FROM MYTABLE2 WHERE MYVARIBLE = 5");
  MyDump1->SQL->SaveToFile("C:\\TableBackup.txt");
Также вы можете сохранить в файл частичную выборку данных из таблицы с помощью метода TMyDump.BackupToFile следующим образом:

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

  MyDump1->BackupToFile("C:\\TableBackup.txt", "SELECT * FROM MYTABLE2 WHERE MYVARIBLE = 5");
При использовании методов BackupQuery и BackupToFile можно указывать только один SQL запрос. Чтобы сохранить результаты нескольких запросов, используйте следующий код:

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

  TStringList* SL = new TStringList;
  try
  {
	MyDump1->BackupQuery("SELECT * FROM MYTABLE1");
	SL->AddStrings(MyDump1->SQL);

	MyDump1->BackupQuery("SELECT * FROM MYTABLE2 WHERE MYVARIBLE=5");
	SL->AddStrings(MyDump1->SQL);

	MyDump1->BackupQuery("SELECT * FROM MYTABLE3 INNER JOIN MYTABLE1 ON MYTABLE3.VAR1=MYTABLE1.VAR2");
	SL->AddStrings(MyDump1->SQL);

	SL->SaveToFile("C:\\TableBackup.txt");
  }
  __finally
  {
	SL->Free();
  }
DemetrionQ
Сб 27 апр 2013 11:10
Форум: MySQL Data Access Components
Тема: RAD Studio Delphi XE4
Ответы: 6
Просмотры: 8907

Re: RAD Studio Delphi XE4

Здравствуйте.

Новая версия MyDAC 8.0.1 с поддержкой RAD Studio XE4 уже доступна для скачивания.
DemetrionQ
Пт 19 апр 2013 10:58
Форум: MySQL Data Access Components
Тема: Перекидка баз MyDamp неполучается.
Ответы: 31
Просмотры: 26319

Re: Перекидка баз MyDamp неполучается.

Здравствуйте.

Для частичного сохранения данных вы можете использовать метод TMyDump.BackupQuery, например:

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

  MyDump1.BackupQuery('select * from YourTable where st=0');
Детальную информацию о TMyDump.BackupQuery вы можете найти в документации MyDAC.
DemetrionQ
Ср 17 апр 2013 11:41
Форум: MySQL Data Access Components
Тема: Различия между query и table
Ответы: 1
Просмотры: 4011

Re: Различия между query и table

Здравствуйте.

И TMyTable и TMyQuery одинаковым образом изменяют данные таблиц в БД. Когда вы вставляете, обновляете, удаляете запись в TMyTable или TMyQuery, формируется и выполняется соответствующий SQL запрос.
При открытии таблицы "YourTable" через TMyTable выполняется SQL запрос

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

select * from YourTable
Если вы используете этот SQL запрос в TMyQuery, то в этом случае TMyQuery будет вести себя абсолютно идентично TMyTable.
То, что в TMyQuery в SQL запросе могут присутствуют алиасы или виртуальные столбцы - никак не влияет на возможность редактирования существующих полей таблицы БД.
TMyTable и TMyQuery основаны на стандартном классе TDataSet. TMyTable и TMyQuery совместимы со всеми визуальными компонентами которые могут работать с TDataSet.
DemetrionQ
Ср 17 апр 2013 09:55
Форум: MySQL Data Access Components
Тема: Перекидка баз MyDamp неполучается.
Ответы: 31
Просмотры: 26319

Re: Перекидка баз MyDamp неполучается.

Здравствуйте.

При попытке выполнить TMyDump.RestoreFromFile из файла с некорректными данными возникает ошибка SQL синтаксиса. Если модификации сохранённого файла не нарушают SQL синтаксис, то невозможно определить, что файл был испорчен.
Пожалуйста, пришлите мне на dmitryk*devart*com некорректный файл, восстановление из которого не вызывает ошибки.