الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

search sotred procedure

مغلق
بدأه a_sadig84 في 26 مارس 2006 · 4 رد · 719 مشاهدة · في قواعد بيانات Microsoft SQL Server
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

عندما انفذ الاجراء المخزن التالي

CREATE Procedure search_Registration
@fieldname varchar(10),
@rval varchar(20)
as
declare @query nvarchar(100)
set @query='select * from Registration where ' + @fieldname + ' like ' + @rval +' %' 
--' order by M_ID'
execute sp_executesql @query
GO

تظهر لي رسالة الخطأ التالية

Server: Msg 170, Level 15, State 1, Line 1

Line 1: Incorrect syntax near '%'.

الرجاء الافادة

وشكراً

#2

السلام عليكم

أخي الكريم المشكلة عندك هي أنك تستخدم بروسيدجر لتنفيذ الإستعلام والمشكلة هي منه أي يجب أن تكتب ما يلي

CREATE Procedure search_Registration
@fieldname varchar(10),
@rval varchar(20)
as
declare @query nvarchar(100)
select * from Registration where  @fieldname  like  @rval +'%'

GO

كما تكون لعباد الله يكون الله لك

#3

شكراً الاخ abohmza ولكنه لم يعمل

#4

أخي الكريم الاّن جرب

CREATE  Procedure search_Registration

@rval nvarchar(10)
as
select   @rval
select * from users where  usname like @rval+'%'

الحقيقة أنو عندما تمرر له اسم العمود فهو يأخذه بصيغة السترينغ وهذا غلط فهو لازم يتمرر دون " "

أي هو كالكلمة المحجوزة

هنا usname هو اسم العمود

كما تكون لعباد الله يكون الله لك

#5

شكراً الاخ ابو حمزه ولكن كيف يمكن أن يكون شكل الاجراء المخزن اذا اردت تمرير اسم الحقل و القيمة مع استخدام like%

هذا الموضوع مغلق.

مواضيع مشابهة