Текущий архив: 2006.05.07;
Скачать: CL | DM;
ВнизПроблема с хранимой процедурой Найти похожие ветки
← →
thvfrjd (2006-03-15 12:20) [0]Имеется процедура на SQL сервере
CREATE PROCEDURE [dbo].[listkl]
@p char
AS
select * from klint where name like @p
GO
Если я присваиваю параметру значение наподобие "%фыкгам%" она почему то возвращает все записи, а если на самой СУБД такой запрос выполнить вроде правильно работает. Что может быть?
← →
stone © (2006-03-15 12:25) [1]
> Что может быть?
@p char
замени на varchar
← →
stone © (2006-03-15 12:27) [2]хотя не факт, не достаточно исходной информаци
← →
thvfrjd (2006-03-15 12:34) [3]и char и varchar пробовал. А значение параметра пробовал даже вытавлять в конструкторе Delphi
← →
BoxTer © (2006-03-15 13:27) [4]В качестве параметра с клиента передавай строку типа:
""""+MyStringParam+""""
т.е. попробуй передать апострофы в начале и в конце параметра
← →
MOA © (2006-03-15 13:27) [5]@p char
это то же, что
@p char(1)
BOL:
char[(n)]
When n is not specified in a data definition or variable declaration statement, the default length is 1.
Т.е. оператор у Вас такой:
select * from klint where name like "%"
(остальная часть строки обрезана) 0 ну и выводит все, как сказано.
Удачи!
← →
thvfrjd (2006-03-15 13:48) [6]
> @p char
> это то же, что
> @p char(1)
Я и varchar пробовал и кавычки значение параметра ввожу в редакторе Delphi все равно вводит все строки
← →
thvfrjd (2006-03-15 13:57) [7]Если указывать char(5) допустим и в качестве параметра вводить именно пять символов чтобы потом пробелы не добавлялись то все нормально работает а вот с varchar почему то все строки выводит
← →
thvfrjd (2006-03-15 14:00) [8]varchar(10) и все четко :)
← →
Ega23 © (2006-03-15 14:29) [9]просто varchar може по умолчанию считаться как varchar(1) (это вроде, при входных параметрах в ХП), а также в некоторых случаях как varchar(32) (по-моему, при Cast)
Страницы: 1 вся ветка
Текущий архив: 2006.05.07;
Скачать: CL | DM;
Память: 0.46 MB
Время: 0.011 c