منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : كيف أجعل اسم الجدول في نص الاستعلام متعيرا؟
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم 
حياكم الله إخواني الكرام
أنا عضو جديد بهذا المنتدى وكذلك أنا جديد في عالم البرمجة بلغة C#
عندي نموذج يتعامل مع أكثر من جدول بنفس نص الاستعلام وحتى لا أكرر كود الاستعلام في كل مرة أردت أن أجعل اسم الجدول في نص الاتصال متغيرا فاستعملت طريقتين بعد البحث 
الطريقة الأولى 
الاعلان عن متغير نصي ثم اسناد اسم الجدول إليه ووضعه في الاستعلام كالتالي  
 string sql = "UPDATE  ' " + Table + "' SET  f1 = @param2 ,f2= @param3" 
طبعا بعد الاعلان عن المتغير فلم تفلح

الطريقة الثانية جعلت اسم الجدول برامتر من البرمترات فلم تفلح!!
 string sql = "UPDATE   @Table  SET  f1 = @param2 ,f2= @param3" 
فهل هناك طريقة سليمة تجعل اسم الجدول متغير حسب الحاجة؟
عليكم السلام ورحمة الله وبركاته
الطريقة الأولى هي صحيحة
لكن علامتي التنصيص المفردة بجانب المتغير Table يجب ان تحذف
Update " + Table + " Set f1 = @param2,f2 = @ param3
مرحبا أخى

البارامتر تستخدم مع الحقول فقط

افضل ان تستخدم القوس [ ] حول اسم الجدول من باب الاحتياط لو حصل ان كان اسم الجدول به مسافه
والافضل ايضا ان تستخدم نفس الاقواس حول اسماء الحقول واحذر من المسافات كما لاحظتها بعد علامه '
PHP كود :
string sql "UPDATE [" Table "]  SET [f1] = @param1, [f2]= @param2 WHERE [id]= @param3"
جزاكما الله خيرا أخوي الكريمين (thevirus) و (أبو نوره) فقد نجح الاستعلام على ما أريد
ويبقى السؤال ما الفرق في هذه اللغة بين الكتابتين - وقد لا حظت ذلك في الاكواد على الانترنت -:
1 - " + Table + "
2 '" + Table + "' وهذا النوع هو الذي بنيت عليه لكني رأيته في آخر الاستعلام وليس في الوسط
فهل الفرق بين الكتابتين من حيث الموضع أم له استعمالات أخرى وجزاكم الله خيرا
رقم 1 ينفع لو اسم الجدول مافيه مسافه مثل MyTable او My_Table
رقم 2 مطلوب لو اسم الجدول تحتوى مسافه مثل My Tabel يستحسن لو اسم الجدول مثله مثل الاقواس [ ]

ملاحظه نسيت انبه عليها اخى الكريم
هي ان الاقواس [ ] اعتقد تستخدم مع منتجات ميكروسوفت فقط مثل Access وSQLServer
و علامه ' او المائله ` اعتقد انها هي اللي تستخدم مع منتجات اوراكل في MySql وMariaDB

نسيت ان اذكرك بان
UPDATE يجب ان يكون معها WHERE لتحديد السطر او الاسطر المراج تحديث بياناتها والا سيقوم بتحديث جميع اسطر الجدول