LOGIN في ado
#1
السلام عليكم لدي Table في SQL فيها UserName و Pass قمت الاتصال بالدلفي عادي ووضعت DBedit و ُEdit و وضعت زر يعمل على المقارنة بين Edit و Dbedit اذا وجده مطابق يدخل الى البرنامج و ان لم يجد مطابق لا يدخل و لاكن المشكل هو انه لا يقارن بينهما و هذا هو السورس
كود :
[align=left]
procedure Tselectstructure.Edit1Change(Sender: TObject);  sur edite
begin
adoQuery1.close ;
adoQuery1.SQL.Clear ;
adoQuery1.SQL.Add('select *  from client ') ;
adoQuery1.SQL.Add('Where nom_client LIKE ' + '''%'+edit1.Text+'%''');
adoQuery1.Open
end;[/align]
كود :
begin
if (dbedit.text=edit1.text ) end (dbedit2.text=edit2.text ) then form2.show
else applic ation.terminat;
end ;
end .


ملاحظة : استعملت ADO
الرد
#2
السلام عليكم .،انا لست متمكنا من لغة الدلفي ولكنني ولكنني لاحظت بعض الأخطاء:
- لماذا ادخلت edit1.text في كود sql
- انت تقوم بالبحث في حقلين dbedit1,dbedit2 يعني ذلك edit1.text,edit2.text..اذا اين edit2.text في كود SQL....وهذا اذا كان طبعا إدخالهما صحيح....
- لماذا لم تستخدم الحدث on change ل edit2.text.
- لماذا لا تستخدم locate.
-اخيراً بما انك استخدمت button لا داعي ان تستعمل on change والعكس صحيح..
هذا ما لاحظته في هذا للكود،ربما أكون مخطاء،،،،بالطبع نحن هنا لنتعلم،،،،،تقبل تحياتي....في انتظار مشاركة أستاذنا وكل من يساهم في هذا المنتدى......السلام عليكم
الرد
#3
السلام عليكم و رحمة الله و بركاته
كما قال اخى حكيم الى ان يجاوب احد الاساتذة هنا - سؤال بسيط :
إقتباس :else applic ation.terminat
لماذا تركت مسافة فى كلمة applic ation ) ؟
معانى الكلام تحمل على مراد المتكلم
الرد
#4
السلام عليكم

إقتباس :المشكل هو انه لا يقارن بينهما
ما المشكل . رسالة الخطا ؟

لتتحقق من محتوى الاستعلام، قبل adoQuery1.Open ضف
كود :
ShowMessage(ADOQuery1.SQL.Text);

انتبه: نتيجة الاستعلام يمكن ان تحتوي أكثر من سجل وانت تقارن مرة واحدة.
الرد
#5
السلام عليكم
كود :
if (dbedit.text=edit1.text ) [color=Red]end [/color](dbedit2.text=edit2.text ) then form2.show

and وليس end
و لرب نازلة يضيق لها الفتى ذرعا و عند الله منها المخرج
ضاقت فلما استحكمت حلقاتها فرجت و كنت اضنها لا تفرج
الرد


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


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