Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2017.03.12;
Скачать: CL | DM;

Вниз

пустой GUID   Найти похожие ветки 

 
Quart   (2011-08-08 14:31) [0]

Извините за ламерский вопрос. Чувствую, что дело в пропертях AdoDataSet"a.
Делаю так:

AdoDataSet.Append;
AdoDataSet.Post;
id:=AdoDataSet.FieldByName("id").AsString;


но в Id передаются нули, хотя в самой таблице БД GUID сформировался нормальный, что я делаю не так?
Поле типа uniqueidentifier, значение или привязка по умолчанию (newid())
Спасибо!


 
Медвежонок Пятачок ©   (2011-08-08 14:59) [1]

хотя в самой таблице БД GUID сформировался нормальный

сама таблица там и гуид, а сам датасет здесь.


 
Quart   (2011-08-08 15:01) [2]

Так как тогда получить ГУИД вновь введенной записи?


 
sniknik ©   (2011-08-08 15:23) [3]

пере запрос данных по записи,
или всех по таблице,
или генерить гуид на клиенте, пусть по умолчанию умолчанием и остается, а в нормальном варианте значение задавать....


 
sniknik ©   (2011-08-08 15:27) [4]

> что дело в пропертях AdoDataSet"a.
кстати да, можно заставить обновляться и в пропертями... тем есть указание/можно выставить, на пере запрос. но только не "галочкой" а прописыванием свойств рантайм... проще (и оно же менее "загрузочно") значение задавать.


 
Quart   (2011-08-08 15:34) [5]


> пере запрос данных по записи, или всех по таблице,

т.е. так?

AdoDataSet.Close;
AdoDataSet.Open;
Locate(...)

А вот это не понял...
> или генерить гуид на клиенте, пусть по умолчанию умолчанием
> и остается, а в нормальном варианте значение задавать...
> .




 
sniknik ©   (2011-08-08 15:50) [6]

> т.е. так?
в самом самом плохом, ресурсоемком варианте... да, так.

> А вот это не понял...

...
AdoDataSet.FieldByName("id").AsGuid:= Guid;
AdoDataSet.Post;

что непонятного?


 
Ega23 ©   (2011-08-09 01:08) [7]


> Так как тогда получить ГУИД вновь введенной записи?


ADODataSet1.CommandText := "
declare @X uniqueidenifier;
set @x=newid();
insert into ttt(uid, some_value) values (@x, """bla-bla-bla""");
select result=@x;";

ADODataSet1.Open;
Result := ADODataSet1.Fields[0].As  (вот тут не помню, вроде к них GUID есть, или через строку приводить?)


Как-то так.



Страницы: 1 вся ветка

Текущий архив: 2017.03.12;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.005 c
15-1458755602
Dimka Maslov
2016-03-23 20:53
2017.03.12
Как жить дальше?


3-1312799506
Quart
2011-08-08 14:31
2017.03.12
пустой GUID


8-1208967764
Darkmoon
2008-04-23 20:22
2017.03.12
Альфа канал


1-1349251842
de_guta
2012-10-03 12:10
2017.03.12
Проблема с записью в массив


2-1436124496
Арт
2015-07-05 22:28
2017.03.12
Переход по записям в ADO