Запрос на удаление хранимой процедуры

Используйте Glide и Picasso для загрузки изображений в действие.

Glide.with(context).load("url").into(imageView);

Используйте Retrofit или Asynctask для анализа JSON. Создайте представление Recycler и попробуйте этот код в методе onBindViewHolder класса Adapter. Для получения дополнительной информации, проверьте этот репозиторий. Нажмите здесь

5
задан Sam 10 August 2014 в 19:06
поделиться

7 ответов

Если Вы настаиваете на том, чтобы использовать NVARCHAR вместо UNIQUEIDENTIFIER, необходимо указать размер:

@cartGUID nvarchar(36)

Без него Ваши гуиды являются усеченными (к 30 символам).

Можно подтвердить это поведение путем выполнения этой измененной версии рабочего запроса:

DECLARE @cart nvarchar, @sizedcart nvarchar(36)
SET @cart      = '32390b5b-a35a-4e32-8393-67d5629192f0'
SET @sizedcart = '32390b5b-a35a-4e32-8393-67d5629192f0'

-- works
Delete FROM k_ShoppingCart Where CartGUID = '32390b5b-a35a-4e32-8393-67d5629192f0'

-- will not work
Delete FROM k_ShoppingCart Where CartGUID = @cart

-- should work
Delete FROM k_ShoppingCart Where CartGUID = @sizedcart

Я соглашаюсь с @Marc Gravell, тем не менее, uniqueidentifier, способ пойти сюда.

4
ответ дан 14 December 2019 в 09:02
поделиться

Ваш сохраненный proc SQL кажется немного странным, Вы копировали его правильно?

Это не похоже на него, скомпилирует, чтобы быть честным:

WHERE
  CartGUID =@cartGUID

in (Select
0
ответ дан 14 December 2019 в 09:02
поделиться

Что с тем оператором IN в конце Вашего сохраненного proc? Это не имеет никакого смысла. Просто избавьтесь от него. Кроме того, префикс все Ваши таблицы с "dbo" в запросе и в sproc (кто знает, у Вас могла бы быть другая версия той же таблицы в Вашей схеме по умолчанию). Выполнение тех двух вещей должно добиться цели.

0
ответ дан 14 December 2019 в 09:02
поделиться

Если @cartGUID будьте a uniqueidentifier вместо nvarchar? Более эффективно бросить единственный varchar к гуиду и сравнить гуиды, чем это должно бросить все гуиды к varchar и надеяться, что использует тот же формат (еще, равенство перестанет работать так или иначе).

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

3
ответ дан 14 December 2019 в 09:02
поделиться

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

dbo.k_ShoppingCart

vs.

user1.k_ShoppingCart

Хранимая процедура использует "dbo", в то время как специальный запрос использует текущий справочник пользователя.

0
ответ дан 14 December 2019 в 09:02
поделиться

Еще одна вещь, которая выглядит странной для меня: Если везется GUID (и уникальный идентификатор), почему Ваш оператор удаления влияет на две строки?

Кроме того, попытайтесь добавить длину к определению везших, возможно, некоторое броское определение длины по умолчанию приводит к входному параметру, сокращаемому или заполненному пробелами или чем-то.

0
ответ дан 14 December 2019 в 09:02
поделиться

Я решил его.

Решение: ALTER PROCEDURE [dbo]. [k_ShoppingCart_DELETE]

@cartGUID nvarchar (50)

0
ответ дан 14 December 2019 в 09:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: