У меня есть таблица, в которой столбец с именем data имеет тип varbinary. Если я сделаю простой запросУдаление '' из запроса sql и хранимой процедуры
select * from tab where data = 1
тогда он работает, но если я сделаю select * from tab where data = '1'
, то он не вернет ни одной строки. Проблема возникает, когда я создаю хранимый процесс для извлечения данных из этой таблицы, и он преобразует запрос и добавляет '' в параметр при запросе, и поэтому я не могу получить какие-либо данные. Может кто-нибудь, пожалуйста, расскажите мне, как обойти эту проблему.
Parameters
@ID INT = NULL
,@Data varchar(100) = NULL
CREATE TABLE #Results (
ID INT
,Data varchar(100)
)
BEGIN
INSERT #Results (
ID
,Data
)
SELECT
SK.ID
,SK.Data
FROM dbo.tab SK
where SK.ID = @ID And SK.data = @data
END
SELECT @TotalRows = COUNT(*)
FROM #Results
SELECT @TotalRows TotalRows
Теперь из кода, когда я выполнить эту инструкцию
oReader = ExecuteReader(oConn, CommandType.StoredProcedure, "Proc", New SqlParameter("@ID", Request.ID), _
New SqlParameter("@Data", Request.Data))
я вижу в SQL Profiler, что он запускает запрос как «данные» , который не возвращает ни одной строки
Благодаря
Закрепить хранимую процедуру. –
укажите ваш запрос! –
Каков тип данных поля данных на вкладке таблицы? – Matt