Форум: "Базы";
Текущий архив: 2017.03.12;
Скачать: [xml.tar.bz2];
Внизпустой 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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.001 c