الخطأ invalid column name في استعلام sql
#1
لدي هذا الكود للفلترة لكن يعطيني خطأ هو invalid column name ولا اعلم كيف اقوم بتعديله
الكود هو
كود :
ADODataSet1.Close;   if ListFiltr1.ItemIndex = 0 then     ADODataSet1.CommandText :=       'select [EmployeeID],LastName,FirstName,Title,City from Employees where '       + ListeChampTxt.Items[ListeChampTxt.ItemIndex] +'= "' + TxtCherche.text +       '" order by ' + ListTrie.Items[ListTrie.ItemIndex] + TxtTrie;    ADODataSet1.Active := True;    ADODataSet1.Requery(); end;
الرد
#2
السلام عليكم ورحمة الله وبركاته
حسب رسالة الخطأ اسم احد القول غير صحيح
تحقق جيدا من اسم الحقول المستخدمة
لتظهر الاستعلام قبل التنفيذ، ضف قبل Active شيئ مثل

كود :
ShowMessage(ADODataSet1.CommandText);
رَبَّنَا اغْفِرْ لِي وَلِوَالِدَيَّ وَلِلْمُؤْمِنِينَ يَوْمَ يَقُومُ الْحِسَابُ
الرد
#3
لقد فعلت ذلك فيكون الكود هكذا


select [EmployeeID],LastName,FirstName,Title,City from Employees where LastName= "anyname"
order by [EmployeeID] Asc

وهذا غير صحيح والكود الصحيح هو هذا



select [EmployeeID],LastName,FirstName,Title,City from Employees where LastName= 'anyname'
order by [EmployeeID] Asc

ولكن لم استطع تحويله رغم كل محاولاتي
الرد
#4
جرب هذا
كود :
ADODataSet1.CommandText :=       'select [EmployeeID],LastName,FirstName,Title,City from Employees where '       + ListeChampTxt.Items[ListeChampTxt.ItemIndex] +'=' + QuotedStr(TxtCherche.text) +       ' order by ' + ListTrie.Items[ListTrie.ItemIndex] + TxtTrie;
رَبَّنَا اغْفِرْ لِي وَلِوَالِدَيَّ وَلِلْمُؤْمِنِينَ يَوْمَ يَقُومُ الْحِسَابُ
الرد
#5
لقد عثرت على نصف الاجابة لكن بقي لي المشكل في order by
كود :
else if ListFiltr1.ItemIndex = 2 then    ADODataSet1.CommandText :=      'select [EmployeeID],LastName,FirstName,Title,City from Employees where '      + ListeChampTxt.Items[ListeChampTxt.ItemIndex] + ' like ' +      quotedstr(TxtCherche.text) + '%" order by ' + ListTrie.Items[ListTrie.ItemIndex]      + TxtTrie  else if ListFiltr1.ItemIndex = 3 then    ADODataSet1.CommandText :=      'select [EmployeeID],LastName,FirstName,Title,City from Employees where '      + ListeChampTxt.Items[ListeChampTxt.ItemIndex] + ' like "%' +      quotedstr(TxtCherche.text) + '" order by ' + ListTrie.Items[ListTrie.ItemIndex]      + TxtTrie  else    ADODataSet1.CommandText :=      'select [EmployeeID],LastName,FirstName,Title,City from Employees where '      + ListeChampTxt.Items[ListeChampTxt.ItemIndex] + ' like "%' +      quotedstr(TxtCherche.text) + '%" order by ' + ListTrie.Items[ListTrie.ItemIndex]      + TxtTrie;  ADODataSet1.Active := True;  ADODataSet1.Requery(); end;
الرد
#6
إقتباس : بقي لي المشكل في order by
ما المشكل ؟ الخطأ ؟
رَبَّنَا اغْفِرْ لِي وَلِوَالِدَيَّ وَلِلْمُؤْمِنِينَ يَوْمَ يَقُومُ الْحِسَابُ
الرد
#7
(31-07-2017, 11:41 AM)B.M.AbdelAziZ كتب :
إقتباس : بقي لي المشكل في order by
ما المشكل ؟ الخطأ ؟

اخي انا اسف لانني اتعبتك لكن لننتهي من المشكل نهائيا تفضل السورس كود 
http://www.mediafire.com/file/b4xkdekw313nzey/
المشكل الذي لدي هو ان السورس كود يشتغل جيدا على قواعد بيانات اكسس لكن انا اريده انن يشتغل 
على اي قواعد بيانات sql server ولما حاولت ان اتصل بقواعد بيانات sql server ظهرت لي عدة مشاكل 
اولها invalid column name واخرها مشكلة في order by 
وانا كل مااريده هو تشغيلها على قواعد بيانات sql server 
وبارك الله فيك
الرد
#8
جرب هذا


الملفات المرفقة
.rar   DBGRID filter example.rar (الحجم : 29.28 ك ب / التحميلات : 6)
رَبَّنَا اغْفِرْ لِي وَلِوَالِدَيَّ وَلِلْمُؤْمِنِينَ يَوْمَ يَقُومُ الْحِسَابُ
الرد
#9
تم اخي لقد حلت المشكلة والكود يعمل جيدا لكن اخي لدي مشكل لاعلم كيف اعدل مشاركاتي ولا اعلم كيف اعدل على موضوع ولا اعلم كيف احذف موضوع فكيف افعل ذلك علما انني استعمل هاتف اندرويد
الرد
#10
انظر اسقل مشاركتك يوجد ازار
لك وقت محدد بمكن التعديل بعدها لا بمكن
رَبَّنَا اغْفِرْ لِي وَلِوَالِدَيَّ وَلِلْمُؤْمِنِينَ يَوْمَ يَقُومُ الْحِسَابُ
الرد


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


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