نمایش نتایج 1 تا 6 از 6

نام تاپیک: دسترسی به فیلدها با استفاده از متغیرها

  1. #1

    دسترسی به فیلدها با استفاده از متغیرها

    با سلام به دوستان
    من میخوام نام یک فیلد رو توی یک متغیر بزارم و از طریق اون متغیر به اون فیلد دسترسی داسته باشم ،برای اینکه منظورمو خوب بیان کرده باشم شبه کدی که مد نظرم هست رو مینویسم
    فرض کنیم جدولی به فرم mytable(id,name1,family) داشته باشیم که میخواهیم اطلاعات id رو واکشی کنیم

    declare @a nvarchar(50)
    set @a='id'
    select @a from mytable


  2. #2
    کاربر دائمی
    تاریخ عضویت
    آبان 1385
    محل زندگی
    مشهد
    سن
    38
    پست
    449
    نقل قول نوشته شده توسط mohinsoft مشاهده تاپیک
    با سلام به دوستان
    من میخوام نام یک فیلد رو توی یک متغیر بزارم و از طریق اون متغیر به اون فیلد دسترسی داسته باشم ،برای اینکه منظورمو خوب بیان کرده باشم شبه کدی که مد نظرم هست رو مینویسم
    فرض کنیم جدولی به فرم 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

  3. #3
    کاربر دائمی
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    Iran
    پست
    304
    نقل قول نوشته شده توسط mohinsoft مشاهده تاپیک
    با سلام به دوستان
    من میخوام نام یک فیلد رو توی یک متغیر بزارم و از طریق اون متغیر به اون فیلد دسترسی داسته باشم ،برای اینکه منظورمو خوب بیان کرده باشم شبه کدی که مد نظرم هست رو مینویسم
    فرض کنیم جدولی به فرم mytable(id,name1,family) داشته باشیم که میخواهیم اطلاعات id رو واکشی کنیم

    declare @a nvarchar(50)
    set @a='id'
    select @a from mytable

    آی گفتی ،
    من هم یه مشکل مشابه دارم ، من میخوام اسم جدول رو به صورت متغییر بفرستم بهش اما گیر می ده می گه باید متغییرت رو تعریف کنی در صورتی که متغییر رو تعریف کردم، حالا نمی دم گیر کجای کاره؟
    یکی از اساتید لطفا راهنمایی کنه!!!!

  4. #4
    دوست عزیزم شما باید از Dynamic TSQL استفاده کنین. البته در کنار مزایای فوق العاده این تکنیک، خطراطی هم براش وجود داره مثل SQL Injection که البته با روشهایی قابل برطرف کردن هست.

    use northwind
    go

    declare @x varchar(20)
    set @x='customerid'
    exec ('select '+@x+',companyname from customers')

  5. #5
    با تشکر از راهنمایی شما میتونید در مورد sql injection یک توضیح اجمالی بدید و این که کلا چی هست و چه خطراطی رو در پی داره؟
    باز هم ممنون از راهنمایی شما

  6. #6
    کاربر دائمی
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    Iran
    پست
    304

    پاسخ

    نقل قول نوشته شده توسط mohinsoft مشاهده تاپیک
    با تشکر از راهنمایی شما میتونید در مورد sql injection یک توضیح اجمالی بدید و این که کلا چی هست و چه خطراطی رو در پی داره؟
    باز هم ممنون از راهنمایی شما
    با اجازه بزرگ ترا.
    دوست عزیز sql injection به مفهوم تزریق sql هستش یعنی میشه کدت رو با تزریق یک کد بهش تغییر داد یا در واقع هکش کرد .
    حالا برای اینکه واضح تر منظورم رو برات توضیح بدم به اینجا یه سری بزن و این مقاله رو بخون فکر کنم خالی از لطف نباشه.
    http://forums.simorgh-ev.com/showthread.php?t=634

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •