فیلتر کردن اطلاعات بانک اطلاعاتی
با سلام و عرض خسته نباشید به همه دوستان
من یه برنامه دارم مینویسم که بانک اطلاعاتیش Sql هست.
و برای فیلتر کردن اطلاعات به کمک نیاز دارم
میخوام به این صورت عمل کنم که وقتی داخل Edit حرف اول یک اسم وارد میشه جدول بر اساس اون فیلتر بشه، (برای مثال وقتی حرف آ وارد میشه تمام رکوردهای از جدول که فیلد مورد نظر با حرف آ شروع میشه فیلتر بشن)
ممنون میشم اگه راهنمایی کنید.
پاسخ : فیلتر کردن اطلاعات بانک اطلاعاتی
با سلام
با استفاده از کوئری میشه این کارو کرد - مثل کد زیر
کد:
adoquery1.SQL.Clear;
adoquery1.SQL.Add('SELECT * from tablename where (((feild1) like N''%'+Edit1.Text+'%''));');
adoquery1.Open;
پاسخ : فیلتر کردن اطلاعات بانک اطلاعاتی
با سلام
دوست عزیز همانطور جناب مهندس [برای مشاهده لینک ها شما باید عضو سایت باشید برای عضویت در سایت بر روی اینجا کلیک بکنید] دستور را برای شما ارسال کردن
فقط این موضوع را خدمت شما عرض کنم که علامت % در دوطرف متن شما قرار می گیرد.وکار او در این حالت این است که تمامی رکوردهایی که حرف آ در آن بکار رفته است و یادتان باشد تمام رکوردهای که اون حرف درش وجود داشته باشد
اگر میخواهید این حرف در آخر یا اول یا وسط کلمات رکورد باشد باید از این علامت به درستی استفاده کنید این علامت اعلام میدارد هرچی باشد به (علاوه فقط این کلمه) امید است که به درستی برای شما توضیح داده باشم با عرض پوزش از مهندس عزیز چون من خود وقتی این دستور را استفاده میکردم با این مشکل برخورد نمودم و تا مطلع شدم خیلی طول کشید.
:o
پاسخ : فیلتر کردن اطلاعات بانک اطلاعاتی
سلاماین پست کمی قدیمی است ولی سوالی دارم وقتی کاراکتر ها کوچک و بزرگ هستند فیلتر درست در نمی آید مثلا در جدول اینگونه نوشته باشیم:Table ودر فیلتر بنویسیم table یا TABLE جدول خالی در می اید و دچار خطا میشه!چطور کاری کنیم به بزرگی و کوچکی حروف حساس نباشه چون معلوم نیست در جدول هم چگونه نوشته شده!
مرسی حسن
پاسخ : فیلتر کردن اطلاعات بانک اطلاعاتی
دستور کار شده:
procedure TForm1.ADOQuery2FilterRecord(DataSet: TDataSet;
var Accept: Boolean);
begin
ACCEPT:= (
(FORM1.Edit1.Text='')OR
(POS(FORM1.Edit1.Text,FORM1.ADOQuery2.FIELDBYNAME( 'NAME').AsString)>0))
end;
پاسخ : فیلتر کردن اطلاعات بانک اطلاعاتی
یاید از کوئری استفاده کنید
مانند مثالی که در بالاتر زده شده است
برای اینکه حروف بزرگ و کوچک را هم شامل شود باید از توابع uppercase و lowercase استفاده کنید
پاسخ : فیلتر کردن اطلاعات بانک اطلاعاتی
در فیلتر جدول با دستور LIKE وقتی مورد در جدول نباشه خطا می ده!
شکل دستور:
کد:
ADOQuery2.Close;
ADOQuery2.SQL.Clear;
ADOQUERY2.SQL.Add(('select * from SUBMENUE where name like "'+Edit1.Text+'%"'));
ADOQuery2.Open;
FORM1.TreeView1.Items.Clear;
FORM1.Timer6.Enabled:=TRUE;
چطور فیلتر را تنظیم کنیم که اگه مورد جستجو در جدول نباشه اتفاقی هم نیفته!
مرسی
حسن
پاسخ : فیلتر کردن اطلاعات بانک اطلاعاتی
اول بفرمایید دقیقا چه خطایی میده . ظاهرا دستورات ایرادی نداره . شاید خطایی که فرمودید مربوط به قسمت دیگری باشه . لطفا تصویر یا متن خطا را اینجا بگذارید
1 فایل پیوست
پاسخ : فیلتر کردن اطلاعات بانک اطلاعاتی
1 فایل پیوست
پاسخ : فیلتر کردن اطلاعات بانک اطلاعاتی
تصویر خطا از محیط دلفی 2010 در حال اجرا:
پاسخ : فیلتر کردن اطلاعات بانک اطلاعاتی
البته از دستور:
کد:
ACCEPT:=(
(FORM1.Edit1.Text='')OR
(POS(FORM1.Edit1.Text,FORM1.ADOQuery2.FIELDBYNAME('NAME').AsString)>0))
هم استفاده کردم ولی مشکل اینکه در این حالت در انگلیسی فرقی بین کاراکتر ها قایل میشه مثلا حروف بزرگ بزنید دیگه حروف کوچک را نشان نمی ده!
مرسی
حسن
پاسخ : فیلتر کردن اطلاعات بانک اطلاعاتی
از این تصاویر چیزی معلوم نیست اگه میتونید سورس را بگذارید تا بدقت دیباگ کنم
پاسخ : فیلتر کردن اطلاعات بانک اطلاعاتی
نقل قول:
تصویر خطا از محیط دلفی 2010 در حال اجرا:
سلام
این خطا مربو به سینتکس بوده و یه جایی در کدها اشتباه تایپی دارید
احتمالا بجای ' که دوبار پشت سر هم هستند از " استفاده شده ؟
با همون دستور حتی اگه چیزی پیدا نشه نباید ارور بده
1 فایل پیوست
پاسخ : فیلتر کردن اطلاعات بانک اطلاعاتی
سلام
فایل اضافه گردید
در جستجو با فیلتر خود دلفی و اسکیوال یا جواد ناکافی است و یا خطا دارد مثلا فقط کاراکتر های بزرگ دیده می شود.مثال: با گزینه فیلتر filterrecord در ado
مرسی
حسن
پاسخ : فیلتر کردن اطلاعات بانک اطلاعاتی
سورس ناقص بود . Form2 و کامپوننت های Skin در سورس وجود نداشت.
دوست عزیز حدود یک ساعت بین کد های شما چرخیدم و حقیقتا نفهمیدم هدفتان از این برنامه چه بود!
اگر تازه کارید و در حال یادگیری هستید که هیچ. به شما بابت پشتکارتان خسته نباشید میگویم و امیدوارم در آینده یک برنامه نویس پنجه طلایی بشوید.
ولی اگر قرار است این پروژه را به مشتری تحویل دهید و بابت آن وجهی دریافت کنید به شما اکیدا توصیه میکنم منصرف شوید . جسارتا بنده با حدود 14 سال سابقه در برنامه نویسی جرات نمیکنم برای یک پروژه ساده هم با روش شما کد نویسی کنم. مطمئن باشید عواقب ویرایش این کد دیر یا زود دامنگیر خودتان خواهد شد.
پاسخ : فیلتر کردن اطلاعات بانک اطلاعاتی
سلام - فایل ناقص آپلود شده - بماند
دستور زیر رو تست کردم به حروف بزرگ و کوچک حساس نیست و همه رو میاره .
کد:
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('select * from table1 where field1 like ''%'+Edit1.Text+'%''');
ADOQuery1.Open;
پاسخ : فیلتر کردن اطلاعات بانک اطلاعاتی
تو انگلیسی
خطا میده
مثلا اگه حرف مورد جستجو در جدول نباشه و کاراکترهای بزرگ و کوچک
مرسی
پاسخ : فیلتر کردن اطلاعات بانک اطلاعاتی
این هم با توضیحات در کنار کدها اضافه کردم بدون کامپوننت راستی دلفی من 2010 است
مرسی
حسن
پاسخ : فیلتر کردن اطلاعات بانک اطلاعاتی
سلام
لطفا به این چند تا لینک یه نگاهی بنداز
[برای مشاهده لینک ها شما باید عضو سایت باشید برای عضویت در سایت بر روی اینجا کلیک بکنید]
[برای مشاهده لینک ها شما باید عضو سایت باشید برای عضویت در سایت بر روی اینجا کلیک بکنید]
[برای مشاهده لینک ها شما باید عضو سایت باشید برای عضویت در سایت بر روی اینجا کلیک بکنید]
[برای مشاهده لینک ها شما باید عضو سایت باشید برای عضویت در سایت بر روی اینجا کلیک بکنید]
امیدوارم براتون مفید باشه
و در مورد مشکل کوئری شما:
فکر میکنم باید برای جستجوی یک عبارت به صورت کوچک و بزرک از دو شرط like استفاده کنی مثل زیر:
کد:
select * from table1 where field1 like '[A]%' or field1 like '[a]%'
و باید مقدار A و a را با کاراکتر تایپ شده در Edit1.txt جایگزین کنی
در مورد اصول کد نویسی که سوال کردید هم بد نیست در گوگل جستجویی در میان سایت های فارسی زبان بیاندازید . حتما منابع خوبی پیدا خواهید کرد. گوگل برای برنامه نویس مثل عصای سفید برای نابیناست. من که خیلی ازش استفاده میکنم. برای سر نخ هم بهتره دنبال شیء گرایی بگردید.
موفق باشید
پاسخ : فیلتر کردن اطلاعات بانک اطلاعاتی
چشم می بینم مرسی وقت می زارید
حسن
پاسخ : فیلتر کردن اطلاعات بانک اطلاعاتی
نقل قول:
تو انگلیسی
خطا میده
مثلا اگه حرف مورد جستجو در جدول نباشه و کاراکترهای بزرگ و کوچک
مرسی
سلام مجدد /
حروف فارسی که کوچک و بزرگ که نداره ! منم با انگلیسی تست زدم ! درست جواب میده .