![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
пустой GUID [D7, MSSQL]
Quart © (2011-08-08 14:31:00)Извините за ламерский вопрос. Чувствую, что дело в пропертях AdoDataSet'a.
Делаю так:
AdoDataSet.Append;
AdoDataSet.Post;
id:=AdoDataSet.FieldByName('id').AsString;
но в Id передаются нули, хотя в самой таблице БД GUID сформировался нормальный, что я делаю не так?
Поле типа uniqueidentifier, значение или привязка по умолчанию (newid())
Спасибо!
Ega23 (2011-08-09 01:08:00) [1]
> Так как тогда получить ГУИД вновь введенной записи?
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 есть, или через строку приводить?)
Как-то так.
sniknik (2011-08-08 15:50:00) [2]> т.е. так?
в самом самом плохом, ресурсоемком варианте... да, так.
> А вот это не понял...
...
AdoDataSet.FieldByName('id').AsGuid:= Guid;
AdoDataSet.Post;
что непонятного?
Quart (2011-08-08 15:34:00) [3]
> пере запрос данных по записи, или всех по таблице,
т.е. так?
AdoDataSet.Close;
AdoDataSet.Open;
Locate(...)
А вот это не понял...
> или генерить гуид на клиенте, пусть по умолчанию умолчанием
> и остается, а в нормальном варианте значение задавать...
> .
sniknik (2011-08-08 15:27:00) [4]> что дело в пропертях AdoDataSet'a.
кстати да, можно заставить обновляться и в пропертями... тем есть указание/можно выставить, на пере запрос. но только не "галочкой" а прописыванием свойств рантайм... проще (и оно же менее "загрузочно") значение задавать.
sniknik (2011-08-08 15:23:00) [5]пере запрос данных по записи,
или всех по таблице,
или генерить гуид на клиенте, пусть по умолчанию умолчанием и остается, а в нормальном варианте значение задавать....
Quart (2011-08-08 15:01:00) [6]Так как тогда получить ГУИД вновь введенной записи?
Медвежонок Пятачок (2011-08-08 14:59:00) [7]хотя в самой таблице БД GUID сформировался нормальный
сама таблица там и гуид, а сам датасет здесь.