ورود

View Full Version : نام دیتابیس به عنوان پارامتر



sadaf_
پنج شنبه 03 آذر 1390, 15:23 عصر
سلام
من در select ی از یک دیتابیس دیگه ای فیلدی رو صدا زدم حالا اسم دیتابیس من متفاوت و می خوام نام دیتابیس به عنوان پارامتر باشه یعنی خودم یه رشته از برنامه ام پاس بدم که اون نام دیتابیسه چطوری این کار رو انحام بدم
البته من select رو یک view ساختم
ممنون

یوسف زالی
پنج شنبه 03 آذر 1390, 18:18 عصر
سلام.
به ویو نمی شه پارامتر فرستاد.
برای استفاده از نام به عنوان پارامتر:
declare @s varchar(100)
set @s = 'select * from ' + @Parameter + '..YourTable'
exec(@s)

sadaf_
جمعه 04 آذر 1390, 10:43 صبح
می شه لطف کنید یک توضیحی در این جا بدید که @s یعنی چی رو بر می گردونه؟
خط سومی یعنی چی؟

حمیدرضاصادقیان
جمعه 04 آذر 1390, 11:17 صبح
در اینجا s@ یک متغیر رشته ای هست. به این طریق میگن Dynamic Query . ابتدا شما دستورتون رو داخل یک متغیر رشته ای می نویسید. سپس مقادیر dynamic مورد نظر که در اینجا نام دیتابیس هست رو به رشته ارسال میکنید و در نهایت با استفاده از دستور Exec یا Sp_executeSql اون دستور رو اجرا میکنید.