Используйте Glide и Picasso для загрузки изображений в действие.
Glide.with(context).load("url").into(imageView);
Используйте Retrofit или Asynctask для анализа JSON. Создайте представление Recycler и попробуйте этот код в методе onBindViewHolder класса Adapter. Для получения дополнительной информации, проверьте этот репозиторий. Нажмите здесь
Если Вы настаиваете на том, чтобы использовать 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, способ пойти сюда.
Ваш сохраненный proc SQL кажется немного странным, Вы копировали его правильно?
Это не похоже на него, скомпилирует, чтобы быть честным:
WHERE
CartGUID =@cartGUID
in (Select
Что с тем оператором IN в конце Вашего сохраненного proc? Это не имеет никакого смысла. Просто избавьтесь от него. Кроме того, префикс все Ваши таблицы с "dbo" в запросе и в sproc (кто знает, у Вас могла бы быть другая версия той же таблицы в Вашей схеме по умолчанию). Выполнение тех двух вещей должно добиться цели.
Если @cartGUID
будьте a uniqueidentifier
вместо nvarchar
? Более эффективно бросить единственный varchar к гуиду и сравнить гуиды, чем это должно бросить все гуиды к varchar и надеяться, что использует тот же формат (еще, равенство перестанет работать так или иначе).
Поскольку другие указали, WHERE
пункт выглядит броским, но мои деньги находятся на varchar преобразовании, являющемся преступником.
Я не предполагаю, что у Вас есть та же таблица в соответствии с несколькими схемами...
dbo.k_ShoppingCart
vs.
user1.k_ShoppingCart
Хранимая процедура использует "dbo", в то время как специальный запрос использует текущий справочник пользователя.
Еще одна вещь, которая выглядит странной для меня: Если везется GUID (и уникальный идентификатор), почему Ваш оператор удаления влияет на две строки?
Кроме того, попытайтесь добавить длину к определению везших, возможно, некоторое броское определение длины по умолчанию приводит к входному параметру, сокращаемому или заполненному пробелами или чем-то.
Я решил его.
Решение: ALTER PROCEDURE [dbo]. [k_ShoppingCart_DELETE]
@cartGUID nvarchar (50)