الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

دمج سجلين في جملة Sql

بدأه rampal في 6 مايو 2009 · 2 رد · 713 مشاهدة · في لغة Delphi
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

أريد بعض المساعدة في كيفية كتابة جملة sql تقوم بدمج الاسم (الاسم-اسم الأب -اسم الجد -اسم العائلة) حيث أن كل اسم عبارة عن عمود في جدول مع ملاحظة أن بين كل اسم و الأخر مسافة

select fname||' '||sname|| tname||lname from basicinfo where fname||' '||sname|| tname||lname ='''edit1.text'%''

لقد حاولت كما في الجملة السابقة و لكن المشكلة أنه عندما أضع علامتي التنصيص التي توضع بينها جملة ال sql يحدث عندي خطأو لا يقبلها الcompilar الخاص باللغة فأرجو مساعدتي

#2

جرب

name+" "+name2+" "+name3

وهكذا

#3

السلام عليكم...

استعمل إحدى الطريقتين التاليتين لإنشاء جملة SQL

  1. var
  2. SQL, FullName: string;
  3. begin
  4. FullName := 'fname + '' '' + sname + '' '' + tname + '' '' + lname';
  5. // لاحظ أن علامات الاقتباس الداخلية المستخدمة في فصل أجزاء الاسم في الجملة السابقة هي علامات اقتباس فردية مكررة و ليست علامات مزدوجة
  6. SQL := 'SELECT (' + FullName + ') AS FullName FROM basicinfo WHERE (('
  7. + FullName + ') LIKE ' + QuotedStr(Edit1.Text + '%') + ')';
  8. Query1.SQL.Text := SQL;
  9.  

الـ Compiler سيقوم بتفسير كل علامة اقتباس فردية مكررة (علامتي اقتباس متتاليتين) على أنهما علامة واحدة ضمن الـ String.

أو كالتالي:

  1. var
  2. SQL, FullName, QSpace: string;
  3. begin
  4. // إنشاء فراغ محصور ضمناً بعلامات اقتباس فردية
  5. QSpace := QuotedStr(' ');
  6. FullName := 'fname + ' + QSpace + ' + sname + ' + QSpace
  7. + ' + tname + ' + QSpace + ' + lname';
  8.  
  9. SQL := 'SELECT (' + FullName + ') AS FullName FROM basicinfo WHERE (('
  10. + FullName + ') LIKE ' + QuotedStr(Edit1.Text + '%') + ')';
  11. Query1.SQL.Text := SQL;
  12.  

نرجو الاستفادة و السلام.

وَ قُلِ اعْمَلُوا فَسَيَرَى اللهُ عَمَلَكُمْ وَ رَسُولُهُ وَ الْمُؤْمِنُونَ

صدق الله العظيم

مواضيع مشابهة