Default Guid Value
Добрый день,
пытаюсь сделать следующее:
в комбобуксе выбрается значение из таблицы вида guid,name
Далее хочу передать выбранный guid в запрос. Запнулся на определении параметра запроса. Без defaultvalue параметра запрос не работает. Ставлю тип guid, определяю значение 00000000-0000-0000-0000-000000000000 - запрос не работает. Ставлю тип varchar - ловлю ошибку "invalid cast from int32 to guid".
Подскажите, нужно обновить версию (172) или есть другой способ?
пытаюсь сделать следующее:
в комбобуксе выбрается значение из таблицы вида guid,name
Далее хочу передать выбранный guid в запрос. Запнулся на определении параметра запроса. Без defaultvalue параметра запрос не работает. Ставлю тип guid, определяю значение 00000000-0000-0000-0000-000000000000 - запрос не работает. Ставлю тип varchar - ловлю ошибку "invalid cast from int32 to guid".
Подскажите, нужно обновить версию (172) или есть другой способ?
Комментарии
Да, в DefaultValue передать guid не получится. Нужна доработка с моей стороны.
В Expression передать можно в таком виде:
new Guid("01fe00a2-d389-49ff-9c10-6d9684321fc1")
В лоб указывать Guid по прежнему не дает, использование varchar и конструкции вида " "+[qstore.id] и [qstore.id].toString() выдают эксепшн.
Поскажите правильный способ
А какой способ у Вас работает? Я пробовал как минимум 4 пути.
select * from Table1
where Column3 = @param1
поле Column3 - типа UniqueIdentifier
Создаю параметр:
Name = param1
DataType = UniqueIdentifier
DefaultValue = 01fe00a2-d389-49ff-9c10-6d9684321fc1
все отрабатывает, на следующем шаге мастера я вижу список колонок, которые вернул запрос.
В Expression передать можно в таком виде:
new Guid("01fe00a2-d389-49ff-9c10-6d9684321fc1")
new Guid(ComboBox1.Text)
- комбобокс можно заполнить автоматически, если привязать его к колонке "Склад.Название" с помощью св-ва DataColumn;
- когда выберете склад и закроете форму, таблица "Склад" будет отфильтрована автоматически, в ней останется только одна запись с выбранным складом;
- в параметр надо передать значение поля "Склад.Идентификатор" - он типа guid. Например, с помощью такого выражения:
[Склад.Идентификатор]
или
new Guid([Склад.Идентификатор].ToString())
В примере Tabe2 - аналог таблицы складов, Table - аналог таблицы движений.