ماهو الخطأ في هذا الكود select type from login where email
#1
Question 
ماهو الخطأ في هذا الكود ؟

PHP كود :
ADOQuery1.SQL.Clear;
 
 ADOQuery1.SQL.Add('select type from login where email = '''+edit1.text+''' ');
 
 ADOQuery1.ExecSQL;
 
 if not ADOQuery1.Eof = 'ADMIN' then
  begin
    form3
.Show;
 
   form2.Hide;
 
 end
  else
  if ADOQuery1
.Eof = 'USER' then
  begin
    form4
.Show;
 
   form2.Hide;
 
 end; 
الرد
#2
السلام عليكم عندما تستخدم Select في الـ Query اي ان الـ Query سيعيد سجلات لا تستخدم ExecSQL و انما استخدم Open يدلا من ذلك

جرب هكذا
PHP كود :
 ADOQuery1.SQL.Clear;
 
 ADOQuery1.SQL.Add('select type from login where email = :email');
 
 ADOQuery1.Parameters.ParamByName('email').Value := Edit1.Text;
 
 ADOQuery1.Open;
 
 if not ADOQuery1.Fields[0].AsString = 'ADMIN' then
  begin
    form3
.Show;
 
   form2.Hide;
 
 end
  else
  if ADOQuery1
.Fields[0].AsString =  'USER' then
  begin
    form4
.Show;
 
   form2.Hide;
 
 end; 
و لرب نازلة يضيق لها الفتى ذرعا و عند الله منها المخرج
ضاقت فلما استحكمت حلقاتها فرجت و كنت اضنها لا تفرج
[-] كل من 1 user says قال شكرا ل S.FATEH على المشاركة المفيدة
  • bac23
الرد
#3
PHP كود :
if not ADOQuery1.Eof = 'ADMIN' then 

الامر Eof  يعيد فقط قيمة بوليانيه true or false هل وصل الى آخر سجل ام لا
فطريقة صياغتك للشرط خاطئة والصح انك اولاً تكتب الاستعلام التالي
PHP كود :
if ADOQuery1.fieldbyname('FieldName').value:='Admin'; 

أو
PHP كود :
if ADOQuery1.fields[Fields Number].value:='Admin'; 
[-] كل من 1 user says قال شكرا ل محمد الدرة على المشاركة المفيدة
  • bac23
الرد
#4
عند تنفيذ الكود هناك خطأ لم افهم؟؟
[dcc32 Error] Unit2.pas(43): E2015 Operator not applicable to this operand type
الرد
#5
السلام عليكم ما هو الكود الذي استخدمته ما هو نوع الحقل المستخدم
و لرب نازلة يضيق لها الفتى ذرعا و عند الله منها المخرج
ضاقت فلما استحكمت حلقاتها فرجت و كنت اضنها لا تفرج
الرد


التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم