PDA

View Full Version : کمک خیلی فوری در رابطه با ADOQuery در دلفی



elagoli
یک شنبه 20 شهریور 1384, 21:31 عصر
ببخشید
خودم که گفتم تازه واردم
لطفا کسی نگه
با تشکر - زیبا باش

elagoli
یک شنبه 20 شهریور 1384, 21:48 عصر
با سلام و خسته نباشید به تمام دوستان
من تازه عضو این سایت شده ام و زیاد با قوانیین ان آشنایی ندارم. بنابراین صمیمانه انتظار دارم اگر خطایی در برقرای ارتباط از این حقیر سرزده است پوزش این بنده ناچیز را پیشاپیش پذیرا باشد .
من برنامه نویسی با دلفی را تازه آغاز کرده ام ولی احتیاج بسیار مبرم به برطرف نمودن این مشکل را دارم
من در حال نوشتن یک برنامه هستم که بتواند پرچم یک کشور را در دیتابیس ذخیره کرده و سپس با فشار کلیدی بانک را براسا نام کشور جستجو کرده و اطلاعات را به من نشان دهد .
1.دیتابیس ADOTable
2. انجام عمل جستجو با ADOQuery و دستور Select
3.در اینجا می خواهم اطلاعات را بر اساس نام کشور در یک DBImage نشان دهد ( کاملا بطور اتوماتیک نه بصورت دستی توسط DBGrid

خواهش می کنم من به این اطلاعات خیلی نیاز دارم .میدونم که واسه خیلی از شما تکراری است ولی من نتونستم نیازم را برطرف کنم التماس دارم که هرکدام از دوستان که می توانند هر کمکی از دستشان بر می آید دریغ نکنند.

با تشکر - زیبا باش

vcldeveloper
دوشنبه 21 شهریور 1384, 06:12 صبح
یک DataSource روی فرم برنامه بزارید و خاصیت DataSet اون را روی اسم شی ADOQuery که استفاده می کنید قرار بدید. یک DBIMage روی فرم قرار بدید و خاصیت DataSource اون را روی اسم DataSource ایی که در بالا ساختید تنظیم کنید. در خصوصیت Data Field شی DBGrid هم اسم فیلدی از جدول که داده های تصویری را در آن ذخیره کردید، تایپ کنید. با انجام مراحل بالا و Active کردن ADOQuery، تصویر رکورد اول در DBImage نمایش داده میشه. با حرکت بر روی رکوردها (با استفاده از متدهای Next, Prior, First, Last, MoveBy و... از TADOQuery یا با استفاده از کامپوننت DBNavigator )، تصویر DBImage هم تغییر می کنه.

elagoli
دوشنبه 21 شهریور 1384, 08:50 صبح
(با استفاده از متدهای Next, Prior, First, Last, MoveBy و... از TADOQuery

با سلام و تشکر از آقای کشاورز .
من تمام مراحلی راکه شما فرموده اید تا قسمت Moveby و... قبلا طی کرده ام
نکات :
1. انتخاب DataFd در ِDBImage به صورت برنامه نویسی می باشد ( DBImage1.DataField:='map';)
2.فعال کردن ADOQurey توسط کدهای زیر
with ADOQuery1 do begin
with SQL do begin
close;
text := format ('select * from Table1 where (name = ''%s'') ', [EDIT1.Text]);
end;
Open;
3.دقیقا نمی توانم بعد از این مرحله در DGBrid حرکت کنم.به اولین زکورد جدول آمده و در همان جا می ماند.
4.می شود در مورد محل استفاده از دستورات Moveby و .... بیشتر توضیح دهید.
با تشکر.

vcldeveloper
سه شنبه 22 شهریور 1384, 03:02 صبح
متد MoveBy و سایر متدهایی که در بالا نام بردم، برای حرکت بر روی رکوردهای یک جدول استفاده میشند. از اسمشون مشخص هست که چیکار می کنند؛ Next اشاره گر رکورد را یک واحد جلو میبره، Prior یک واحد عقب، First اولین رکورد جدول را فعال می کند، MoveBy هم به اندازه عددی که بعنوان پارامتر بهش میدید، روی رکوردها حرکت می کند (مثلا MoveBy(4) یعنی 4 رکورد برو جلوتر) و... وقتی از DBGrid استفاده می کنید، متدهای فوق بصورت خودکار توسط DBGrid فراخوانی میشند و لازم نیست شما کاری بکنید.
اگه اولین رکورد رو نمایش میده، پس احتمالا رکورد دیگه ایی در جدول وجود نداره، یا اون رکوردها عکسی برای نمایش در DBImage ندارند.

elagoli
سه شنبه 22 شهریور 1384, 10:39 صبح
با سلام آقای کشاورز
دست شما درد نکند
من مشکلم را با استفاده از 2 عدد DBImage‌حل کردم
چون رکوردهای من تکراری نبودند نیاز به استفاده از موارد فوق نبود من فکر می کردم روش خاصی را مد نظر دارید.
باز هم از اینکه وقت گذاشتید کمال تشکر را دارم
زیبا باش

elagoli
سه شنبه 22 شهریور 1384, 21:35 عصر
با سلام
کسی از دوستان می تونه اطلاعات کاملی در حد یک تازه کار از فراخوانی یک فایل صوتی از یک ADO و پخش توسط یک دکمه به من بدهد .
با تشکر - زیبا باش

parsidev
سه شنبه 22 شهریور 1384, 22:05 عصر
دوست عزیز نگفتین چه مشکلی دارین؟

elagoli
چهارشنبه 23 شهریور 1384, 08:02 صبح
با سلام
مشکلم را در قسمت مربوطه گفتم اگر مقاله قبلی را بخوانید می فهمید .
ببخشید شما می دانید شی TBLobField‌را کجا می تونم پیدا کنم . من میخوام فایل صوتی را از جدول ADOTable پخش کنم .
با تشکر

elagoli
چهارشنبه 23 شهریور 1384, 19:32 عصر
سلام دوستان
کسی نمی خواد کمک کنه؟

elagoli
چهارشنبه 23 شهریور 1384, 19:34 عصر
سلام
کسی از دوستان نمی تونه به من کمک کنه خیلی نیاز دارم
با تشکر

vcldeveloper
پنج شنبه 24 شهریور 1384, 02:21 صبح
با استفاده از متد SaveToFile از کلاس TBlobField می تونید محتویات اون فیلد رو در یک فایل ذخیره کنید. بعد از اون می تونید این فایل رو به هر طریقی که مایل بودید پخش کنید. اگه تمایلی با استفاده از فایل ندارید، می تونید با استفاده از SaveToStream داده های داخل فیلد را بصورت یک Stream استفاده کنید.


TBLOBField(ADOTable1.FieldByName('Your_Field')).Sa veToFile('Your_FileName');


شی TBLobField‌را کجا می تونم پیدا کنم
کلاس TBlobField در یونیت DB در دلفی تعریف شده.

در ضمن، سعی کنید در هر تاپیک فقط یک سوال بپرسید و سوالات دیگه رو که به سوال قبلی مربوط نمیشند، در تاپیک های جداگانه مطرح کنید.