Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Проблема с хранимой процедурой


thvfrjd ©   (2006-03-15 12:20:00) 

Имеется процедура на SQL сервере
CREATE PROCEDURE [dbo].[listkl]
@p char
AS
select * from klint where name like @p
GO
Если я присваиваю параметру значение наподобие '%фыкгам%' она почему то возвращает все записи, а если на самой СУБД такой запрос выполнить вроде правильно работает. Что может быть?


Ega23   (2006-03-15 14:29:00) [1]

просто varchar може по умолчанию считаться как varchar(1) (это вроде, при входных параметрах в ХП), а также в некоторых случаях как varchar(32) (по-моему, при Cast)


thvfrjd   (2006-03-15 14:00:00) [2]

varchar(10) и все четко :)


thvfrjd   (2006-03-15 13:57:00) [3]

Если указывать char(5) допустим и в качестве параметра вводить именно пять символов чтобы потом пробелы не добавлялись то все нормально работает а вот с varchar почему то все строки выводит


thvfrjd   (2006-03-15 13:48:00) [4]


> @p char
> это то же, что
> @p char(1)

Я и varchar пробовал и кавычки значение параметра ввожу в редакторе Delphi все равно вводит все строки


BoxTer   (2006-03-15 13:27:00) [5]

В качестве параметра с клиента передавай строку типа:
''''+MyStringParam+''''
т.е. попробуй передать апострофы в начале и в конце параметра


MOA   (2006-03-15 13:27:00) [6]

@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 12:34:00) [7]

и char   и varchar  пробовал. А значение параметра пробовал даже вытавлять в конструкторе Delphi


stone   (2006-03-15 12:27:00) [8]

хотя не факт, не достаточно исходной информаци


stone   (2006-03-15 12:25:00) [9]


> Что может быть?

@p char
замени на varchar


Наверх

Титульная страница Поиск, карта сайта Написать письмо