delphi4arab منتديات دلفي للعرب

نسخة كاملة : خطأ في إستعلام SQL
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
الصفحات : 1 2
السلام عليكم.: لدي مشكل في فقرة في بريمج من إستعلام لم أجد لها حل 
والغرض منه الفلترة في عدة أعمدة مرة في آن واحد
كود :
query1.SQL.Clear; query1.SQL.Add('select *'); query1.SQL.Add('from "e:\thpaie\f\Fi012004.DBF"'); query1.SQL.Add('where enf<>0 and corps=911'); datasource8.DataSet:=query1; يعطيني رسالة خطأ type mismatch in expression مع العلم كل أعمدة الفلترة float
وعليكم السلام.
في التعليمة where اكتب مباشرة اسم الجدول و ليس مسار قاعدة
سلام عليكم
ضع اسم الجدول بدل مسار قاعدة البيانات
وعليكم السلام وقع لي نفس الخطأ مع وضع الإمتداد أو بدونه
كود :
query1.SQL.Clear; query1.SQL.Add('select *'); query1.SQL.Add('from Fi012004.DBF'); query1.SQL.Add('where enf<>0 and corps=911'); datasource8.DataSet:=query1;
السلام عليكم
الاخوة يقصدون ان تضح اسم الجدول الموجود في قاعدة البيانات وليس قاعدة البيانات نفسها
مثلا ليك قاعدة بيانات اسمها Fi012004.DBF هته القاعدة فيها جداول مثلا produits,fournissuers,Clients
بال query تستعلم select * from produits

اما ان كنت تبحث عن الاتصا بقاعدة البيانات فذلك شيئ اخر فقط اذكر مكونات الاتصال التي تسعملها
بالتوفيق
(04-05-2018, 12:06 PM)mobile كتب : [ -> ]مثلا ليك قاعدة بيانات اسمها  Fi012004.DBF  هته القاعدة فيها جداول مثلا produits,fournissuers,Clients

السلام عليكم
DBF يعني قاعدة بيانات DBase اسم الملف هو نفسه اسم الجدول الوحيد
الاستعلام يكون من الشكل

كود :
query1.close; query1.SQL.Clear; query1.SQL.Add('select *'); query1.SQL.Add('from Fi012004'); query1.SQL.Add('where enf<>0 and corps=911'); query1.open;
فرضا البرنامج وملف dbf بنفس المكان والا يجب وضع المسار في الخاصية DataBaseName للمكون Query
انظهر نفس الخطأ فالامر متعلق نوع بيانات احد الحقلين في
Where
السلام عليكم .
ألف شكر إخواتي على المساعدة لكن مازال عندي نفس الخطأ حتى بعد وضع كود أخي [size=small][size=medium][b]B.M.AbdelAziZ[/size][/size][/b][size=small]  يبقى نفس الخطأ لكن لاحظت ملاحظة بعد جعل الكود يفلتر في عمود واحد يعمل عادي الفلترة فهل هذا يعني أنه لايمكن أن أعمل فلترة في عمودين أو أكثر في وقت واحد[/size]
كود :
query1.close; query1.SQL.Clear; query1.SQL.Add('select *'); query1.SQL.Add('from Fi012004'); query1.SQL.Add('where enf<>0'); query1.open;

عمود واحد فقط وهو enf
أرجو المساعدة ربي يجازيكم
جرب الحقل الثاني فقط، هل يظهر الخطأ ؟
كود :
query1.close; query1.SQL.Clear; query1.SQL.Add('select *'); query1.SQL.Add('from Fi012004'); query1.SQL.Add('where corps=911'); query1.open;
السلام عليكم : اخي عبد العزيز الكود الأخير شغال
حسنا جرب هذا
كود :
query1.close; query1.SQL.Clear; query1.SQL.Add('select *'); query1.SQL.Add('from Fi012004'); query1.SQL.Add('where (enf<>0) and (corps=911)'); query1.open;
الصفحات : 1 2