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

DYUMON
Ср 24 авг 2016 17:00
Форум: MySQL Data Access Components
Тема: Хранимая процедура возвращает 0
Ответы: 3
Просмотры: 16038

Хранимая процедура возвращает 0

День добрый.
Использую delphi 10.1 .
Обновил компоненты MyDac с версии 8.7.23 до 8.7.24. И в коде обработки значения хранимой процедуры возникла ошибка.
При работе данного кода

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

function Tdm.GetServerDate: tDateTime;
begin
  MyGetId.Close;
  MyGetId.Params.Clear;
  MyGetId.StoredProcName := 'GetServetDate';
  MyGetId.Execute;
  Result  := MyGetId.ParamByName('dt').AsDateTime;
  
end;
в результат стал падать 0. То есть дата от которой ведется отсчет времени. при возвращение чисел из других хранимых процедуры результат правильный.
При даунгрейде до 8.7.23 все начинает работать нормально, в результат падает число и время. Можете это как то поправить, поскольку я пользуюсь версией без исходных кодов.
DYUMON
Чт 18 авг 2016 14:39
Форум: MySQL Data Access Components
Тема: Отловить измененные поля
Ответы: 1
Просмотры: 14473

Отловить измененные поля

День добрый.
Использую для работы с базой данных компоненты MyDac 8.7.23.
Возник такой вопрос. В программе ведется лог работы пользователя с базой. Хотелось бы отлавливать какие именно поля он менял. При просмотре лога работы TmyQuery через dbmonitor видно что компонент при изменение полей не пихает все поля в запрос, а изменяет только нужные, хотелось бы отлавливать данные изменения из кода. Подскажите имеется ли такая возможность?
DYUMON
Пн 02 май 2016 20:14
Форум: Universal Data Access Components
Тема: Unidac express
Ответы: 1
Просмотры: 3669

Unidac express

День добрый. Пытаюсь установить http://www.devart.com/unidac/unidac21express.exe мне пишет что это старая версия не совместима с текущей версией pgdac 4.7.23. Можете обновить версию на сервере.
DYUMON
Чт 03 мар 2016 10:19
Форум: SQLite Data Access Components
Тема: Unidac express + Litedac выдает ошибку
Ответы: 3
Просмотры: 14928

Re: Unidac express + Litedac выдает ошибку

День добрый. Есть ли какие либо сдвиги по данному вопросу ?
DYUMON
Пн 21 дек 2015 07:08
Форум: SQLite Data Access Components
Тема: Unidac express + Litedac выдает ошибку
Ответы: 3
Просмотры: 14928

Unidac express + Litedac выдает ошибку

День добрый.
Имеется одно старое приложение когда то написанное на Unidac и Sqlite. Сейчас в Delphi XE7 стоит Unidac Express 6.2.9 и LiteDac 2.6.20. При попытке скомпилировать проект выдается ошибка.

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

[dcc32 Fatal Error] datacon.pas(7): F2051 Unit SQLiteUniProvider was compiled with a different version of LiteConnectionString.TLiteConnectionStringBuilder

Хотел узнать можно ли это как то поправить? или проще все на LiteDac переложить?
DYUMON
Ср 25 ноя 2015 10:24
Форум: SQLite Data Access Components
Тема: LiteDac batch метод
Ответы: 7
Просмотры: 18453

Re: LiteDac batch метод

Хорошо. Буду ждать.
DYUMON
Пн 23 ноя 2015 16:21
Форум: SQLite Data Access Components
Тема: LiteDac batch метод
Ответы: 7
Просмотры: 18453

Re: LiteDac batch метод

Вот файл откуда была загрузка данных и файл базы.
DYUMON
Сб 21 ноя 2015 07:26
Форум: SQLite Data Access Components
Тема: LiteDac batch метод
Ответы: 7
Просмотры: 18453

Re: LiteDac batch метод

Вот прилагаю проект с кодом
DYUMON
Пт 20 ноя 2015 12:58
Форум: SQLite Data Access Components
Тема: LiteDac batch метод
Ответы: 7
Просмотры: 18453

LiteDac batch метод

День добрый тестировал ваш новый batch метод добавления данных.
Использую Delphi XE7 Upd1, LiteDac 2.6.19 , операционная система windows 7 x64.
При добавление на форму компонента LiteSQLMonitor и попытке выполнить batch запрос выскакивает ошибка.

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

---------------------------
Project1
---------------------------
Can not access a DML array as a single value.
---------------------------
ОК  

---------------------------

если он выключен то запрос успешно выполняется. подскажите как исправить данную ошибку.
DYUMON
Вт 30 июн 2015 16:51
Форум: Universal Data Access Components
Тема: unidac storedprocedure вызов процедуры mysql
Ответы: 3
Просмотры: 4091

Re: unidac storedprocedure вызов процедуры mysql

