PDA

View Full Version : چطور به اسكريپت ورودي بديم؟؟



reza2012
دوشنبه 10 مرداد 1390, 10:33 صبح
سلام من يه اسكريپت دارم كه كارش اينه كه يوزر رو مپ كنه
من اين اسكريپتو نوشتم اما براي يه يوزر خاص من بينهايت يوزر دارم ميخوام اين اسكريپت يوزر رو به عنوان ورودي بگيره و بعدش ست كنه كار هارو براي اون يوزر
اسكريپتو ضميمه ميكنم لطلا كمكم كنين
با تشكر



USE [master]
GO
CREATE LOGIN [IIS APPPOOL\DefaultAppPool] FROM WINDOWS WITH DEFAULT_DATABASE=[master]
GO


USE [BlobRepository]
GO
CREATE USER [IIS APPPOOL\DefaultAppPool] FOR LOGIN [IIS APPPOOL\DefaultAppPool]
GO
USE [BlobRepository]
GO
EXEC sp_addrolemember N'db_accessadmin', N'IIS APPPOOL\DefaultAppPool'
GO
USE [BlobRepository]
GO
EXEC sp_addrolemember N'db_ddladmin', N'IIS APPPOOL\DefaultAppPool'
GO




من ميخوا م به جاي IIS APPPOOL\DefaultAppPool
ورودي بگيرم هر يوزر دلخواهي رو

Kamyar.Kimiyabeigi
دوشنبه 10 مرداد 1390, 11:16 صبح
شما میتونین کد بالا رو تبدیل کنین به یک sp که پارامتر ورودی ان نام کاربر مورد نظر شما باشه

reza2012
دوشنبه 10 مرداد 1390, 12:43 عصر
آخه نكته اينه كه اين اسكريپت واسه 1 ديتا بيس نيست كه اس پي براش بنويسم واسه 6 تا ديتا بيسه
حالا چه كنم؟؟
sp_executesql فك كنم كارمو راه بندازه اما نتونستم ازش استفاده كنم

یوسف زالی
دوشنبه 10 مرداد 1390, 16:51 عصر
خب در برنامه خودتون بهش مقدار بدین.

'exec sp_addrolemembe ' + edit1.text + ' , ' + edit2.text + ''''


حدسی نوشتم.

حمیدرضاصادقیان
چهارشنبه 12 مرداد 1390, 10:55 صبح
خب در برنامه خودتون بهش مقدار بدین.

'exec sp_addrolemembe ' + edit1.text + ' , ' + edit2.text + ''''


حدسی نوشتم.
این روش اصلا پیشنهاد نمیشه. به خاطر اینکه مستعد SQL Injection هست.شما یاباید یک Procedure بنویسید.و داخل اون اینکارو بکنید.میتونید ای SP رو داخل دیتابیستون ایجاد کنید و نام دیتابیس رو هم به عنوان یک پارامتر به SP پاس بدید.