Найдено 39 результатов
- Пт 21 мар 2014 17:34
- Форум: SQL Server Data Access Components
- Тема: Можно ли избежать неявной транзакции?
- Ответы: 19
- Просмотры: 19135
Re: Можно ли избежать неявной транзакции?
Правильно ли я понимаю, что AutoCommit управляет поведение транзакции только в компоненте TMSConnection при вызове метода ApplyUpdates? А в датасетах метод ApplyUpdate автоматически не стартует транзакцию и не зависит от свойства AutoCommit компонента TMSConnection?
- Сб 07 сен 2013 19:42
- Форум: SQL Server Data Access Components
- Тема: Не одинаковое поведение Table-Valued Parameters
- Ответы: 19
- Просмотры: 21946
Re: Не одинаковое поведение Table-Valued Parameters
Да спасибо за помощь!
везде обновился и все заработало....
везде обновился и все заработало....
- Ср 04 сен 2013 08:17
- Форум: SQL Server Data Access Components
- Тема: Не одинаковое поведение Table-Valued Parameters
- Ответы: 19
- Просмотры: 21946
Re: Не одинаковое поведение Table-Valued Parameters
Version 6.1.3 for Delphi XE2AndreyZ писал(а):Укажите пожалуйста точную версию SDAC которую Вы используете. Вы можете найти ее на закладке About редактора компонента TMSConnection.
- Вт 03 сен 2013 13:53
- Форум: SQL Server Data Access Components
- Тема: Не одинаковое поведение Table-Valued Parameters
- Ответы: 19
- Просмотры: 21946
Re: Не одинаковое поведение Table-Valued Parameters
К сожалению я по прежнему не могу повторить ошибку. Попробуйте запустить это консольное приложение из Delphi XE2 в режиме отладки и определить конкретную строчку кода которая приводит к генерации исключения.
Код: Выделить всё
MSQuery.Post;
- Вт 03 сен 2013 11:02
- Форум: SQL Server Data Access Components
- Тема: Не одинаковое поведение Table-Valued Parameters
- Ответы: 19
- Просмотры: 21946
Re: Не одинаковое поведение Table-Valued Parameters
Microsoft SQL Server: 10.50.4000
Microsoft SQL Server Native Client 10.0: 10.50.4000.0
Microsoft SQL Server Native Client 10.0: 10.50.4000.0
- Пн 02 сен 2013 08:23
- Форум: SQL Server Data Access Components
- Тема: Не одинаковое поведение Table-Valued Parameters
- Ответы: 19
- Просмотры: 21946
Re: Не одинаковое поведение Table-Valued Parameters
Приложение выдает такую ошибку:
- Пт 30 авг 2013 13:19
- Форум: SQL Server Data Access Components
- Тема: Не одинаковое поведение Table-Valued Parameters
- Ответы: 19
- Просмотры: 21946
Re: Не одинаковое поведение Table-Valued Parameters
Действительно я был замечен во не внимательности, но простая операция копирования Вашего кода и вставки его в тестовый проект не принесла успеха. Ошибка все тажеAlexp писал(а):Добрый день,
Вам необходимо вместо Вашего кода, вставить в метод BeforeUpdateExecute приведенный мной код в предыдущем посте, тогда ошибки не возникнет
- Пт 30 авг 2013 06:22
- Форум: SQL Server Data Access Components
- Тема: Не одинаковое поведение Table-Valued Parameters
- Ответы: 19
- Просмотры: 21946
Re: Не одинаковое поведение Table-Valued Parameters
Добрый день!
Сделал как Вы указали, и на своем проекте и на тестовом - результат один и тот же.
И вот он в картинках:
Сделал как Вы указали, и на своем проекте и на тестовом - результат один и тот же.
И вот он в картинках:
- Чт 29 авг 2013 15:21
- Форум: SQL Server Data Access Components
- Тема: Не одинаковое поведение Table-Valued Parameters
- Ответы: 19
- Просмотры: 21946
Re: Не одинаковое поведение Table-Valued Parameters
Спасибо за ответ, но не работает!
Все равно пишет ошибку - "Недопустимый тип параметра"
Все равно пишет ошибку - "Недопустимый тип параметра"
- Вт 27 авг 2013 08:28
- Форум: SQL Server Data Access Components
- Тема: Не одинаковое поведение Table-Valued Parameters
- Ответы: 19
- Просмотры: 21946
Re: Не одинаковое поведение Table-Valued Parameters
Попробовал перенести вызов процедуры в TMSQuery, написав:
но получаю ошибку:
хотя в процедуре все прописано:
Код: Выделить всё
exec spAddVolume :LINK_REPORTS READONLY, :ID_VOLUME, :NUMBER, :TITLE, :VERSION, :REF_TYPE, :SHORTNAME, :LONGNAME, :REF_BUILDING, :NUM_REVISION
Код: Выделить всё
Возвращающий табличное значение параметр "@P1" должен быть объявлен как READONLY.
Код: Выделить всё
ALTER PROCEDURE [dbo].[spAddVolume]
@LINK_REPORTS dbo.LinkReports READONLY,
@ID_VOLUME INT,
@NUMBER VARCHAR(50),
@TITLE VARCHAR(510),
@VERSION INT,
@REF_TYPE INT,
@SHORTNAME VARCHAR(255),
@LONGNAME VARCHAR(255),
@REF_BUILDING INT,
@NUM_REVISION VARCHAR(20)
AS
- Пн 26 авг 2013 07:41
- Форум: SQL Server Data Access Components
- Тема: Не одинаковое поведение Table-Valued Parameters
- Ответы: 19
- Просмотры: 21946
Не одинаковое поведение Table-Valued Parameters
Добрый день!
Есть связь TMSQuery -> TMSUpdateSQL -> TMSStoredProc.
Есть два варианта кода.
Вариант 1.
Вариант 2
Так вот если использовать вариант 1, то возникает ошибка. SQL возвращает "Недопустимый тип параметра".
Если же использовать Вариант 2, то все работает, но тогда состояние TMSQuery, после выполнения TMSStoredProc так же в dsInsert или dsEdit.
А надо бы чтобы изменилось и отработало свойство Refresh.
Подскажите как быть?
Есть связь TMSQuery -> TMSUpdateSQL -> TMSStoredProc.
Есть два варианта кода.
Вариант 1.
Код: Выделить всё
TMSStoredProc.PrepareSQL;
TMSStoredProc.Params.ParamByName('Table').AsTable := TMSTableData.Table;
TMSQuery.Post;
Код: Выделить всё
TMSStoredProc.PrepareSQL;
TMSStoredProc.Params.ParamByName('Table').AsTable := TMSTableData.Table;
TMSStoredProc.ExecProc;
Если же использовать Вариант 2, то все работает, но тогда состояние TMSQuery, после выполнения TMSStoredProc так же в dsInsert или dsEdit.
А надо бы чтобы изменилось и отработало свойство Refresh.
Подскажите как быть?
- Пн 01 апр 2013 09:58
- Форум: SQL Server Data Access Components
- Тема: Порядок изменений
- Ответы: 7
- Просмотры: 8582
Re: Порядок изменений
Такое поле существует у таблицы
получается, что выход только в отказе от уникального индекса и в надежде что данные будут вноситься только через программу?
а GRADE используется для сортировки в пределах поля Ref_NameTerminalCREATE TABLE Table1(
ID_STENCIL INT IDENTITY
получается, что выход только в отказе от уникального индекса и в надежде что данные будут вноситься только через программу?
- Пт 29 мар 2013 13:46
- Форум: SQL Server Data Access Components
- Тема: Порядок изменений
- Ответы: 7
- Просмотры: 8582
Re: Порядок изменений
Алгоритм пересчета изменений следующий
Код: Выделить всё
procedure TfAddDev.QslListTerminalBeforeInsert(DataSet: TDataSet);
begin
AIsLastRec := (DataSet.RecordCount = DataSet.RecNo);
AOldRec := DataSet.Bookmark;
if not AIsLastRec then
begin
try
AGrade := DataSet['GADE'];
DataSet.DisableControls;
Dataset.GotoBookmark(AOldRec);
while not DataSet.Eof do
begin
DataSet.Edit;
DataSet['GRADE'] := DataSet['GRADE'] + 1;
DataSet.Next;
end;
DataSet.GotoBookmark(AOldRec);
finally
DataSet.EnableControls;
end;
end;
end;
procedure TfAddDev.QslListTerminalAfterInsert(DataSet: TDataSet);
begin
if not AIsLastRec then
DataSet['GRADE'] := AGrade
else begin
if VarIsNull(DataSet['GRADE']) then
DataSet['GRADE'] := DataSet.RecordCount + 1;
end;
end;
- Чт 28 мар 2013 11:24
- Форум: SQL Server Data Access Components
- Тема: Порядок изменений
- Ответы: 7
- Просмотры: 8582
Re: Порядок изменений
Спасибо за ответ!
но я имел ввиду другое, мне нужно чтобы внутри какого-то действия ([ukUpdate]) можно было бы задавать порядок отправки изменений на сервер.
Поясню, есть таблица
как видно поля GRADE и TERMINAL создают уникальный индекс, в этой таблице редактировать необходимо только эти два поля. Если я добавляю запись, то поле GRADE пересчитывается.
Происходит нарушение уникальности, но если я буду отправлять на сервер записи от максимального GRADE к минимальному, то нарушения не произойдет.
но я имел ввиду другое, мне нужно чтобы внутри какого-то действия ([ukUpdate]) можно было бы задавать порядок отправки изменений на сервер.
Поясню, есть таблица
Код: Выделить всё
CREATE TABLE Table1(
ID_STENCIL INT IDENTITY,
Ref_NameTerminal INT NULL,
TERMINAL NVARCHAR(10) NULL,
GRADE INT NOT NULL,
CONSTRAINT PK_Table1 PRIMARY KEY (ID_STENCIL),
CONSTRAINT FK_Table1_Table2 FOREIGN KEY (Ref_NameTerminal) REFERENCES Table2 (ID_NameTerminalStencil) ON DELETE CASCADE ON UPDATE CASCADE
) ON [PRIMARY]
GO
CREATE UNIQUE INDEX IX_sys_swgStencil ON Table1 (Ref_NameTerminal, GRADE) ON [PRIMARY]
Происходит нарушение уникальности, но если я буду отправлять на сервер записи от максимального GRADE к минимальному, то нарушения не произойдет.
- Ср 27 мар 2013 14:33
- Форум: SQL Server Data Access Components
- Тема: Порядок изменений
- Ответы: 7
- Просмотры: 8582
Порядок изменений
Добрый день!
Подскажите, возможно ли в режиме CachedUpdates := true, когда выполняешь процедуру ApplyUpdates изменить порядок (хотя бы) в котором изменения отсылаются на сервер?
Подскажите, возможно ли в режиме CachedUpdates := true, когда выполняешь процедуру ApplyUpdates изменить порядок (хотя бы) в котором изменения отсылаются на сервер?