View Full Version : مشکل این sp چیه ؟
Sal_64
شنبه 31 فروردین 1387, 19:20 عصر
سلام من یک استور پروسیجر نوشتم که با مقادیر عددی درست جواب میده
اما با حروف لاتین این ایررور رو میده Invalid column name ''.
و با حروف فارسی هم این ایررور Incorrect syntax near '?'.
استور پروسیجر هم اینه
ALTER PROCEDURE [dbo].[search_t]
(
@x nchar(10),
@table nchar(15)
)
AS
DECLARE @strInsert VARCHAR(2000)
set @strInsert='select * from '+ @table +' where t ='+ @x
EXEC (@strInsert)
Sal_64
یک شنبه 01 اردیبهشت 1387, 11:18 صبح
سلام
سوالم از بخش سی شارپ پریده(پرونده شده) تو بخش SQL :لبخند:
کسی میدونه مشکل این sp چیه ؟:افسرده:
e-shahshahani
یک شنبه 01 اردیبهشت 1387, 11:37 صبح
set @strInsert='select * from '+ @table +' where t = N'''+ @x +''''
e-shahshahani
یک شنبه 01 اردیبهشت 1387, 11:54 صبح
پارامتر های ورودی را به جای nchar بصورت nvarchar(50) تعریف کنی بهتره چون ممکنه یه پارامتری بدی که طولش بیشتر شه اونوقت این ارور را میده چون کدی که نوشتم درسته و تستش هم کردم
موفق باشید
Sal_64
یک شنبه 01 اردیبهشت 1387, 11:56 صبح
سلام
ایررور از بین رفت
اما در جستجو (کلمات فارسی) نتیجه ای رو بر نمی گردونه !
e-shahshahani
یک شنبه 01 اردیبهشت 1387, 14:05 عصر
set @strInsert='select * from '+ @table +' where t LIKE N''%'+ @x +'%'''
Sal_64
یک شنبه 01 اردیبهشت 1387, 17:07 عصر
سلام
e-shahshahani جان تشکر
set @strInsert='select * from '+ @table +' where t LIKE N''%'+ @x +'%'''ولی باز هم چیزی رو بر نمی گردونه
من sp رو اینطور نوشتم که بتونم اسم تیبل رو هم بعنوان پارامتر براش بفرستم ( و این مشکل به وجود اومد)
علاوه بر موضوع قبل ، سوال دیگه ای هم داشتم
آیا را دیگه ای برای ارسال نام تیبل وجود داره ؟
e-shahshahani
دوشنبه 02 اردیبهشت 1387, 00:38 صبح
خب شاید فیلد t از اون جدولی که بصورت پارامتر داری میفرستی واقعا چنین چیزی نداره.
به نظرم یه جای دیگه داری اشتباه می کنی. باید یه جای دیگه دنبالش بگردی
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.