День добрый.
Спасибо за совет, помогло. Оказалось что процедура создавалась под пользователем root, а у пользователя в программе не было прав на выполнение процедур. Теперь все работает как надо.
DYUMON
Пн 29 июн 2015 07:27
Форум: Universal Data Access Components
Тема: unidac storedprocedure вызов процедуры mysql
Ответы: 3
Просмотры: 4091

unidac storedprocedure вызов процедуры mysql

День добрый.
Подскажите как правильно использовать storedprocedure для вызова хранимых процедур в Mysql.
процедура возвращает 1 параметр в нее ничего не передается.
процедуру примерно такая

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

CREATE PROCEDURE `my_proc`(OUT t INTEGER(11))
BEGIN
set t = 100;
END;
вызываю её из кода как

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

strorproc.stroredprocedurename:='my_proc';
strorproc.prepare;
strorproc.exute;
showmessage(stroproc.parambyname('t').asstring);
программа говорит что количество ожидаемых параметров 1 передано 0
если же добавить параметр то возвращает 0.
на данный момент делаю через uniquery

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

uniquery.sql.text:='call myproc(@a)';
uniquery.execute;
uniquery.sql.text:= 'select @a as kod';
uniquery.open;
showmessage(uniquery.fieldbyname('kod').asstring);
так программа возвращает правильное значение.
код писал по памяти могут быть синтаксические ошибки.
DYUMON
Пн 16 фев 2015 06:43
Форум: dbForge for SQL Server
Тема: Не выполняется запрос в dbForge
Ответы: 5
Просмотры: 5582

Re: Не выполняется запрос в dbForge

Попробовал данный запрос в EMS SQL Manager. Там он тоже выполнился нормально.
В общем путем проб определил что dbForge нормально работает с такой формой записи.

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

SELECT
z.z_vrach
FROM znr z
WHERE z.z_date_end BETWEEN  '20131201' AND  '20131231';
то есть когда дата представлена в формате YYYYMMDD либо в формате DD/MM/DDDD
DYUMON
Ср 14 янв 2015 04:07
Форум: dbForge for SQL Server
Тема: Не выполняется запрос в dbForge
Ответы: 5
Просмотры: 5582

Re: Не выполняется запрос в dbForge

Примерно такой код создания таблицы

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

CREATE TABLE ortop.dbo.znr (
  z_id int IDENTITY,
  z_nn int NULL,
  z_plat int NULL,
  z_date_beg datetime NULL,
  z_date_end datetime NULL,
  z_note1 varchar(100) NULL,
  z_note2 varchar(50) NULL,
  z_vrach int NULL
)
в mssql 2000 нет поля с типом date поэтому пользуюсь datetime
DYUMON
Вт 13 янв 2015 05:27
Форум: dbForge for SQL Server
Тема: Не выполняется запрос в dbForge
Ответы: 5
Просмотры: 5582

Не выполняется запрос в dbForge

Добрый день.
Использую
dbForgefor SQL Server 4.0.52 и
Microsoft SQL Server 2000 - 8.00.2039 (Intel X86)
SQL Query Analyzer 2000.080.0194.00

в обоих редакторах выполняю простой запрос

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

SELECT z.z_vrach  FROM znr z WHERE z.z_date_end BETWEEN '2013-12-01' AND '2013-12-31'
Query Analyzer выводит данные, а dbForgefor выдает ошибку
2 The conversion of a char data type to a datetime data type resulted in an out-of-range datetime value. SQL1.sql 1 1
Как можно заставить dbForgefor SQL Server выполнять запрос корректно?
DYUMON
Вт 19 ноя 2013 17:25
Форум: Universal Data Access Components
Тема: Глубина Params
Ответы: 1
Просмотры: 2606

Глубина Params

Доброго всем времени суток.

есть uniquery c таким кодом

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

SET @sql = NULL;
SELECT
  GROUP_CONCAT(DISTINCT
    CONCAT(
      'MAX(IF(np.nmp_name = "',nmp_name,'", np.nmp_value, NULL)) AS ',nmp_name)
  ) INTO @sql
FROM nompropers WHERE nmp_gid =:gr;

SET @sql = CONCAT('SELECT n.n_id AS "Код", n.n_name AS "Наименование", n.n_zavod AS "Завод" ,n.n_cena_opt as "Цена" , n.n_tov_count as "Кол-во",n.n_edizm as "Ед.изм",',
  @sql,' FROM nomenklatura n
                   LEFT JOIN nompropers AS np 
                    ON n.n_id = np.nmp_nid
                 where n.n_id in (select n_id from nomenklatura where n_grup_id = :dr)  GROUP BY n.n_id');

PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
в нём два параметра gr и dr. в params видно только первый параметр gr поскольку dr находится в кавычках.
Такой вопрос. Можно как то увеличить глубину поиска паметров? или добавлять в uniquery код с уже подобранными параметрами?