PDA

View Full Version : Stored Procedure



ferizakhar
پنج شنبه 05 آذر 1388, 12:37 عصر
سلام
من یه stored procedure نوشتم برای جستجو در یک جدول که یه ورودی می گیره که حرف اول کتابه به فارسی.


CREATE proc sp_BookSearch
(
@name nvarchar(50)


)
as


select name,nevisande,nasher,price,image from adabiat
where name like @name
GO



مشکل اینه که دستور like برای جستجوی فارسی باید اینطوری مثلا باشه تا کار کنه'%آ'like N
ولی همچین کدی در stored Procedure جواب نمی ده.چه کنم؟؟؟


CREATE proc sp_BookSearch
(@name nvarchar(50)) as
select name,nevisande,nasher,price,image from adabiat
where name like N@name
GO

ali.akhbary
شنبه 07 آذر 1388, 19:01 عصر
[RIGHT]مشکل اینه که دستور like برای جستجوی فارسی باید اینطوری مثلا باشه تا کار کنه'%آ'like N
ولی همچین کدی در stored Procedure جواب نمی ده.چه کنم؟؟؟

اينطور نيست. تو sp جواب ميده. يه بار ديگه چك كن.
error داري؟

در ضمن كلمات كليدي مثل name و image رو تو [] بذار.

ferizakhar
یک شنبه 08 آذر 1388, 08:32 صبح
نه errory ندارم.خیلی امتحان کردم.
این erroro میده وقتی N رو اضافه می کنم



Invalid Column name'N@name'
sp که می نویسم اینه:



CREATE proc sp_BookSearch
(
@name nvarchar(30)
)
as
select [name],nevisande,nasher,price,[image] from adabiat
where [name] like N@name+'%'
GO

el_abdollahi
دوشنبه 03 خرداد 1389, 12:25 عصر
با سلام
من هم همین مشکل رو دارم


alter procedure sp_tbl_newCoding_GetAllCode
@title nvarchar(100)
as
select
Kla4No 'code',
Kla4Nme 'codeTitle'
from
tbl_newCoding
where Kla4Nme like N'%'+@title+'%';

میشه راهنمایی کنید

Davood_amega
چهارشنبه 30 تیر 1389, 19:24 عصر
alter procedure sp_tbl_newCoding_GetAllCode
@title nvarchar(100)
as
select
Kla4No 'code',
Kla4Nme 'codeTitle'
from
tbl_newCoding
where Kla4Nme like N'%'+@title+'%';

SP مشکلی نداره فقط تو فراخوانی SP باید به جای :

'ی' Exec sp_tbl_newCoding_GetAllCodeکد زیر را وارد کنید :


ی Exec sp_tbl_newCoding_GetAllCode

imanasp
چهارشنبه 10 شهریور 1389, 14:00 عصر
نه errory ندارم.خیلی امتحان کردم.
این erroro میده وقتی N رو اضافه می کنم



Invalid Column name'N@name'
sp که می نویسم اینه:



CREATE proc sp_BookSearch
(
@name nvarchar(30)
)
as
select [name],nevisande,nasher,price,[image] from adabiat
where [name] like N@name+'%'
GO





اینجانب نیز این مشکل رو دارم:ناراحت:

ohh_mid
پنج شنبه 16 دی 1389, 10:05 صبح
سلام
تو این موارد فکر کنم بایستی از دستور exec استفاده کنید .



CREATE proc sp_BookSearch
(
@name nvarchar(30)
)
as
exec ('
select * from adabiat
where [name] like N'''+@name+'%''')
GO

behrouzlo
پنج شنبه 16 دی 1389, 11:49 صبح
فکر کنم با کد زیر بتوانید جواب بگیرید:

CREATE proc sp_BookSearch
(@name nvarchar(50)) as
select name,nevisande,nasher,price,image from adabiat
where name like N'%' + @name
GO
ولی فکر کنم باید شما % را در سمت راست قرار بدهید در این صورت کد زیر را تست کنید:

CREATE proc sp_BookSearch
(@name nvarchar(50)) as
select name,nevisande,nasher,price,image from adabiat
where name like N'' + @name + '%'