View Full Version : دسترسی به فیلدها با استفاده از متغیرها
mohinsoft
شنبه 03 فروردین 1387, 23:17 عصر
با سلام به دوستان
من میخوام نام یک فیلد رو توی یک متغیر بزارم و از طریق اون متغیر به اون فیلد دسترسی داسته باشم ،برای اینکه منظورمو خوب بیان کرده باشم شبه کدی که مد نظرم هست رو مینویسم
فرض کنیم جدولی به فرم mytable(id,name1,family) داشته باشیم که میخواهیم اطلاعات id رو واکشی کنیم
declare @a nvarchar(50)
set @a='id'
select @a from mytable
bad_boy_2007
شنبه 03 فروردین 1387, 23:50 عصر
با سلام به دوستان
من میخوام نام یک فیلد رو توی یک متغیر بزارم و از طریق اون متغیر به اون فیلد دسترسی داسته باشم ،برای اینکه منظورمو خوب بیان کرده باشم شبه کدی که مد نظرم هست رو مینویسم
فرض کنیم جدولی به فرم mytable(id,name1,family) داشته باشیم که میخواهیم اطلاعات id رو واکشی کنیم
declare @a nvarchar(50)
set @a='id'
select @a from mytable
از پرانتز استفاده کن و بهتره (نه الزاما) بجای Select برای مقدار دهی به متغییر از Set استفاده کنی که کدت واضح تر بشه
Declare @Temp Int
Set @temp=(Select Phone From Customers Where ID=1)
Print @Temp
devil00x
شنبه 03 فروردین 1387, 23:52 عصر
با سلام به دوستان
من میخوام نام یک فیلد رو توی یک متغیر بزارم و از طریق اون متغیر به اون فیلد دسترسی داسته باشم ،برای اینکه منظورمو خوب بیان کرده باشم شبه کدی که مد نظرم هست رو مینویسم
فرض کنیم جدولی به فرم mytable(id,name1,family) داشته باشیم که میخواهیم اطلاعات id رو واکشی کنیم
declare @a nvarchar(50)
set @a='id'
select @a from mytable
آی گفتی ،
من هم یه مشکل مشابه دارم ، من میخوام اسم جدول رو به صورت متغییر بفرستم بهش اما گیر می ده می گه باید متغییرت رو تعریف کنی در صورتی که متغییر رو تعریف کردم، حالا نمی دم گیر کجای کاره؟
یکی از اساتید لطفا راهنمایی کنه!!!!
AminSobati
یک شنبه 04 فروردین 1387, 00:25 صبح
دوست عزیزم شما باید از Dynamic TSQL استفاده کنین. البته در کنار مزایای فوق العاده این تکنیک، خطراطی هم براش وجود داره مثل SQL Injection که البته با روشهایی قابل برطرف کردن هست.
use northwind
go
declare @x varchar(20)
set @x='customerid'
exec ('select '+@x+',companyname from customers')
mohinsoft
یک شنبه 04 فروردین 1387, 00:30 صبح
با تشکر از راهنمایی شما میتونید در مورد sql injection یک توضیح اجمالی بدید و این که کلا چی هست و چه خطراطی رو در پی داره؟
باز هم ممنون از راهنمایی شما
devil00x
یک شنبه 04 فروردین 1387, 00:46 صبح
با تشکر از راهنمایی شما میتونید در مورد sql injection یک توضیح اجمالی بدید و این که کلا چی هست و چه خطراطی رو در پی داره؟
باز هم ممنون از راهنمایی شما
با اجازه بزرگ ترا.
دوست عزیز sql injection به مفهوم تزریق sql هستش یعنی میشه کدت رو با تزریق یک کد بهش تغییر داد یا در واقع هکش کرد .
حالا برای اینکه واضح تر منظورم رو برات توضیح بدم به اینجا یه سری بزن و این مقاله رو بخون فکر کنم خالی از لطف نباشه.
http://forums.simorgh-ev.com/showthread.php?t=634
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.