PDA

نسخه کامل مشاهده نسخه کامل : همه چيز در مورد Database ها



صفحه ها : [1] 2 3

مرد مباح
24-06-2006, 10:35
اينجا ميخوام اول طراحي پايگاه داده رو براي همه آموزش بدم.
لطفا در اين تاپيك تا زماني كه مطالب درسي شروع نشده چيزي ننويسيد.
بعد از آموزش براي پاسخ به سوالات در خدمتم.

مرد مباح
24-06-2006, 22:00
سلام بر دوستان عزیز
مباحث رو بخش بندی کردم که به بخش مورد نظرتون مراجعه کنید.
از پایه ترین اطلاعات تا حدی که بشه جلو میرم.
موفق باشید.

مرد مباح
24-06-2006, 22:01
درس1 : آشنایی با بانک اطلاعاتی
دوستان اول به نظرم لازم بود که درباره معنای بانک اطلاعاتی بدونین.
برای فهم راحت این موضوع یک مثال میزنم.
فرض کنید یک دفترچه تلفن خریدید.
معمولا 3 بند در آن مشترک است
1. نام
2. تلفن
3. آدرس
که زیر آنها کلی جای خالی برای نوشتن تلفن و اسم هست.
در مفهوم بانک اطلاعاتی به هر یک از این بخشهای 1-2-3 یک فیلد گفته میشود.
به هر یک از اسم و فامیلی که مینویسیم یک رکورد گفته میشود.
در ساخت بانک اطلاعاتی همیشه تعداد فیلدها محدود است و نوع آنها مشخص میباشد.
ولی رکوردها تا اندازه ای که هارد شما ضرفیت دارد امکان ذخیره اطلاعات را دارد.
به مخموعه ای از فیلدها و رکوردها یک بانک اطلاعاتی گویند.

ساختار بانکهای اطلاعاتی معمولا تجربی است و راه خاصی برای تشخیص تعداد و نوع فیلدها وجود ندارد و فقط با کارکردن زیاد می توان ساختار بهینه را آموخت.
دیتابیسها دو نوعند. دیتابیسهای یک جدوله مثل فاکسپرو و دی بیس. و دیتابیسهای چند جدوله مانند اکسس.
چون هدف ما آموزش دیتابیس دلفی است بیشتر درباره این موضوع (طراحی بانک اطلاعاتی) صحبت نمیکنم

مرد مباح
24-06-2006, 22:06
درس2 : معرفی دیتابیس به دلفی
برای این منظور در دلفی یک سری کامپوننت وجود دارد که در بخش Data Access و Data control قرار دارد.
در بخش اول معمولترین کامپوننت هایی که استفاده می شود Table و Datasource است.
Table برای معرفی دیتابیس استفاده میشود
شما میتوانید در بخش DataBaseName اسم فایل دیتابیس طراحی شده خودتون رو وارد کنید
پیشنهاد من اینه که همیشه فایل دیتابیستون رو اونجایی قرار بدین که فایا EXE شما قرار داره. چون به این ترتیب نیازی به تعریف مسیر ندارید.
در بخش TableType شما میتوانید نوع دیتابیسی که باهاش کار می کنید رو معرفی کنید.
بعد از این دو مورد مهمترین مسائلی که وجود داره اول بخش فیلتر کردن آن است که میتوانید با ساختار زیر عمل کنید.

(FieldName1) = 'String' and (FieldName2) = number
منظور از (FieldName1&2) اسم فیلدی هست که شما در دیتابیس معرفی کردید و جنس فیلد اول کاراکتری و جنس فیلد دوم عددی میباشد.

و دوم بخشی برای استفاده چند کاربره از دیتابیس که در صورتی که مقدار CachedUpdate برار True باشد, امکانپذیر است.
درباره طرقه استفاده از آن در درسهای بعدی توضیح میدم.

بعد از تعریف Table شما میتوانید Datasource را روی فرم گذاشته و به راحتی Table رو به Datasource مرتبت کنید.

دلیل استفاده از دیتاسورس در درس بعدی قرار دارد.

مرد مباح
26-06-2006, 15:22
دوستان.
اين كارها رو انجام بدين و اگه به مشكلي برخوردين بپرسين
وگرنه به من بگين تا ادامه بدم.
اگه به نظرتون ساخت ديتابيس هم براتون لازمه جداگانه درس بدم.

soldier
26-06-2006, 17:24
سلام
اي ول .آموزشت بي نظير بود.
تا ببينيم بقيش چطوره! :)
اگر تونستي ساخت ديتابيس رو هم بذار
اگر بيشتر ياد بگيريم خوب بهتره.
پس من كه طالب ساخت ديتابيس و ادامه اين
مطلب هستم.منتظرم ها!!!!

مرد مباح
29-06-2006, 17:54
میبینم که مشتری این تاپیک کمه.
ولی به زودی ادامه میدم.
حتما کسی تو این بخش مشکلی نداره.

مرد مباح
30-06-2006, 10:39
درس 3 : ارتباط دادن دیتابیس به فرم
دوستان دو موردی که در درس قبلی مطرح شدند ، اشیا غیر نمایشی هستند.
یعنی اگر این دو بر روی یک فرم قرار داشته باشند ، اگر برنامه اجرا شود چیزی بر روی فرم ظاهر نمیشود.
البته معمولا بر روی DataModul قرار میگیرند که بعدا درباره آن صحبت میشود.
در واقع این دو یک رابط بین دیتابیس و اشیا نمایشی هستند.

اشیا نمایشی در بخش DataControl وجود دارد که در این در به توضیح DBText و DBEdit می÷ردازیم و در درس بعدی توضیحات را کاملتر می کنیم.

DBText : این شی برای نمایش یک مقدار که در درون دیتابیس وجود دارد استفاده میشود.
در خصوصیات تمام زیر مخموعه DataControl یک بخش به نام DataSource وجود دارد که اگر آن را انتخاب کنید ، لیستی از Datasource هایی که قبلا ایجاد کردید را در آن میبینید.
یک خصوصیت مهم دیگر نیز وجود دارد که DataField میباشد.
این خصوصیت یکی از فیلدها را برای DBText مشخص مینماید تا به نمایش درآورد.
باقی خصوصیات را قاعدتا میشناسید. و هیچ چیز خاص و مهمی ندارد.
DBEdit : این شی درست مثل DBText میباشد با این تفاوت که امکان تغییر نیز وجود دارد.
Event های این شی بیشتر از DBText است ولی تمام این Event ها در سایر اشیا دلفی مشترک است.

DBComboBox هم دقیقا مشابه با DBEdit است با این مزیت که میتوان مقادیر را نیز محدود کرد.
سایر اشیا هم مانند DBImage و DBMemo برای دسترسی به فیلدهای عکسی و یادداشتی استفاده میشوند.
برای اینکه این مبحث خیلی طولانی نشد DBGrid در درس بعدی آموزش داده میشود.

soldier
30-06-2006, 11:37
سلام
خيلي عالي بود.ادامه بده.من كه تا اينجا
به خوبي پيش رفتم و مشكلي هم نداشتم.
اميد وارم به زودي بقه اش رو هم آماده كني.
مرد مباح عيبي نداره كه مشتري داشته باشه يا نه
خودم هم اينطور شده بهم.آموزش بذاري اما هيچكي
استقبال نكنه اما اگر كمي ادامه بدي راه ميفته.
نمي دونم چرا كلآ تاپيك هاي دلفي خلوت هستند.
هر كي سوالي داشت مي نويسه و ميره ديگه هم
پشت سرشو نگاه نمي كنه .اما عيبي نداره تو ادامه بده!!

مرد مباح
30-06-2006, 12:12
دلفی کارا خیلی نیستند.
به همین دلیل پیگیری ندارن.
از طرف دیگه کسی که میاد از صفر یاد بگیره مطالبی که توی این تاپیکا میزاریم براش سنگینه و خسته میشه.
مسئله دقیقا اینجوریه.

soldier
30-06-2006, 13:00
سلام
خوب عيبي نداره بالاخره كسي هست كه اينا رو بخواهد.
تو آموزشت رو كامل كن بهت قول ميدم كه اينجا شلوغ شلوغ مي شه.

مرد مباح
30-06-2006, 20:50
من به هر حال توضیح میدم.
برای همه.
شاید به درد یکی خورد.

مرد مباح
30-06-2006, 21:27
درس 4 : در این بخش میخوام درباره DBGrid صحبت کنم.
این شی جز قویترین و در بعضی جاها مهمترین شی در طراحی یک برنامه به حساب میاد که امکانات متنوعی داره. یکی از مهمترین کارهایی که در فرم انجام میدهد نمایش یک مجموعه فیلتر شده خاص است که حتی فیلدهای آن نیز مشخص شده است.
برای توضیح کامل این شی با یک مثال جلو میروم.
فرض کنید که با یک دیتابیس دارین کار میکنین که یک جدول داره و دارای فیلدهای زیر است :
1. کد کارمندی 2.نام 3.آدرس 4.تلفن 5.حقوق 6. وظیفه در کارگاه

حال فرض کنید که یک گزارش ساده از افرادی میخواین که مثلا مورد 6 آنها "کارگر" است.
در این گزارش که روی مونیتور هم هست لزومی برای نمایش "آدرس"و"حقوق"و"کد کارمندی" نیست.
مراحل زیر را انجام میدهیم.

1. DBGrid را روی فرم قرار میدهیم.
2. DataSource آن را مشخص میکنیم.
3. روی DBGrid دبل کلیک می کنیم و یک صفحه سفید ظاهر میشود.
4. دکمهای در بالای این صفحه است. (ADD NEW)
5. یک آیکون به لیست سفید اضافه میشود. آن را انتخاب کنید
6. در خاصیت FieldName نام فیلد مورد نظرتان را انتخاب کنید.
7. بخش Title را انتخاب کرده و در بخش Caption نامی که برای فیلد مد نظرات است را برای نمایش روی مونیتور وارد کنید. این بخش معمولا برای برنامه های فارسی استفاده میشود.
8. سایر مشخصات مربوط به ستون را تعیین کنید. سایر مشخصات واضح هستند و خیلی کاربردی نمیباشند.

اگر مراح 3 به بعد را انجام ندهید کل فیلدها نمایش داده میشوند. ولی اگر این کارها انجام شود و فیلدهای مورد نظرتان را انتخاب کنید فقط آنها را نشان خواهد داد.
حال اگر Table را فیلتر کنید ، تغییرات آن بلافاصله بر روی DBGrid اعمال میشود.

کمی هم درباره DBImage صحبت کنم.
چون گویا دوستان کمی مشکل داشتند.
برای استفاده از این شی به راحتی میتوان عکس را ارد بانک اطلاعاتی کرد.
درست مثل تمامی اشیا این صفحه ابتدا باید DataSource و فیلد آن مشخص گردد.
برای انتفال عکس از روی هارد به درون دیتابیس هم میتوان به هر روشی (برای مثال Dialogs) نام و مسیر فایل را بدست آورد و با کد زیر آن را وارد کرد:


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
منظور از ... هم همان انتخاب شما برای یافتن نام و مسیر فایل است.
حتی به صورت مستقیم می توان نام فایل را نوشت.
برای مثال :


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

مرد مباح
03-07-2006, 08:35
درس 5 : دیتا ماژول
دوستان اگر تا اینجای بحث را پیگیری کرده باشی الان باید بتوانید که یک دیتابیس تک جدوله را کنترل و در یک برنامه استفاده کنید.
برای اینکه در یک برنامه کاربردی همیشه بیش از یک فرم است که با جدول در تماس میباشد ، تعریفات دیتابیس و جدول را در بخش دیگری به نام دیتا ماژول انجام میدهیم.
این بخش همانند یک فرم اضافی برای برنامه میباشد و هر فرمی که به اطلاعات جدول لینک باشد را به آن اتصال میدهیم. این ماژول را میتوان از طریق File/New…/DataModual اضافه نمود.
سایر کارکردهای این بخش همانند فرم است وتنها فرق آن در عدم نمایش همیشگی آن برای کاربر است.
یعنی امکان نمایش (Form.ShowModal) را ندارد.

تاکید میکنم که روی درس 3 و 4 خیلی کار شود که مطالب آنها برای تمامی ساختارهای دیتابیسی در دلفی کاربر دارد. اکثر کامپوننتهایی که در بخش DataSource وجود دارند کار معرفی جدول را به عهده دارند ، البته با تفاوتهایی نسبت به Table و چون حجم مطالب خیلی زیاد میشود از توضیح درباره آنها صرف نظر کردم.

اگر سوالی بود بگزارید.

soldier
03-07-2006, 10:51
سلام
وقتي من يه فيلد رو انتخاب كردم و در گزينه فيلد نيم مي خواستم
نامي بنويسم وقتي كليدي مي زدم ارر مي داد .
اررش اين بود :
Unknown database.
Alias: اسم دیتابیس.
خوب OK مي زدم و دوباره مي نوشتم تا كامل شد و اينتر زدم.
مي خواستم بدونم اين مشكلش چيه؟

مرد مباح
03-07-2006, 11:37
كامپوننت رو باید به دیتا سروس لینک کنی و بعد خودش یه لیست بهت میده

soldier
03-07-2006, 12:12
سلام
اين كارو هم كردم اما باز هم همونطوره.

مرد مباح
03-07-2006, 12:41
دیتا سورست به تیبل لینک هست؟
توی تیبل فایلو معرفی کردی؟

soldier
03-07-2006, 14:12
سلام
تييل چيه؟ كجا ديتا سورسم رو به تييل لينك كنم؟

مرد مباح
03-07-2006, 20:56
یک دیتا ماژول تعريف كن و هم ديتا سورس و هم Table رو بزار توي اون.
وقتي توي ديتا سورس كليك كني بخشي به نام Table داره كه اونا رو به هم لينك ميكنه.

soldier
03-07-2006, 21:06
سلام
خدا خيرت بده.
بابا ما رو كشتي
خوب ماژول چيه ؟ هر سوالي بپرسم يه چيز ديگه مي گي.
گفتم تييل چيه مي گي ماژول؟ تو ديگه كي هستي!!!!!!
تيبل رو بذارم توي چي؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟ ؟؟؟؟؟؟؟؟؟؟
بابا اموزش هاي اولي خوب بود اما نمي دونم چرا الآن اينطوري مي كني؟

مرد مباح
03-07-2006, 21:44
رفيق درس 5 و درس 2 چيزايي هست كه در مورد اينا گفتم.
اينجا چون دوباره پرسيدي جواب دادم كه كاملا مسئله برات واضح بشه.

دوباره نگاهي به درس 5 بنداز

soldier
04-07-2006, 11:09
سلام
مشكل حل شد
از DatabaseName بود اون رو چي بذارم؟
راستي فايل ديتابيس چطوري بسازم؟
چطوري تعيينش كنم يعني كجا؟
من كه ديتابيس نيم رو گذاشتمDBDEMOS
درسته؟

مرد مباح
04-07-2006, 12:28
خودت ديتابيسي طراحي نكردي؟
اگه نه ميتوني تو فاكس پرو يا پارادوكس بسازي.
البته راه راحتترش فكر كنم استفاده از DataBase Desktop است كه با خود دلفي اينستال ميشه.
راحت باهاش ميتوني ديتابيس تك جدوله بسازي.

امتحان كن و خبرشو بهم بده.

soldier
04-07-2006, 12:49
سلام
خودم طراحي نكردم.اين راه هايي كه گفتي نمي دونم
چطور عملي كنم.همون طراحي ديتابيس بايد بهتر باشه.
آموزش طراحي ديتا بيس رو بذار كه داراي مشكل نشيم.

مرد مباح
06-07-2006, 15:26
از همين جا طراحي ديتابيسو ميگم.
بيشتر با مثال پيش ميرم كه مفهومتر باشه و كاربردي

soldier
06-07-2006, 17:13
سلام
خيلي خوبه.دستت درد نكنه.
منتظرت هستيم.ممنون

hp1361
06-07-2006, 20:17
با سلام به دوستان

يه سوال

من مي خواه بجاي اينكه از جداول دي بي استفاده كنم از جداول چند جدوله بقول معروف يا همون اكسس استفاده كنم

تمام مراحل رو به خوبي جلو ميرم اما موقع احرا ارور ميده كه من نميتونم يك فيلد نول يا خالي رو به استرينگ تبديل كنم

دليلش چيه ؟

ممنون

مرد مباح
06-07-2006, 20:45
دوست عزیز.
من هنوز کار با چند تیبله ها رو نگفتم.
یک سری تفاوت داره.
توی درسهای آتی میگم.
البته اگه کارت فوریه بگو که الان جوابتو بدم.

mohsenpj
07-07-2006, 00:46
كي گفته اين تاپيك مشتري كم داره من هم كه تازه وارد شدم تمام اين درسها را خواندم و بسيار برايم مفيد بود در ضمن دستت درد نكنه مرد مباح خدا عوضت بده
لطفا ادامه بده......
ممنون

مرد مباح
07-07-2006, 09:33
خيلي ممنون دوست عزيز.
شما لطف دارد.
اگه صفحه رو نگاه ميكنيد و به درد مي خوره لطفا يه نظر بدين كه من بدونم چه جوري ادامه بدم.
چند تيبله ادامه بدم و بعد طراحي ديتابيس رو بگم.
يا همين الان طراحي ديتابيس بگم و چند جدوله ها بمونه براي بعد ؟

soldier
07-07-2006, 18:11
سلام
به نظر من از همون طراحي ديتابيس شروع كني
خيلي بهتر باشه.منتظرت هستم.موفق باشي.

mohsenpj
07-07-2006, 20:47
من هم با نظر soldier موافقم. موفق باشی.

مرد مباح
08-07-2006, 12:33
طبق درخواست دوستان این موضوع رو اولویت دادیم

درس1 طراحی دیتابیس :

از ساخت یک دفتر تلفن شروع میکنیم.
همانطور که قبلا گفته شده بود ، معمولا دفتر تلفن دارای چند فاکتور حتمی است.
1.نام 2.تلفن
چون داریم برنامه ای با کامپیوتر طراحی میکنیم. معمولا ساختارهای بیشتری را انتخاب می کنیم تا امکانات برنامه افزایش یابد. برای مثال :
3. آدرس 4. موبایل 5. فاکس 6.E-Mail
به این ترتیب ساختار اولیه دیتابیس رو پیدا کردیم.
چون برنامه در دسترس همه ما برنامه Database Desktop است که با خود دلفی اینستال میشود ، فعلا به آموزش این برنامه می پردازیم.
هنگامی که وارد برنامه میشوید مراحل زیر را طی کنید.
File / New / Table… را انتخاب کنید.
صفحه ای ظاهر می گردد که نوع دیتابیس خود را انتخاب کنید.
بعد از انتخاب نوع صفحه ای برای ساختار (Structure) ظاهر میشود.

تا اینجای کار شما تمامی مراحل برای ساخت اولیه دیتابیبس را انجام دادید.
تعریف ساختار را در درس بعدی توضیح میدهم. چون مباحث مهم و طولانی دارد.

hp1361
09-07-2006, 19:37
سلام

مثل اينكه دوستان علاقه دارن از ديتابيس پارادوكس اموزش شروع بشه خوب راي با اكثريته ديگه

من منتظر جوابم هستم .

يا حق

مرد مباح
10-07-2006, 11:37
يك توضيح مختصر به شما بدم كه شايد كارتون راه بيفته.
چون از مباحث اصلي درس خارج ميشيم, نميتونم خيلي بگم.

شما نبايد از بخش Data Access استفاده كنيد.
بايد از بخش ADO الستفاده كنيد.
توضيحات بيشتر رو در درسهاي بعدي بهتون ميدم.

مرد مباح
12-07-2006, 09:23
درس 2 طراحی دیتابیس:

ساختارها مسائلی هستند که برای بررسی و محدود کردن نوع ورودی به یک دیتابیس استفاده میشود و همیشه این ساختارها روی فیلدها اعمال میشود یهنی نوع و تعداد حروف یک فیلد را مشخص می کند.
برای مثال همان برنامه دفتر تلفن را در نظر میگیریم.
مقداری که در نام قرار میگیرد از جنس Text ویا String است. تعدا کاراکترهای آنرا نیز مشخص میکنید.
مقدار تلفن در نگاه اول از نوع Number است. ولی باید نوع آن از جنس Text باشد.
فراموش نکنید که فیلدهای از نوع نامبر در اکثر مواقع برای مسائلی استفاده میشوند که محاسبات روی آنها انجام میشود. پس تلفن از این نوع نیست. بعدا در برنامه باید کدی برای بررسی عدد بود آن طراحی کنید.

در برنامه ی DataBase Desktop مهمترین مقادیری که به عنوان نوع فیلد یا Type استفاده میشوند برار مقادیر زیر میباشد :
S: String , N: Number , D: Date , M: Memo

در اکثر دیتابیسهای تک جدوله تعداد حروف نقش مهمی دارد. یعنی تعیین میکنید که برای نام مثلا تا 20 کاراکتر مجاز باشد.
نکته مهم : توجه کنید که هرچه اندازه این مقدار بیشتر باشد ، فایل خروجی شما نیز بزرگتر خواهد شد. پس تعداد کاراکترها رو الکی زیاد نکنید.

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

soldier
12-07-2006, 10:26
سلام
اي ول بابا.من يكي ساختم.تستش هم كردم.
خوب بود.حالا اگر كمي بري روي جزيات بهتر ميشه.

مرد مباح
12-07-2006, 10:51
جزئيات ساخت ديتابيس يا لينك كردن با دلفي يا ساخت برنامه با دلفي؟

مرد مباح
12-07-2006, 10:57
جزئيات ساخت ديتابيس يا لينك كردن با دلفي يا ساخت برنامه با دلفي؟

مرد مباح
12-07-2006, 10:59
جزئيات ساخت ديتابيس يا لينك كردن با دلفي يا ساخت برنامه با دلفي؟

soldier
12-07-2006, 11:53
سلام
چزئيات ساخت ديتابيس رو بذار
چون الآن بحث ما اين هست
و نبايد اين طرف اون طرف بريم
كه گيج نشيم بعديش لينك كردن و بعد
ساخت برنامه.:) ممنون.

مرد مباح
13-07-2006, 16:01
مهمترين موردي كه در جزئيات وجود داره اينه كه اولا بتوني تشخيص بدي كه بايد با چند جدول كار كني.
البته اين كار بيشتر تجربيه. ولي هيچ وقت اين حرفمو يادت نره : "هميشه تعداد فيلد محدوده و تعداد ركورد بينهايت".
اين يعني گاهي بهتره يك جدول اضافي ايجاد كنيد بجاي اينكه يك جدول كمتر داشته باشيد با 50 تا فيلد.

ممولا تعدا فيلدها در يك جدول نبايد بيشتر از 15 تا باشه.
اگه بود هميشه شك كنيد كه احتمالا دارين يك جاي كارو اشتباه طراحي ميكنيد.

يك مورد ديگر هم درباره DataBase Desktop بگم كه بد نيست.
در طراحي هر يك از مدلهاي مختلف جدول با اين برنامه اگر روي Type كليك كنيد كليه مقادير مجازو نشونتون ميده.
البته معمولا از لحاظ ماهيت بيشتر با همان انواعي كه تعريف كردم كار داريد.

soldier
13-07-2006, 16:27
سلام
يه نكته بود كه توجه نكردي.
و خودم هم گيج شدم و حالا
حل شده مكان DataBase Des هست
كه از Tool>Database Desktop اينجا
بايد پيداش كنيد.ممنون:)

مرد مباح
13-07-2006, 17:51
معمولا تو خود Start Menu بخش Delphi آيكونشو داره.

rmb_ali
17-07-2006, 14:15
دوستان چه جوري ميشه يه ديتا بيس و يا يه بانك اطلاعاتي از تو دلفي و در زمان اجرا ساخت

مرد مباح
17-07-2006, 20:18
چند وقت پيش روي يك سايت يك كامپوننت ديدم كه اين كارو ميكرد.
ولي اين معمولا كار بسيار نادريه.
مگر اينكه بخواي برنامه طراحي ديتابيس بسازي.
اونم با وجود برنامه هايي مثل اكسس و اس كيو ال عاقلانه نيست.
درباره كاري كه مي خواي بكني توضيح بده تا بيشتر راهنماييت كنم.

مرد مباح
23-07-2006, 20:49
سلام دوستان.
درس جدید : دیتابیسهای چند جدوله.
نمونه بارز برای ساخت چنین جدولی اکسس و اس کیو ال است.
در این نرم افزارها چند جدول در یک فایل قرار میکیرند.
برای دسترسی به این جدولها دو مرحله وجود دارد.
1. مرحله اتصال دیتابیس به دلفی.
2. مرحله تفکیک جدولها و استفاده از آنها.
در مرحله 1 از کامپوننتهای ADO استفاده میشود و مهمترین این کامپوننتها ADOConnection است.
این کامپوننت برای اتصال استفاده می شود و برای ایجادارتباط باید روی کامپوننت دبل کلیک کنید و صفحه ای باز میشود که در جلوی بخش Connection String یک دکمه Build وجود دارد که به وسیله آن ابزار ارتباطی انتخاب میشود.
در مرحله دوم از ADODataSet استفاده میگردد. که در آن نامه ADO که روی صفحه قرار داده شده انتخاب میگردد و در يكي از بخشهاش ميتونين به كمك خود دلفي فيلدهاي مورد نظر خودتون رو انتخاب كنيد.

باقی مراحل توسط بخش DataControl صورت میگیرد که قبلا درباره آن توضیح داده شده.
برای دلفی Table که در بخش BDE است ویا ADOTable که طریقه استفاده از آن توضیح داده شد، مشابهند و کار با آنها یکسان میباشد.

Amateur
24-07-2006, 11:29
با سلام
من سعي كردم يك بانك اطلاعاتي اكسس را با Microsoft Jet 4.0 OLE DB Provider به asp.net متصل كنم اما بعد از اجرا error ذيل ظاهر مي شود،‌ممنون ميشوم اگر كسي راهنمائي كند مشكل كجاست؟ ضمنا شايد نكات ذيل هم براي تشخيص مشكل مفيد باشد:
- در هنگام اتصال پاسخ Test Connection بصورت Test Connection Succecded است.
-بعد از اتصال بانك، يك ايكون بانك اكسس همنام اما با يك علامت قفل در گوشه آن هم ايجاد مي شود و اگر اتصال را قطع كنيم آن ايكون هم ديده نمي شود.
-براي برقراري ارتباط با DataGrid كد ذيل را نوشته ام:
Dim myReader As System.Data.OleDb.OleDbDataReader

OleDbConnection1.Open()
myReader = OleDbCommand1.ExecuteReader()
DataGrid1.DataSource = myReader
DataGrid1.DataBind()


Server Error in '/ali-85-5-2' Application.--------------------------------------------------------------------------------

The Microsoft Jet database engine cannot open the file 'C:\Documents and Settings\nasehi.KCC-4F4E3221FC4\Desktop\ali\ali.mdb'. It is already opened exclusively by another user, or you need permission to view its data.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.Data.OleDb.OleDbException: The Microsoft Jet database engine cannot open the file 'C:\Documents and Settings\nasehi.KCC-4F4E3221FC4\Desktop\ali\ali.mdb'. It is already opened exclusively by another user, or you need permission to view its data.

Source Error:


Line 46: Dim myReader As System.Data.OleDb.OleDbDataReader
Line 47:
Line 48: OleDbConnection1.Open()
Line 49: myReader = OleDbCommand1.ExecuteReader()
Line 50: DataGrid1.DataSource = myReader


Source File: c:\inetpub\[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ] Line: 48

Stack Trace:


[OleDbException (0x80004005): The Microsoft Jet database engine cannot open the file 'C:\Documents and Settings\nasehi.KCC-4F4E3221FC4\Desktop\ali\ali.mdb'. It is already opened exclusively by another user, or you need permission to view its data.]
System.Data.OleDb.OleDbConnection.ProcessResults(I nt32 hr)
System.Data.OleDb.OleDbConnection.InitializeProvid er()
System.Data.OleDb.OleDbConnection.Open()
ali_85_5_2.WebForm1.Page_Load(Object sender, EventArgs e) in c:\inetpub\[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
System.Web.UI.Control.OnLoad(EventArgs e)
System.Web.UI.Control.LoadRecursive()
System.Web.UI.Page.ProcessRequestMain()

مرد مباح
24-07-2006, 12:28
راحتترین راه اصلاح شما استفاده از ODBC است.
از اين لينك استفاده كنيد و نتيجه رو خبر بدين.
راستي اينجا بخش دلفيه و اكثر دوستان با كدها asp .net آشنايي ندارن.
فكر ميكنم علامت قفل هم كه ظاهر ميشه يه خاطرلينك يك جانبه شماست.
يعني فقط يك دستگاه ميتونه به بانك لينك بشه.

siadate
27-07-2006, 08:03
باسلام خدمت شمادوست عزيز:

اولا واقعا خسته نباشي خيلي جالب بود

ثانيا اميدوارم ادامه داشته باشد

مرد مباح
03-08-2006, 18:44
دوستان. لطفا با پستهاي الكي اين تاپيك رو شلوغ نكنيد.
راستي اين تاپيك رو براي چند تا از دوستان كه با اكسس مشكل داشتند آپديت كردم كه تو چشم باشه و جوابشون رو بگيرند.

rasool_m
05-08-2006, 07:04
دستت درد نكنه من مشكلم با اكسس حل شد
پس چرا ادامه نميدي ؟؟؟

مرد مباح
05-08-2006, 12:28
ديگه نميدونم از كجا بايد بگم.
اگه دوستان همين درسهايي كه تا اينجا دادم رو ادامه بدن و فقط در همين حد هم كار كنن 100 تا مشكل گير ميكنن.
چون كسي سوالي نميپرسه حس كردم كه ديگه كسي نميخونه و ادامه دادنش خيلي فايده نداره.
اگه كار كردي و ديدي در مورد خاصي آموزش نيار هست موضوع كليشو بگو تا درس اون قسمت رو بدم.

soldier
05-08-2006, 13:17
سلام
خودت گفته بودي تيله و ...
به صفحه هاي قبل بري دقيق يادت مياد

مرد مباح
05-08-2006, 15:40
من اين چيزي كه گفتي رو پيدا نكردم.
اگه شماره پستشو بزاري ممنون ميشم.

راستي اگه فكر ميكنين جايي كم توضيح دادم و يا بد نوشتم بگين تا اون بخش رو دوباره آموزش بدم.

soldier
05-08-2006, 16:45
پست 40

اين ها رو قرار بوده بزاري

جزئيات ساخت ديتابيس يا لينك كردن با دلفي يا ساخت برنامه با دلفي؟


پست 18

دیتا سورست به تیبل لینک هست؟
توی تیبل فایلو معرفی کردی؟
اين هم از اون كه دنبالش بودي

soldier
05-08-2006, 16:47
سلام
تا حدودی مشکلاتم حل شده
حتی اون مشکلی که توی پست 15 بهت گفتم
اما وقتی می خواهم یک FieldName رو تعیین کنم
این ارر رو میده : Table does not exist.
مشکلش چیه؟

مرد مباح
05-08-2006, 20:49
لطف كن و نوع ديتابيسي هم كه كار ميكني بنويس تا بدونم چي بگم.

hp1361
05-08-2006, 21:10
سلام

دوست عزيز من يه جدول پارادوكس دارم كه مي خواهم بر روي اون ----- اعمال كنم

ميخواهم از اطلاعات جدول بعد از ----- شدن پرينت بگيرم ( يعني اينكه تنها اون اطلاعاتي كه من محدودشان مي كنم پرينت بشن )

با استفاده از setrang اين كار رو كردم اما موضوع اينه كه من دوبار ----- رو مي خواهم اعمال كنم

من دو تا فيلد دارم 1- فيلد تاريخ 2- فيلد شماره

اول بر اساس تاريخ ( ماه ) ----- بشن و بعد هم بر اساس فيلد شماره

خيلي ضروريه لنگه لنگم

منتظرم

ممنون

مرد مباح
06-08-2006, 00:32
از كد زير براي ----- تركيبي استفاده كن.
مشكلت حل ميشه.
براي پرينت كردن هم بايد از سيستمهاي گزارش گيري استفاده كني كه فكر نكنم مشكلي داشته باشي.
اگه مشكلي بود بهم بگو تا اونم بگم.


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

اين روش براي فيلترهاي تركيبي است و براي تاريخ ايراني استفاده ميشود.
اگر تاريخ ايراني نيست ديگر علامتهاي ' رو وسط ----- نزار.

تست كن و خبرشو بهم بده.

soldier
06-08-2006, 08:24
سلام
براي طراحي ديتابيس از پارادكس استفاده كردم
برايTable Type هم ديتابيس و براي DatabaseName
از dBASE Files استفاده كردم
حالا لطف كن و مشكل رو بگو

مرد مباح
06-08-2006, 11:17
اگه يك كامپوننت Table روي فرم يا توي ديتاماژول بزاري ميتوني كارايي كه ميگم رو به ترتيب انجام بدي و مشكلت حل بشه.
1. توی بخش DataBase Name بايد اسم فايلي كه طراحي كردي رو بنويسي. اون فايلم جايي كه پروژت اونجاست كپي كن.
2. در بخش TableType نوع پارادوكس رو انتخاب كن.
3. باقي تنظيماتي كه لازم داري رو ميتوني به صورت اختياري انجام بدي و توي درسهاي اوليه گفتم. ولي اجباري نيستند.
4. اين جدول رو به يك DataSource لينك كن.
5. از كامپوننتهايي كه براي خواندن و نوشتن روي ديتابيس هست استفاده كن. مثل DBEdit,DbText,DBGride و ...

موفق باشي.

hp1361
06-08-2006, 19:04
سلام

مرد مباح عزيز اين كاري رو كه گفتي كردم اما ارور داد

من دو تا فيلد تو جدولم دارم به نام month براي ماه كه بصورت ( فروردين و ارديبهشت و خرداد و ... ) هست و ديگري

klbrgnum كه شماره در اون ذخيره ميشه حالا من مي خواهم جدولم رو بر اساس اين دو تا ----- كنم با توجه به اينكه اين ماه و شماره از طرف كاربر بوسيله يه اديت و يه كومبو باكس صورت مي گيره

دستوري كه شما گفتيد و نوشتم به اين صورت

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

اروري هم كه ميده اينه
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]

ممنون و منتظرم ضروري

مرد مباح
06-08-2006, 20:24
بايد به اين صورت بنويسي:


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

بعد از تست جوابشو حتما بزار.
اين كد بايد جواب بده.

soldier
06-08-2006, 20:53
سلام
وقتش رسيده فرمان بگي
يعني فرمان هايي كه براي ديتا بيس بكار ميرن
منتظريم

hp1361
06-08-2006, 21:24
سلام

مرد مباح عزيز

ديگه ارور نميده اما تو صفحه پرينت هيچ چيزي نمياد

يه سوالي برام پيش اومد . من وقتي كه از setrange استفاده ميكنم گويي فقط تمام اون فيلد هايي كه با شرط من صدق ميكنه توي جدول من هستند و بقيه قابل ديدن نيستند بنابر اين من ميتونم دستور بدم كه از تمام محتويات جدول پرينت بگيره و بعدش هم دستور setrange رو كنسل ميكنم

حالا ايا اين ----- كردن هم همين كار رو مي كنه ؟

اگه نه پس بي خيال اين روش بشم

ممنون و منتظرم ضروري

مرد مباح
07-08-2006, 08:53
دقيقا همين كارو انجام ميده.
براي غير فعال كردن هم ميشه از يكي از كدهاي زير استفاده كرد.

البته ميكين چيزي نشون نميده دليلش اينه كه فيلد يا فيلدهايي با اون مشخصات توي ديتابيس وجود نداره.


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

مرد مباح
07-08-2006, 09:57
طبق تقاضاي دوستان چندتا از فرمانهاي مهم توي ديتابيس رو مينويسم.
1. Filter يكي از مهمترين و ساده ترين دستوراتي است كه در ديتابيسها باهاش سروكار داريم.
كارش مشخصه و توي چند پست قبلي دربارش صحبت شد.
2. Findfirst كه بعد از اينكه فيلتري براي يافتن اولين ركورد با مشخصاتي كه توي ----- هست استفاده ميشه.
3. findnext , FindPrior , FindLast هم مشابه بالا هستند ولي از اسمشون معلومه كه چه كارايي ميكنن.

چند كد معمول براي تغييراتي كه روي ديتابيس اعمال ميشه كه اونا رو هم مينويسم.
1. Edit كه وقتي قراره به صورت كدي محتويات ديتابيس تغيير كنه استفاده ميشه.
2. Append , Insert كه براي ايجاد يك ركورد جديد و وردو اطلاعات استفاده ميشن كه البته اولي هر جايي كه ركورد باشه يك ركورد خالي باز ميكنه و دومي در انتهاي جدولتون.
3. Delete كه براي پاك كردن ركورد جاري استفاده ميشه.
4. Post,ApplyUpdates كه براي ارسال و ذخيره تغييرات اعمالي در ديتابيس استفاده ميشن كه تفاوتشون هم در CatchUpdate است.

دوستان اگه كاري يا سوالي براتون پيش اومد خبر بدين

soldier
07-08-2006, 10:48
سلام
من هنوز نخوندم اما اين دستورات را روي كدوم كمپننت
بنويسيم؟

مرد مباح
07-08-2006, 12:54
همه اين دستورات مربوط به Table است.
البته توي DataSet,Quary و ... هم مشترك است.

تقريبا تملم ديتا اكسس ها اين فرامين رو ساپورت ميكنن.

مرد مباح
09-08-2006, 10:27
چند تا از دوستان در مورد SQL و لينك اون مشكلاتي داشتند كه من يك توضيح مختصر دربارش ميدم.
1. بايد از ADOConnection استفاده كرد و درايور SQL رو انتخاب كرد.
2. مراخلي كه براي كانلت كردن ديتابيس اكسس توي پست شماره 48 گفته شده و توي پست 63 اطلاعات تكميلي براش رار داده شده استفاده كنيد.

استفاده كنيد و خبرشو بهم بدين

roonak2006
09-08-2006, 11:19
دوست عزيز من يك ديتابيس در اس كيو ال دارم كه كه يك تيبل با دو فيلد دارد ميخواهم در دلفي اين تيبل را براي من بياورد. امكانش هست كه توضيح كامل بدين.در واقع يك ديكشنري هست. من در كامپوننت data access , data source دارم ولی table ندارم.

مرد مباح
09-08-2006, 11:37
توي ADO Tab بايد بري. و بايد از DataSet استفاده كني.
تيبل براي ديتابيسهاي تك جدوله استفاده ميشه براي اكسس و SQL بايد از بخش ADO و Dataset استفاده كني.

توضيحات بيشتر هم در پست قبليم دادم.

roonak2006
10-08-2006, 08:13
سلام دوستان.
درس جدید : دیتابیسهای چند جدوله.
نمونه بارز برای ساخت چنین جدولی اکسس و اس کیو ال است.
در این نرم افزارها چند جدول در یک فایل قرار میکیرند.
برای دسترسی به این جدولها دو مرحله وجود دارد.
1. مرحله اتصال دیتابیس به دلفی.
2. مرحله تفکیک جدولها و استفاده از آنها.
در مرحله 1 از کامپوننتهای ADO استفاده میشود و مهمترین این کامپوننتها ADOConnection است.
این کامپوننت برای اتصال استفاده می شود و برای ایجادارتباط باید روی کامپوننت دبل کلیک کنید و صفحه ای باز میشود که در جلوی بخش Connection String یک دکمه Build وجود دارد که به وسیله آن ابزار ارتباطی انتخاب میشود.
در مرحله دوم از ADODataSet استفاده میگردد. که در آن نامه ADO که روی صفحه قرار داده شده انتخاب میگردد و در يكي از بخشهاش ميتونين به كمك خود دلفي فيلدهاي مورد نظر خودتون رو انتخاب كنيد.

باقی مراحل توسط بخش DataControl صورت میگیرد که قبلا درباره آن توضیح داده شده.
برای دلفی Table که در بخش BDE است ویا ADOTable که طریقه استفاده از آن توضیح داده شد، مشابهند و کار با آنها یکسان میباشد.
دوست عزيز سلام
ممكنه تنظيمات ADODataSet را بفرماييد.

soldier
10-08-2006, 10:22
سلام
مباح جون لطفآ يه كاري كن
دستور اينكه چطوري يه ركورد اضافه كنيم
و چطوري اطلاعات رو ذخيره كنيم رو بگو
منتظرم

مرد مباح
10-08-2006, 11:13
دوست عزيز سلام
ممكنه تنظيمات ADODataSet را بفرماييد.

منظور شما از تنظيمات چيه؟

يك سري توضيحات درباره تنظيمات همه نوع ديتاست دادم كه فكر كنم 7-8 تا پست قبلتر باشه.
اگه برات كافي نيست سوالتو درست بپرس تا بدونم دقيقا چي ميخواي.

مرد مباح
10-08-2006, 12:19
سلام
مباح جون لطفآ يه كاري كن
دستور اينكه چطوري يه ركورد اضافه كنيم
و چطوري اطلاعات رو ذخيره كنيم رو بگو
منتظرم


رفيق. من مراحل كاري رو توي 3 پست قبلتر دادم ولي. چشم.

1. بايد از فرمان زير براي اضافه كردن استفاده كني.
البته اين پيش فرز كه تمام لينكهايي كه قبلا گفتم رو انجام داده باشي.


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

2. از فرمان زير براي 1ر كردن مقاديري كه توي ديتابيس قرار ميگيره استفاده كن.


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

البته اگه جنس فيلد عدد باشه بايد تبديل كني به مقدار عددي.
در ضمن ميتوني از DBEdit هم استفاده كني.
ولي من حالت پيشرفشو برات نوشتم.

3. براي انتقال به ديتابيس و در واقع ذخيره اطلاعات از فرمان زير استفاده كن

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

البته اين كدها درباره همه نوع ديتابيسي جواب ميده ولي من براي DataSet نوشتم كه براي كاراي اينترنتي هم استفاده ميشه و با اكسس لينك ميشه.

موفق باشيد وخبرشو بهم بديد.

soldier
10-08-2006, 16:42
سلام
اي بابا همون دستو اول براي ايجاد يك ركورد خطا مي گيره
Table1: Cannot perform this operation on a closed dataset.
اين هم از ارر كه از تيبل ميگيره!
در ضمن از همون دستور فيلد وليو هم ارر ميگيره
يه ديتابيس خواستيم بسازيم شد انبار ارر!
راستي ذخيره كردن ديتابيس را در يك فايل رو هم بگو

مرد مباح
10-08-2006, 21:15
خوب دو تا كار ميتوني بكني.
ميتوني توي كامپوننت بري و خاصيت Active رو true كني و كار معمولتر اينه كه توي كد وقتي لازم داري اونو اكتيو كني.

hp1361
10-08-2006, 21:41
سلام

سوال: من توي يه صفحه از فرمم از dbgrid براي يه جدول پارادوكس استفاده مي كنم

حالا مي خواهم جدولم رو بر روي همون dbgrid بر روي فرم ويرايش كنم و بازدن اينتر تغييرات ذخيره بشه

مثل excel كه با زدن اينتر ذخيره مي كنه و با زدن اسكپ ذخيره نميشه

ممنون و منتظرم

مرد مباح
11-08-2006, 19:33
بايد توي بخش OnKeyPress كد زير رو بنويس :


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

hp1361
11-08-2006, 20:28
سلام

دستت درد نكنه . براي كنسل كردن ذخيره چه كدي رو بنويسم اصلان بعد از اينكه من اينتر رو زدم و ذخيره كردم ميشه ذخيره رو كنسل كرد

ديگه اينكه اسم ستون ها بالاي dbgrid هست چطور اونارو ناپديد كنم و يه سر ستون ديگه بزارم و يا اينكه اونا رو تغيير بدم(البته تغيير توي اصل جدول نباشه ها فقط سر ستون )

ممنون و منتظرم

مرد مباح
12-08-2006, 11:36
بعد از اون كد يعني زدن هينتر نميتوني ديگه برگردوني به حالت قبلي.
روي DBGrid دبل كليك كليك كن و بعد هم فيلد ادد كن و بعد هم اسم رو مشخص كن.
قبلا تاينارو توضيح داده بودم توي درسهاي اول.

hp1361
12-08-2006, 18:20
مغسي و ممنون

roonak2006
13-08-2006, 11:54
از راهنماييتون ممنون ولي من دوباره به مشكل برخوردم.
من یک ADOconnection روی فرم گذاشتم و ظاهرا پیغام می دهد که تست کانکشن با موفقیت انجام شد.
بعد از آن یک ADO dataset گذاشتم که برای آن هم همین پیغام را داد مشکل این است که 1- در هیچ یک از این مراحل نام جدولم را نپرسید و فقط نام دیتابیس را پرسید . 2- وقتی می خواهم مشخصه Active را از حالت false به True تبدیل کنم این پیغام خطا را می دهد:
ADODataset1: missing ComandText property.

يك سوال ديگر هم دارم: من در Data Access,کامپوننت Ttable ندارم چطوری می تونم بیارمش؟
با تشكر

roonak2006
13-08-2006, 12:08
خب من متوجه اشتباهم شدم.
من command text را مقداردهي نكرده بودم كه رفتم و نام جدولم را هم وارد كردم و حالا تونستم اكتيو را هم ترو كنم .
مشكلي كه الان دارم اينه كه حالا كه همه ابجكتهام را از تب ADO آوردم چطوري مي تونم از كامپوننت DBGrig در تب DataControl استفاده كنم چون مي خوام اطلاعات جدولم را موقع اجرا نشان بدهد؟

مرد مباح
13-08-2006, 12:54
اولا كه لازم نيست ADODataset رو مستقیما توی تست کانکشن تست کنید.
اگه ADOConnection تست كانكشن درست بود ديتاست رو به اون لينك كني بهتره.
بعد اگه از ديتا ماژول استفاده ميكني اسم فرم ديتا ماژواتو توي فرمي كه DBGride است اد كن و بعدش برو انتخاب كن.

موفق باشي.

roonak2006
13-08-2006, 13:03
من از ديتا ماژول استفاده نميكنم. ممكنه كمي بيشتر توضيح بدين؟

مرد مباح
13-08-2006, 13:41
برو پستامو از 20 تا 40 بخون.
در همين مورده.

موفق باشي.

hp1361
16-08-2006, 18:03
سلام

مرد مباح عزيز بي زحمت راهنمايي بفرمايين

من مي خواهم از ديتا بيس هاي چند جدوله استفاده كنم اما وقتي طبق راهنمايي كتاب قمي مو به مو انجام ميدم زمان اجرا ارور زير رو مي ده

[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]


اما وقتي پروايدر اون رو به مايكروسافت جت تغيير ميدم ديگه اين ارور رو نميده دليلش چيه ؟

ممنون و منتظرم

مرد مباح
16-08-2006, 21:00
من نميدونم توي كتاب قمي چي نوشته ولي ميدونم كه اين ارر براي حالتيه كه درست ----- نكني و بخواي از مقادير داخلي ديتابيس استفاده كني.
اميدوارم كمكي كرده باشم.
اگر نه حتما بگو تا بيشتر توضيح بدم.

...dta pro
17-08-2006, 04:55
مرسی میخواستم ببینم میشه دیتا بیس رو درست کرد وبعد به عنوان فایل یکجا زخیره وبعد به برنامه پاس داد

مرد مباح
17-08-2006, 11:43
ديتابيس يعني همين ديگه.
يعني ذخيره اطلاعات توي فايل.
منظور شما رو متوجه نشدم.

...dta pro
18-08-2006, 23:44
من توی data access خ table ندارم مشکل از چیه

Ali_Moradi
19-08-2006, 01:17
آقایون لطفاً اگه کسی از اساتید دبفی کار با MySQL کار کرده میتونه کمی درمورد راه اندازی ارتباط اون با دلفی کمک کنه؟

مرد مباح
19-08-2006, 12:32
اصلا شما ديتابيسي ساختيد كه انتظار داريد وجود داشته باشه؟

اگه آره بسته به نوع ديتابيستون بايد عمل كنيد.
اگه از ورژن 7 استفاده ميكنيد , بايد به جاي رفتن به ديتا اكسس به بخش Bde برن و تيبل رو انتخاب كنن.
البته اگه از ديتابيسهاي تك جدوله مثل پارادوكس استفاده ميكنن.

علي مرادي جان.
فكر كنم حواي پست 48-49 همين تاپيك بود كه در اين رابطه يك توضيحي دادم.
به اون قسمت يك سري بزن و اگه جواب نگرفتي بگو تا دوباره توضيح بدم.

موفق باشيد. حتما نتيجه كار رو بنويسيد.

roonak2006
20-08-2006, 10:11
اولا كه لازم نيست ADODataset رو مستقیما توی تست کانکشن تست کنید.
اگه ADOConnection تست كانكشن درست بود ديتاست رو به اون لينك كني بهتره.
بعد اگه از ديتا ماژول استفاده ميكني اسم فرم ديتا ماژواتو توي فرمي كه DBGride است اد كن و بعدش برو انتخاب كن.

موفق باشي.
راستي من پستهاي 20 تا 40 شما را خوندم ولي چون در اين مورد چيزي پيدا نكردم دوباره مزاحمتون شدم.
من الان همه اينها را روي يك ديتا ماژول گذاشتم و نميدونم چطوري اسم فرم ديتا ماژولم را توي فرم اصلي اد كنم.
يك سوال ديگه هم دارم :به نظرتون براي نوشتن ديكشنري از DBGride استفاده كنم به من جواب ميده؟

roonak2006
20-08-2006, 10:18
الان اضافه كردم از File|Use Unit ولي وقتي يك DBGride اضافه مي كنم و مي خوام كه data source آن را تعيين كنم چيزي نمياد كه انتخابش كنم؟؟؟

مرد مباح
20-08-2006, 13:11
الان اضافه كردم از File|Use Unit ولي وقتي يك DBGride اضافه مي كنم و مي خوام كه data source آن را تعيين كنم چيزي نمياد كه انتخابش كنم؟؟؟

بايد توي خود ديتا ماژول يك ديتاسورس هم قرار بدي و به تيبل لينك كني.
اينجوري توي اون ليست مياد.

roonak2006
20-08-2006, 13:36
خيلي ممنونم درست شد.
راستي سوال كردم به نظرتون درسته كه از DBGride استفاده كنم (براي درست كردن ديكشنري)؟

مرد مباح
20-08-2006, 16:18
خيلي ممنونم درست شد.
راستي سوال كردم به نظرتون درسته كه از DBGride استفاده كنم (براي درست كردن ديكشنري)؟

آره ميشه از DBGride استفاده كرد ولي اگه تركيب كني خيلي بهتره.
يعني هم DBGride و هم Edit كه امكان سرچ داشته باشه. چون به تنهايي يك ليست طولاني بهت ميده كه معقول نيست اين كارو بكني.

موفق باشي.

Mahmood_N
24-08-2006, 17:03
سلام مرد مباح ...
يه سئوال داشتم :
چه طوري مي شه كاري كرد كه كاربر نتونه فايلهاي بانك Access رو خودش ويرايش كنه؟ ، يعني مي خوام طوري باشه كه كاربر نتونه فايلهاي اكسس رو خودش با برنامه اكسس باز كنه و ويرايش كنه ...
مي شه فايلهاي بانك رو توي فايلهاي Resource قرار داد ؟
خلاصه اگه مي دوني حتما بهم بگو ...
در ضمن : من همه صفحات اين تاپيك رو نخوندم ، شايد توي صفحات قبلي اين موضوع رو بيان كرده باشي ... ( اگه اين طوره كه بابت پست اضافي معذرت مي خوام )
منتظرت هستم ...
موفق باشي ...

مرد مباح
24-08-2006, 17:38
نه. نميشه توي فايلهاي ريسورس قرار داد.
اگه اين كارو انجام بدي كه ديگه نميشه اسمشو ديتابيس گذاشت.
براي اين كار چندتا راه وجود داره كه يك توضيح مختصر دربارشون ميدم.
اين توضيحات از ساده به سخت نوشته شده :
1. راحتترين راه تغيير پسوند فايل است كه كسي نفهمه با اكسس كار ميكني.
2. اگه يك پروسيجر داشته باشي كه اينكود و ديكود كه ميتوني براش استفاده كني.
3. موقع خروج از برنامه فايل رو به صورت دستي باز كني و آخر فايل به صورت اسكي يك بايت اضفه كني و فايلو ببندي. و خارج بشي.
دفعه بعد هم موقع ورود به برنامه دوباره فايل رو باز كني و بايت آخر رو كه اضافه كردي حذف كني.

موفق باشي.

amin a.^2
24-08-2006, 17:52
خیلی عالی بود منم هر سوالی که داشتم می یارم اینجا واقعاً دست تو مرد مباح درد نکنه
ما همه ایرانی هستیم پس بیان به ایرانی بودنمون افتخار کنیم(اینم امضای من چون هنوز بخش خصوصیم فعال نشده)

مرد مباح
24-08-2006, 18:23
لطفا هر سوالي نباشه.
هر سوالي كه مربوط به ديتابيس باشه اينجا بزار.
نميخوام اين تاپيك موضوعش منحرف بشه.
ممنون.

Mahmood_N
25-08-2006, 04:11
سلام ...

نه. نميشه توي فايلهاي ريسورس قرار داد.
اگه اين كارو انجام بدي كه ديگه نميشه اسمشو ديتابيس گذاشت.
براي اين كار چندتا راه وجود داره كه يك توضيح مختصر دربارشون ميدم.
اين توضيحات از ساده به سخت نوشته شده :
1. راحتترين راه تغيير پسوند فايل است كه كسي نفهمه با اكسس كار ميكني.
2. اگه يك پروسيجر داشته باشي كه اينكود و ديكود كه ميتوني براش استفاده كني.
3. موقع خروج از برنامه فايل رو به صورت دستي باز كني و آخر فايل به صورت اسكي يك بايت اضفه كني و فايلو ببندي. و خارج بشي.
دفعه بعد هم موقع ورود به برنامه دوباره فايل رو باز كني و بايت آخر رو كه اضافه كردي حذف كني.
دستت درد نكنه ...
همون راه اول رو امتحان مي كنم ( يه برنامه هم ديدم كه همين كار رو مي كرد ) فوقش براي فايل پسورد مي زارم تا اگه كاربر فهميد و فايل رو باز كرد نتونه بياد تو !!!
بارم تشكر مي كنم ...
موفق باشي ...

مرد مباح
25-08-2006, 12:07
خواهش ميكنم.
اگه بازم مشكلي بود خبرم كن.
موفق باشيد

skyupper2
25-08-2006, 12:38
دوست عزیز من یه برنامه حسابداری گرفتم که هنگام ثبت سند این ارر میده "سیستم قادر به ثبت اسناد جاری نمیباشد" اما زمانی که فایل دیتابیس شو داخل اکسس باز میکنم و گزینه database repair که میزنم دیگه این ارر نمیاد
میشه راهنماییم کنید بگین مشکل چیه ممنون

مرد مباح
25-08-2006, 12:55
1. بسته به كدهاي برنامه نويسي كه استفاده كرده داره.
اگه با دلفي بوده اختمالا اندازه كچ رو كم گذاشته كه اينجوري ميشه.
بستگي به برنامه داره و هيچ حكم كلي نميتونم بگم.
خودتون نوشتين؟
با دلفي نوشتين؟

skyupper2
25-08-2006, 22:32
نه به یک نفر برنامه نویس سفارش دادیم با خواسته های ما نوشته از کجا میشه فهمید با چه برنامه ای نوشته

مرد مباح
25-08-2006, 23:52
بايد از برنامه نويسش بپرسين.
حداقل من راه ديگه اي نميدونم.
اينم مشكل برنامه است نه اكسس. با برنامه نويس صحبت كنيد.
راستي ميشه بگيد چقدر دادين تا اين برنامه رو براتون بنويسه؟

skyupper2
26-08-2006, 21:45
50000 تومان سال 1375 تحت داس
175000 تومان سال 1381 تحت ویندوز پارسا 99
خود برنامه نویس هم داره این برنامرو تحت ویندوز اکس پی مینویسه تا وارده بازار کنه

مرد مباح
27-08-2006, 12:57
موفق باشيد.

hha_arana
28-08-2006, 12:44
با سلام لطفا به من بگویید چگونه می توان تمام اطلاعات درج شده در دیتابیس را در خود Table ذخیره کرد نه در بافر تا بدون خارج شدن کامل از نرم افزار اطلاعات آنان در Table نوشته شود
با تشکر کوچک شما :rolleye:

مرد مباح
28-08-2006, 13:03
اصلا جدولي طراحي كردي يا نه؟
اگه آره اطلاعاتي كه توي ركوردي كه توي دلفي درست كردي رو ميتوني مستقيم بريزي توش.
سوالتو واضحتر بپرس تا جواب دقيقتري بگيري.
اين سوالات هم توي بخش ديتابيس بزار. اينجا جاي مناسبي نيست.
سوال بعدي خودتو اونجا بپرس و ادامه بده.
ممنون.

amir_dpr
28-08-2006, 22:14
سلام خدمت دوستان
مي خواستم بدونم چه جوري ميشه عكس مكاني را در database ذخيره كرد لطفا كامل توضيح دهيد ممنون ميشم

مرد مباح
28-08-2006, 22:33
توي بخش كروكي هم توضيح دادم.
برو ص1 درس شماره 4.
موفق باشي.

hp1361
01-09-2006, 16:31
سلام

دوستان يكي اين روش ----- گذاري رو كامل براي من توضيح بده لطفا

ايا ----- كردن فيلد هاي عددي با فيلد هاي كاراكتري (تكست) با هم فرق داره يا نه

من هركاري مي كنم ارور ميده . نگين كه من كد ها رو بنويسم . خودتون اينجا درستش رو براي فيلد فرضي بنويسين

راستي من مي خواهم كه با اديت باكس و زخئذخذخط ----- كنم

ممنون و منتظرم

Mahmood_N
01-09-2006, 18:33
سلام

سلام

دوستان يكي اين روش ----- گذاري رو كامل براي من توضيح بده لطفا

ايا ----- كردن فيلد هاي عددي با فيلد هاي كاراكتري (تكست) با هم فرق داره يا نه

من هركاري مي كنم ارور ميده . نگين كه من كد ها رو بنويسم . خودتون اينجا درستش رو براي فيلد فرضي بنويسين

راستي من مي خواهم كه با اديت باكس و زخئذخذخط ----- كنم

ممنون و منتظرم
اول شما بگيد كه ----- رو بر اساس چي و توي چه نوع بانكي مي خوايد انجام بديد ...
اين جوري ما هم بهتر مي تونيم جواب بديم ...
موفق باشي ...

مرد مباح
01-09-2006, 18:56
ممنونم از محمود جان كه اين توضيحو دادند.
اگه كاري كه محمود جان گفتند انجام بديد عالي ميشه.
وگرنه بايد بگم كه فيلترها متفاوتند براي حالتي كه عدد باشند يا كاراكتري و براي ----- كردن كاراكترها هم يك لم هم وجود داره.
لطفا توضيح بيشتري بدين تا جواب بهتر و تخصصيتري بهتون بدم.
ممنون.

soldier
04-09-2006, 10:45
سلام
یه دستوری مثل append نیست که بشه در سطر اول یک رکورد ایجاد کنه؟
در ضمن دستور ----- چطوري استفاده ميشه؟ يه توضيحي در موردش بده!
--------------------------------
مدتي بود كه ديتابيس رو ول كرده بودم
اما باهاش راه افتادم حسابي.
واسه همينه كه اينقدر سوال مي پرسم.
---------------------------------
منتظرم

مرد مباح
04-09-2006, 14:06
سلام رفيق
يك نيگا به پستهاي 69 و 65 بكن
اگه مشكلت حل نشد خبرم كن.

موفق باشي.

hp1361
04-09-2006, 16:42
سلام دوباره

جدولم پارادوكسه . هم فيلد عددي دارم و هم فيلد كاراكتري

----- رو هم ميخواهم بر اساس چسزي كه كاربر در اديت باكس و كومبو باكس وارد ميكنه اعمال كنم

ممنون

soldier
04-09-2006, 17:35
سلام
خوب مشكلم حل شد! فقط يه دستور بده كه مثل append
عمل کنه! اما به جای اینکه در آخر جدول یک رکورد ایجاد کنه
در هر جایی که خواستیم رکورد ایجاد کنه مثل این دستور که روی لیست باکس انجام میشه
ListBox1.Items.Insert(1,'Azmaesh');
حالا یه دستور مثل این میخواهم! که فقط یک
رکورد خالی در هر سطری که خواستیم ایجاد کنه!

مرد مباح
04-09-2006, 17:53
سولجر جان
براي كار شما بايد از فرمان Insert استفاده كني در ابتداي ديتابيس

اچ پي جان
توي پست 123 مثال و كاركرد اين فرمانو لينكشو دادم.
برو چك كن و اگه نتيجه نگرفتي خبرم كن

soldier
04-09-2006, 23:50
سلام
خوب همين دستور اينسرت باز هم در اخر ليست ركورد ايجاد مي كنه!
چيكار كنم كه به اول ليست اضافه بشه؟

soldier
05-09-2006, 08:07
سلام مردمباح
اين دستور insert مثل append ! هست!
يعني همون آخر جدول يك ركورد اضافه مي كنه!
چي كار كنم كه يك روكورد اول جدول بسازه؟!

مرد مباح
05-09-2006, 17:14
سولجر جان.
اگه ميخواي كه دقيقا اول ايجاد كنه بايد First باشي.
كار اينسرت اضافه كردن يك ركورد قبل از ركوردي كه الان فعال هست ميباشد.
يعني اگه EOF باشي آخر جدول اضافه ميكنه.

موفق باشي.

soldier
05-09-2006, 18:11
سلام
من دستور First رو می نویسم! اما فایده نداره(باز همون آخر میاد)
در ضمن من نمی دونم EOF چیه !
منتظرم تا بگی ببینیم مشکل از کجاست

...dta pro
17-09-2006, 03:28
سلام
1.چجوری میشه وسط برنامه یک فیلد به جدول اضافه کرد؟
2.فیلد دف با فیلد چه فرقی داره؟
3.وقتی چند تا فید مختلف داری چجوری میشه مشخس کرد به کدام فیلد میخواهی رکورد اضافه کنی؟
کدی بدون عناصر

soldier
17-09-2006, 11:11
3.وقتی چند تا فید مختلف داری چجوری میشه مشخس کرد به کدام فیلد میخواهی رکورد اضافه کنی؟

يك دستور وجود داره كه براي تمامي فيلد ها ركورد ايجاد مي كنه
و دستورش هم اينه :

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

امکان نداره که بتونی واسه یک فیلد رکورد ایجاد کنی.

مرد مباح
17-09-2006, 16:58
لطفا سوالتو دقيقتر بپرس.
خيلي گنگ هست.
سولجر جان هم حق دارند.
اصلا اين امكان براي هيچ ديتابيسي معني نداره.

soldier
17-09-2006, 17:49
سلام
مرد مباح. حرفت درست. اما در مورد اين يكي يه چيزايي مي توني بگي :)

2.فیلد دف با فیلد چه فرقی داره؟

اگر مي دوني بگو ما هم بدونيم :)
باي

مرد مباح
17-09-2006, 19:46
من نمیدونم منظور از فیلد دف چیه ؟
یک توضیح بده تا جوابشو بهت بدم.
ممنون

soldier
17-09-2006, 20:00
سلام
منظور اينه :

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

soldier
17-09-2006, 23:52
سلام
یه مشکلی هست که اصلآ حل نمیشه.
وقتی که از فیلتر استفاده می کنیم. و دستور FindNext رو میدیم
اونموقع اگر رکوردی پیدا نکرد و می خواستیم از FieldValue استفاده کنیم
ارر میگیره. واسه اینکه ارر نگیره چی کار کنم؟

...dta pro
18-09-2006, 03:47
يك دستور وجود داره كه براي تمامي فيلد ها ركورد ايجاد مي كنه
و دستورش هم اينه :

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

امکان نداره که بتونی واسه یک فیلد رکورد ایجاد کنی.
اینو خودم می دونم نمیشه
چون مشخص نکردی برای کدام فیلد

...dta pro
18-09-2006, 03:59
یک نگاهی به قسمت سمت چپ بالا پروپرتی بیاندازید هنگامی که تیبل در فرم وجود دارد
فیلد دف همون قسمتی هست که وقتی ادرس دیتا بیس را میدهید فیلدهای تعریف شده را نشان میدهد
اما فیلد؟؟؟؟؟؟؟؟؟؟؟؟

مرد مباح
18-09-2006, 13:06
سلام
یه مشکلی هست که اصلآ حل نمیشه.
وقتی که از فیلتر استفاده می کنیم. و دستور FindNext رو میدیم
اونموقع اگر رکوردی پیدا نکرد و می خواستیم از FieldValue استفاده کنیم
ارر میگیره. واسه اینکه ارر نگیره چی کار کنم؟

بايد EOF رو چك كني و بعد از اين فرمان استفاده كن.
خبرشو همينجا بزار.

مرد مباح
18-09-2006, 13:29
یک نگاهی به قسمت سمت چپ بالا پروپرتی بیاندازید هنگامی که تیبل در فرم وجود دارد
فیلد دف همون قسمتی هست که وقتی ادرس دیتا بیس را میدهید فیلدهای تعریف شده را نشان میدهد
اما فیلد؟؟؟؟؟؟؟؟؟؟؟؟

رفيق.
جواب شما رو فراموش نكردم. چون فعلا به دلفي دسترسي ندارم صبر كنيد تا عصر جواب رو بهتون ميدم.
مي خوام جواب رو مطمئن بهتون بدم

مرد مباح
18-09-2006, 20:50
رفيق.
من با فيلددف تا حالا كار نكردم.
ولي از ساختارش ميتونم بگم كه يك نوع طراح ديتابيس هست.
ولي نميدونم چطوري كار ميكنه.
ولي درباره فيلد بايد بگم كه به اطلاعاتي كه توي ديتابيس داري لينك هست و براي وقتيه كه با همه فيلدهاي يك جدول كار نداري.

موفق باشي.

...dta pro
19-09-2006, 02:59
رفيق.
من با فيلددف تا حالا كار نكردم.
ولي از ساختارش ميتونم بگم كه يك نوع طراح ديتابيس هست.
ولي نميدونم چطوري كار ميكنه.
ولي درباره فيلد بايد بگم كه به اطلاعاتي كه توي ديتابيس داري لينك هست و براي وقتيه كه با همه فيلدهاي يك جدول كار نداري.

موفق باشي.
ببخشید دوست عزیز
شما چجوری یک دیتا بیس مسازید و وقتی که ساختید اصولا توی کدام قسمت فیلها ی شما نمایش داده میشوند؟!
FieldDefs
یا
Field

مرد مباح
19-09-2006, 09:53
ديتابيس رو با برنامه هاي ديگه مثل اكسس ميسازم و توي دلفي لينك ميكنم.
فيلدها در حالت عادي توي هيچ كدوم نميان.
اگه توي بخش فيلد اضافه رو بزني يعني ميخواي تيبلت محدود بشه.
توي اين حالت ميتوني اسم فيلدهاتو انتخاب كني.

...dta pro
19-09-2006, 15:46
ديتابيس رو با برنامه هاي ديگه مثل اكسس ميسازم و توي دلفي لينك ميكنم.
فيلدها در حالت عادي توي هيچ كدوم نميان.
اگه توي بخش فيلد اضافه رو بزني يعني ميخواي تيبلت محدود بشه.
توي اين حالت ميتوني اسم فيلدهاتو انتخاب كني.
اگه ناراحت نمیشی کارت کاملا اشتباهه
باز اگه ناراحت نمیشی بگو بهت یاد بدم

...dta pro
19-09-2006, 15:51
ديتابيس رو با برنامه هاي ديگه مثل اكسس ميسازم و توي دلفي لينك ميكنم.
فيلدها در حالت عادي توي هيچ كدوم نميان.
اگه توي بخش فيلد اضافه رو بزني يعني ميخواي تيبلت محدود بشه.
توي اين حالت ميتوني اسم فيلدهاتو انتخاب كني.
نمیخوام بگم کارت اشتبا هه ولی اصلا راهش این نیست

مرد مباح
19-09-2006, 18:28
خوشحال ميشم.
توضيح بده تا من هم بدونم.

...dta pro
19-09-2006, 22:40
میخوای توی یک تایپیک کامل بنویسم چون مفصل هست

soldier
20-09-2006, 15:05
بايد Eof رو چك كني و بعد از اين فرمان استفاده كن.
خبرشو همينجا بزار.

هنوز تست نكردم. (3 روز مشكل اينترنت داشتم حالا تازه ديدمش)
حتمآ بهت خبر ميدم.
فعلآ باي

Admiral
20-09-2006, 17:46
سلام من داشتم مباحث رو دنبال می کردم.

اما توی پلت DataAccess عنصر Table و .... وجود نداشت! فقط DataSource و ClientDataSet و DataSetProvide و XML Transform و ... بود !

من از دلفی 7 ورژن 2002 استفاده میکنم.

آیا مشکل از نسخه دلفی منه ؟

ممنون

soldier
20-09-2006, 21:29
سلام مردمباح
جواب گرفتم. یعنی کار کرد. مشکلم حل شد.
فقط این رو بگم که اگر کسی این مشکل رو داشت. با این مشکلش حل بشه.(خودم که اینطوری مشکلم حل شد)
اول کد رو داشته باشید. توضیح بعد از کد .

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
توضیح : مثلآ وقتی با دستور FindNext به رکورد دیگه ای رفتید.
و میخواهید با اون رکورد کار کنید. باید قبلش یک شرط بزارید که اگر این رکورد مشکلی نداشت.
بعد کارها رو انجام بده. که با این دستور بالا چک میشه. بعد از این دستور یک begin بزارید و بقیه کارها رو بعد
از این انجام بدید. و بعد از کارها یک end بزارید.
این مشکل هم از اینه که اگر رکوردی پیدا نکرد . یک رکوردی که وجود نداره. رو انتخاب می کنه. پس اون رکورد که وجود نداره. خالی هست
و اینطوری مشکل ایجاد میشه.
امیدوارم که مفید باشه و بدرد بخوره.
از مرد مباح هم تشکر می کنم.
موفق باشید . بای

...dta pro
21-09-2006, 02:24
سلام من داشتم مباحث رو دنبال می کردم.

اما توی پلت DataAccess عنصر Table و .... وجود نداشت! فقط DataSource و ClientDataSet و DataSetProvide و XML Transform و ... بود !

من از دلفی 7 ورژن 2002 استفاده میکنم.

آیا مشکل از نسخه دلفی منه ؟

ممنون
دوست عزیز table توی bde هست

Mahmood_N
21-09-2006, 03:22
سلام

نمیخوام بگم کارت اشتبا هه ولی اصلا راهش این نیست

اگه ناراحت نمیشی کارت کاملا اشتباهه
باز اگه ناراحت نمیشی بگو بهت یاد بدم
دوست من ، لطفا اول از درستي اطلاعاتي كه داري مطمئن شو و بعد اين حرفها رو بزن ...
دوست عزيزمون ( مرد مباح ) توي كار با ديتابيس خيلي با تجربه هستن و فكر كنم كه از همه توي اين تالار بيشتر بلد باشن ( البته همه رو نمي دونم ولي من و شما آره ، بيشتر بلدن )
در مورد خصوصيت FieldDefs هم باید بگم که :
هر کدوم از بانکهای اطلاعاتی یا پیوند دهنده ها ( مثل ADO یا ClientDataSet ) خودشون هم این امکان رو به شما می دن که بتونید فیلد بسازید ولی معایب خاص خودشون رو دارن ...
مهمترین معایبشون :
1. سرعت پایین
2. نمی شه رکوردهای زیاد ثبت کرد و ...
ولی استفاده از بانکهایی مثل اکسس یا SQL این مشکلات رو حل می کنه ...
اون چیزی هم که شما می خواید یاد بدید احتمالا ساخت بانک با BDE هستش ( Borland DataBase Engine ) ...
این بانک توی خود دلفی قرار داره و یکی از خوبیهایی که داره اینه که سرعت بالایی داره ولی باز اشکالات خاص خودش رو داره ...
یکی از بدیهاش اینه که برای اجرای برنامه باید موتور BDE توی کامپوتر کاربر نصب بشه ...
خلاصه هر بانک اطلاعاتی ای هم که بیاد می شه توش اشکال پیدا کرد ( یعنی یه نیازی واسه ما پیش میاد که اون حل نکنه )
احتمالا شما کار با این بانک رو از توی کتاب آموزش دلفی خوندی ولی بدون که کسی که می خواد برنامه های تجاری بنویسه و پروژه تحویل بگیره خیلی کمتر سراغ این بانکها می ره و بیشتر از SQL یا Access استفاده می کنه ...
به نظر من تا الآن بهترین بانک اطلاعاتی DBISAM هستش که قدرت فوق العاده ای داره ...
امکانات فوق العاده :
1. به هیچ فایلی نیاز نداره ...
2. زبان فارسی و Sort فارسی رو کاملا پشتیبانی می کنه ...
3. با تاریخ شمسی هیچ مشکلی نداره ...
4 . و ...
امیدوارم برات مفید باشه ...
موفق باشی ...

...dta pro
21-09-2006, 03:40
سلام


دوست من ، لطفا اول از درستي اطلاعاتي كه داري مطمئن شو و بعد اين حرفها رو بزن ...
دوست عزيزمون ( مرد مباح ) توي كار با ديتابيس خيلي با تجربه هستن و فكر كنم كه از همه توي اين تالار بيشتر بلد باشن ( البته همه رو نمي دونم ولي من و شما آره ، بيشتر بلدن )
در مورد خصوصيت FieldDefs هم باید بگم که :
هر کدوم از بانکهای اطلاعاتی یا پیوند دهنده ها ( مثل ADO یا ClientDataSet ) خودشون هم این امکان رو به شما می دن که بتونید فیلد بسازید ولی معایب خاص خودشون رو دارن ...
مهمترین معایبشون :
1. سرعت پایین
2. نمی شه رکوردهای زیاد ثبت کرد و ...
ولی استفاده از بانکهایی مثل اکسس یا SQL این مشکلات رو حل می کنه ...
اون چیزی هم که شما می خواید یاد بدید احتمالا ساخت بانک با BDE هستش ( Borland DataBase Engine ) ...
این بانک توی خود دلفی قرار داره و یکی از خوبیهایی که داره اینه که سرعت بالایی داره ولی باز اشکالات خاص خودش رو داره ...
یکی از بدیهاش اینه که برای اجرای برنامه باید موتور BDE توی کامپوتر کاربر نصب بشه ...
خلاصه هر بانک اطلاعاتی ای هم که بیاد می شه توش اشکال پیدا کرد ( یعنی یه نیازی واسه ما پیش میاد که اون حل نکنه )
احتمالا شما کار با این بانک رو از توی کتاب آموزش دلفی خوندی ولی بدون که کسی که می خواد برنامه های تجاری بنویسه و پروژه تحویل بگیره خیلی کمتر سراغ این بانکها می ره و بیشتر از SQL یا Access استفاده می کنه ...
به نظر من تا الآن بهترین بانک اطلاعاتی DBISAM هستش که قدرت فوق العاده ای داره ...
امکانات فوق العاده :
1. به هیچ فایلی نیاز نداره ...
2. زبان فارسی و Sort فارسی رو کاملا پشتیبانی می کنه ...
3. با تاریخ شمسی هیچ مشکلی نداره ...
4 . و ...
امیدوارم برات مفید
باشه ...
موفق باشی ...
دوست عزیز ado همین طور که گفتی مخصوص بانکهای اطلاعاتی هست که برای دیتا بیس دلفی نا شناخته هست

من 17 سالمه ولی اونجایی که اطلاع دارم هیچ کس نمیره دیتا بیس اصلی دلفی ول کنه و به اکسس بچسبه در مورد

اس کیو ال هم چون که چیزی نمیدونم نظر نمیدم ولی اینو خوب میدونم که پارادوکس یکی از امنیتی ترین و پر

سرعت ترین دیتا بیسها است این رو خودم دیدم که یکی از برنامه های ثبت امنیتی رو با پاراداکس نوشتن

در زمن من اصلا قسد توهین یا خراب کردن مرد مباح رو نداشتم و نخواهم داشت خودشون این رو خیلی خوب میدونن

دوست عزیز شما هم این قدر زود جوش نیارید :blush: :biggrin:

Mahmood_N
21-09-2006, 03:54
سلام
بابا من که جوش نیاوردم ، چرا می زنی ...

دوست عزیز ado همین طور که گفتی مخصوص بانکهای اطلاعاتی هست که برای دیتا بیس دلفی نا شناخته هست
منظورت از ناشناخته چیه ؟
اگه دلفی این امکان رو برای کاربرانش نزاره که از بانکهای دیگه استفاده کنن که ارزشش خیلی میاد پایین ...
نکته مهم :

ولی اینو خوب میدونم که پارادوکس یکی از امنیتی ترین و پر

سرعت ترین دیتا بیسها است این رو خودم دیدم که یکی از برنامه های ثبت امنیتی رو با پاراداکس نوشتن
با این یکی کاملا مخالفم ...
بدترین بانک اطلاعاتی همین پارادکس هست ...
با اگه از BDE استفاده کنید خیلی بهتره ...
یکی از بدیهای پارادکس برخلاف گفته شما سرعت پایین اون هست ، همچنین موقع زیاد بودن رکودها کم میاره ، و مهم ترین بدی اون اینه که اگه موقع موقع کار با بانک برق بره تمام اطلاعات پاک می شه ...
این فقط نظر من نیست ، من از خیلی از برنامه نویسهای با تجربه سئوال کردم و اونها هم همین جوابها رو به من دادن ...

من 17 سالمه ولی اونجایی که اطلاع دارم هیچ کس نمیره دیتا بیس اصلی دلفی ول منه و به اکسس بچسبه در مورد
اس کیو ال هم چون که چیزی نمیدونم نظر نمیدم
برای برنامه نویسی و یاد گیری سن ملاک نیست ، اکثر بچه های این فروم از جمله خودم کم سن هستند ...
شما دلیلتون واسه این حرف چیه ؟ !!
آیا برنامه نویس نیاز به سرعت و امنیت توی دیتابیسش نداره ...
مطمئن باشید اگه پارادکس خیلی خوب بود و خیلی طرفدار داشت کسی نمی رفت برنامه ای مثل DBISAM بنویسه و وقتش رو تلف کنه ...
در مورد SQL هم باید بگم که قویترین و سریعترین بانک اطلاعاتی هستش ...
من شخصا استفاده از پارادکس رو بهتون پیشنهاد نمی کنم ...
موفق باشید ...

mahdi bg
21-09-2006, 06:06
سلام

soldier جان


سلام
من دستور First رو می نویسم! اما فایده نداره(باز همون آخر میاد)
در ضمن من نمی دونم EOF چیه !
منتظرم تا بگی ببینیم مشکل از کجاست

وقتی که از یک پایگاه داده فیلتر می گیری یا با SQL یک دستور
انتخاب Select می نویسی چند تا رکور انخاب می شن.تا اینجاش
که چشم بسته غیب گفتیم.
اما EOF و BOF چیه
BOF یا (Begin Of File) اشاره گری که قبل از اولین رکورد قرار
می گیره و EOF یا (End Of File) اشاره گری که بعد از آخرین رکورد قرار
می گیره

یه مثال(رنگ آبی رکورد فعال)

BOF
رکورد 1
رکورد 2
رکورد 3
EOF

Table.First

BOF
رکورد 1رکورد 2
رکورد 3
EOF

Table.Next

BOF
رکورد 1
رکورد 2
رکورد 3
EOF

Table.Next

BOF
رکورد 1
رکورد 2
رکورد 3
EOF
(اطلاعات رکورد 3 رو می ده)

Table.Next

BOF
رکورد 1
رکورد 2
رکورد 3
EOF
روي EOF قرار داره یعنی اطلاعات فایل به آخر
رسیده حالا اگه از FieldByNAme یا FieldValue
استفاده کنی پیغام خطا می ده

در مورد BOF هم دقیقا همین جوریه

امیدوارم تونسته باشم مفهوم رسونده باشم.
اگه جایش نا مفهومه در خدمتم

mahdi bg
21-09-2006, 06:10
سلام

...dta proجان



سلام

3.وقتی چند تا فید مختلف داری چجوری میشه مشخس کرد به کدام فیلد میخواهی رکورد اضافه کنی؟
کدی بدون عناصر

اگه منظورت اینه که چطوری در یه رکورد چندتا فیلد خالی باشن

بهتری راه استفاده از SQL است (زبان SQL)
کد زیر رو برای اضافه کردن یه رکورد که چندتا فیلدش
خالیه


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

در مثال بالا Field3 خالی یا NULL به جدول اضافه می شه

امیدوارم تونسته باشم مفهوم رسونده باشم.
اگه جایش نا مفهومه در خدمتم

Admiral
21-09-2006, 13:23
سلام

برای دیتا بیس اکسس TableType رو چی بزارم ؟

موقع تعیین ایندکس ، خطای UnKnown DataBase میده !

...dta pro
21-09-2006, 23:45
سلام

...dta proجان




اگه منظورت اینه که چطوری در یه رکورد چندتا فیلد خالی باشن

بهتری راه استفاده از SQL است (زبان SQL)
کد زیر رو برای اضافه کردن یه رکورد که چندتا فیلدش
خالیه


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

در مثال بالا Field3 خالی یا NULL به جدول اضافه می شه

امیدوارم تونسته باشم مفهوم رسونده باشم.
اگه جایش نا مفهومه در خدمتم
نه عزیزم اولا این مشکلم حل شد
دوم اینکه منظورم این بود که
مثلا 3 تا فیلد داریم میخواهیم به فیلد شماره 2 یک رکورد با استفاده از کد اضافه کنیم
سوم خیلی ممنون از توجه شما

...dta pro
21-09-2006, 23:55
سلام
بابا من که جوش نیاوردم ، چرا می زنی ...

منظورت از ناشناخته چیه ؟
اگه دلفی این امکان رو برای کاربرانش نزاره که از بانکهای دیگه استفاده کنن که ارزشش خیلی میاد پایین ...
نکته مهم :

با این یکی کاملا مخالفم ...
بدترین بانک اطلاعاتی همین پارادکس هست ...
با اگه از BDE استفاده کنید خیلی بهتره ...
یکی از بدیهای پارادکس برخلاف گفته شما سرعت پایین اون هست ، همچنین موقع زیاد بودن رکودها کم میاره ، و مهم ترین بدی اون اینه که اگه موقع موقع کار با بانک برق بره تمام اطلاعات پاک می شه ...
این فقط نظر من نیست ، من از خیلی از برنامه نویسهای با تجربه سئوال کردم و اونها هم همین جوابها رو به من دادن ...

برای برنامه نویسی و یاد گیری سن ملاک نیست ، اکثر بچه های این فروم از جمله خودم کم سن هستند ...
شما دلیلتون واسه این حرف چیه ؟ !!
آیا برنامه نویس نیاز به سرعت و امنیت توی دیتابیسش نداره ...
مطمئن باشید اگه پارادکس خیلی خوب بود و خیلی طرفدار داشت کسی نمی رفت برنامه ای مثل DBISAM بنویسه و وقتش رو تلف کنه ...
در مورد SQL هم باید بگم که قویترین و سریعترین بانک اطلاعاتی هستش ...
من شخصا استفاده از پارادکس رو بهتون پیشنهاد نمی کنم ...
موفق باشید ...
منظور از ناشناخته دیتا بیسهای قیر از دیتا بیسهایی است که خود دلفی ابزار تولیدش را گزاشته(پارادوکس و..)

با سرعتش مخالفم اما اینو درست میگی که رکورد ها اگه زیاد باشه قات میزنه(از 10000حدودا به بالا)

از توصیه شما ممنون این کار با اس کیو ال رو دنبالش بودم وبه قدرت اون پی بردم خیلی ممنون

ولی باید بگم که روال ترین کار با دیتا بیس برای یک تازه کار کار با پارادوکس هست

و اینکه :) دوباره ممنون

مرد مباح
22-09-2006, 13:10
سلام من داشتم مباحث رو دنبال می کردم.

اما توی پلت DataAccess عنصر Table و .... وجود نداشت! فقط DataSource و ClientDataSet و DataSetProvide و XML Transform و ... بود !

من از دلفی 7 ورژن 2002 استفاده میکنم.

آیا مشکل از نسخه دلفی منه ؟

ممنون


اين چيزي كه من نوشتم تا دلفي 5 به اين صورت بود و از اون به بعد به بخش BDE منتقل شد.
ضمنا براي لينك به اكسس شما نميتوني توي BDE كار كني و بايد از ADO استفاده كني !!
موفق باشي.

rmb_ali
28-09-2006, 16:07
دوست عزيز ميشه توضيح بدي كه مثلا وقتي adoconnection و adotable و datasource رو روي datamodule گذاشتم و ارتباطاتشم درست كردم حالا اين ديتا سورس رو چه جوري به dbgrid روي فرم ارتباط بدم؟



خوب خودم كشفش كردم بايد unit رو use كني يعني از منوي فايل use unit رو بزني

amin a.^2
28-09-2006, 21:58
دوستان من یه سوال بسیار ابتدایی دارم
من یه table می سازم و اونا سیو می کنم اما وقتی ابزار table را تو فرم می ذارم و توی field editor می زنم add all fields این ارور را میده missing table name property
خواهشاً بگید چکار کنم
کم تازه کار با دیتا بیس ها رو شروع کردم

مرد مباح
29-09-2006, 09:27
دوست عزيز ميشه توضيح بدي كه مثلا وقتي adoconnection و adotable و datasource رو روي datamodule گذاشتم و ارتباطاتشم درست كردم حالا اين ديتا سورس رو چه جوري به dbgrid روي فرم ارتباط بدم؟



خوب خودم كشفش كردم بايد unit رو use كني يعني از منوي فايل use unit رو بزني

بعد از اينكه Use Unit كردي توي DBGrid يك Property به نام DataSource هست كه بايد اونو انتخاب كني و از ديتا ماژول تيبلت رو لينك كني.
بعد هم بايد table رو اكتيو كني .
حالا چه به صورت دستي و چه به صورت كد.
اينجوري تمومه.
موفق باشي.

مرد مباح
29-09-2006, 09:29
دوستان من یه سوال بسیار ابتدایی دارم
من یه table می سازم و اونا سیو می کنم اما وقتی ابزار table را تو فرم می ذارم و توی field editor می زنم add all fields این ارور را میده missing table name property
خواهشاً بگید چکار کنم
کم تازه کار با دیتا بیس ها رو شروع کردم

شما اسم تيبل رو توي Property خود Table انتخاب كنيد مشكلت حل ميشه.
موفق باشي.

amin a.^2
29-09-2006, 14:23
شما اسم تيبل رو توي Property خود Table انتخاب كنيد مشكلت حل ميشه.
موفق باشي.
با سلام propertyخودtable دیگه چیه؟ اگه منظورتون همون جایی که تو feild editorکه اون جا چیزی نیست
من که گفتم تازه کار با دیتا بیس ها رو شروع کردم

مرد مباح
29-09-2006, 18:18
رفيق
برو پست 4 رو بخون.
اوائل اين تاپيك همش آموزش هست.
موفق باشي.

amin a.^2
29-09-2006, 20:28
رفيق
برو پست 4 رو بخون.
اوائل اين تاپيك همش آموزش هست.
موفق باشي.
مرد مباح من پست 1 تا 4 را خوندم اما چیزی در مورد property پیدا نکردم
اگه میشه خودت بگو چون خیلی نیاز دارم :laughing:

مرد مباح
30-09-2006, 12:32
چشم رفيق.
در قسمت چپ دلفي يك فرم قرار دارد كه تمام ويژگي هاي يك كامپوننت رو كه انتخاب شده نشون ميده.
خود اين بخش دو تا تب داره.
1. Property
2. Events

در بخش 1 براي كامپوننت تيبل يك عنوان به نام Tablename وجود داره كه توي اون بايد اسم ديتابيسي كه درست كردي رو معرفي كني. (با آدرس)
اگه ديتابيست كنار فايل EXE باشه فقط اسم ديتابيست رو بزار.
موفق باشي.

teeiq
01-10-2006, 00:53
با سلام
من یک دفترچه تلفن با 6 فیلد نوشته ام
مشکلی دارام اینست موقعیکه با دستور زیر جستجو می کنم فقط یک رکورد را نشان می دهد و رکورد بعدی را نشان نمی دهد چکار کنم ؟

procedure TForm1.Button1Click(Sender: TObject);
label first;
begin

s:= inputbox('what','Name','');
If s = '' then exit ;
If Table1.IsEmpty then messagebox(0,pchar('bank is empty'),'alert',0);
sos:=[loPartialKey]+[loCaseInsensitive] ;
If not Table1.Locate(ss,s,sos) then messagebox(0,pchar('not found'),'alert',0);
end;

teeiq
01-10-2006, 01:37
بعد از جستجو و مشخص کردن , چطوری DBGrid1 را فیتترکنم که فقط رکوردهای جستجو شده را نشان بدهد ؟

teeiq
01-10-2006, 01:56
با سلام
من یک دفترچه تلفن با 6 فیلد نوشته ام


بعد از ساخت یک تیبل با 6 فیلد با پارادوکس و ذخیره کردن ان و ایجاد کمپونتاای زیر بر روی یک فرم


Table1: TTable;
DataSource1: TDataSource;
DBGrid1: TDBGrid;
DBNavigator1: TDBNavigator;
Button1
Label1 Label2 Label3 Label4 Label5 Label6
DBEdit1 DBEdit2 DBEdit3 DBEdit4 DBEdit5 DBEdit6


unit Unit1;


interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ExtCtrls, DBCtrls, Grids, DBGrids, Db, DBTables, StdCtrls, Mask, Menus;

type
TForm1 = class(TForm)
Table1: TTable;
DataSource1: TDataSource;
DBGrid1: TDBGrid;
DBNavigator1: TDBNavigator;
Button1: TButton;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
DBEdit1: TDBEdit;
DBEdit2: TDBEdit;
DBEdit3: TDBEdit;
DBEdit4: TDBEdit;
DBEdit5: TDBEdit;
DBEdit6: TDBEdit;

procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
s:string ;
sos:tlocateoptions;
implementation
{$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject);

begin
s:= inputbox('what','Name,'');
If s = '' then exit ;
If Table1.IsEmpty then messagebox(0,pchar('bank is empty'),'alert',0);
sos:=[loPartialKey]+[loCaseInsensitive] ;
If not Table1.Locate(ss,s,sos) then messagebox(0,pchar('not found'),'alert',0);
end;
end.


مشکلی دارام اینست موقعیکه با دستور بالا جستجو می کنم فقط یک رکورد را نشان می دهد و رکورد بعدی را نشان نمی دهد چکار کنم ؟
بعد از جستجو و مشخص کردن , چطوری دبی گرید را فیلترکنم که فقط رکوردهای جستجو شده را نشان بدهد ؟

amirtak2007
02-10-2006, 08:27
بهترین راه برایbackup گرفتن از بانک SQL Server در داخل برنامه چیه؟

مرد مباح
02-10-2006, 09:35
بعد از جستجو و مشخص کردن , چطوری DBGrid1 را فیتترکنم که فقط رکوردهای جستجو شده را نشان بدهد ؟

دوست عزيز.
در صفحات اول اين موضوع كامل توضيح داده شده.
بايد از فرمان Filter استفاده كني.
پستهاي صفحات اول رو مطالعه كن.

مرد مباح
02-10-2006, 09:37
بهترین راه برایbackup گرفتن از بانک SQL Server در داخل برنامه چیه؟

توي تاپيك ديگه اي اين صحبت انجام ميشود.
به نظر من بهترين راه كپي فايل هست.
ولي توي تاپيك ديگه كاملا تخصصي دربارش بحث شده.
موفق باشي.

amin a.^2
02-10-2006, 23:55
چشم رفيق.
در قسمت چپ دلفي يك فرم قرار دارد كه تمام ويژگي هاي يك كامپوننت رو كه انتخاب شده نشون ميده.
خود اين بخش دو تا تب داره.
1. Property
2. Events

در بخش 1 براي كامپوننت تيبل يك عنوان به نام Tablename وجود داره كه توي اون بايد اسم ديتابيسي كه درست كردي رو معرفي كني. (با آدرس)
اگه ديتابيست كنار فايل EXE باشه فقط اسم ديتابيست رو بزار.
موفق باشي.
با سلام به مرد مباح عزیز
واقعاً متاسفم که به خاطر چیز به این سادگی این قدر موضوع را کش دادم دلیلش هم این بود که من property
را با نامobject ispector می شناسم
از این به بعد باید برم و نام های قسمت های مختلف را حفظ کنم تا این قدر بقیه را کلافه نکنم
و مرد مباح واقعاً بزرگ منشی که با این همه خر بازی هیچ چیزی به من نگفتی اما و یک امای بزرگ
آن هم اینه که با اینکه نام فایل دیتا بیس را تو خاصیت table nameوارد کردم و فابل بانک اطلاعاتی
هم در کنار فایل exe
هست اما بازم در tree viewجلوی alliasعلامت سوال هست وفیلد ها وارد table نشده فکر کنم
اصلاً این کارا به من نیومده بازم می گم خیلی بزرگ منشید

teeiq
03-10-2006, 01:18
table1.filter := 'datefield = ''../../..'' and number = YourNo
سلام
از دستور بالا چطوری برای فیلتر کردن مثلا برای سه رقم اول تلفن هایی که 446 هستند استفاده کنم ؟
با تشکر

mahdi bg
03-10-2006, 04:03
سلام

teeiq عزيز


با سلام
من یک دفترچه تلفن با 6 فیلد نوشته ام


بعد از ساخت یک تیبل با 6 فیلد با پارادوکس و ذخیره کردن ان و ایجاد کمپونتاای زیر بر روی یک فرم


procedure TForm1.Button1Click(Sender: TObject);

begin
s:= inputbox('what','Name,'');
If s = '' then exit ;
If Table1.IsEmpty then messagebox(0,pchar('bank is empty'),'alert',0);
sos:=[loPartialKey]+[loCaseInsensitive] ;
If not Table1.Locate(ss,s,sos) then messagebox(0,pchar('not found'),'alert',0);
end;
end.


مشکلی دارام اینست موقعیکه با دستور بالا جستجو می کنم فقط یک رکورد را نشان می دهد و رکورد بعدی را نشان نمی دهد چکار کنم ؟
بعد از جستجو و مشخص کردن , چطوری دبی گرید را فیلترکنم که فقط رکوردهای جستجو شده را نشان بدهد ؟

بهتر به جای Locate از Filter استفاده کنی
توی پست های قبلی مرد مباح خوب توضیح دادن

به نظر من بهتر به جای Table1.IsEmpty از Table1.RecordCount استفاده کنی
خیلی بهتره(تعداد رکورد ها رو بعد از فیاتر نشون می ده)

مرد مباح
03-10-2006, 20:11
یک امای بزرگ آن هم اینه که با اینکه نام فایل دیتا بیس را تو خاصیت table nameوارد کردم و فابل بانک اطلاعاتی
هم در کنار فایل exe
هست اما بازم در tree viewجلوی alliasعلامت سوال هست وفیلد ها وارد table نشده فکر کنم
اصلاً این کارا به من نیومده بازم می گم خیلی بزرگ منشید


allias چيه ؟؟؟
شما بعد از اين كار فقط كافيه كه يك ديتاسورس كنار تيبل بزاري و بعدش يك DBGrid و اين سه رو به هم لينك كني.
براي امتحان هم بايد table/active رو ترو كني.
امتحان كن و خبرشو بده.
ممنون.

مرد مباح
03-10-2006, 20:14
table1.filter := 'datefield = ''../../..'' and number = YourNo
سلام
از دستور بالا چطوری برای فیلتر کردن مثلا برای سه رقم اول تلفن هایی که 446 هستند استفاده کنم ؟
با تشکر

سلام.
2تا شرط داره.
1. بايد جنس فيلد YourNo از جنس كاراكتر باشه و نه عدد.
2. بايد از علامت * انتهاي عدد استفاده كني مثل زير :

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

amin a.^2
05-10-2006, 14:42
با سلام
alias یه نوع دیتا بیس که زمانی هم که می خواهی دیتابیستا سیو کنی تو کامبوباکس انواع هست و تو treeview هم قبل از table
هست یعنی table زیر مجموعه ی اونه
فکر کنم بهترین راه اینه که برم و از روی آموزش های خود شما این کارو بکنم و کتاب رو ول کنم

مرد مباح
06-10-2006, 09:51
من تا جايي كه تونستم آموزشها رو كاربردي نوشتم.
همه آموزشها از كتاب گرفتم و كلي باهاشون ور رفتم و با تجربه خودم اينارو نوشتم.
امتحانش كن و خبرشو بهم بده.
ممنون.

saat8
06-10-2006, 14:45
با سلام
مباح جان آموزش هايت را حتما ادامه بده مطمىن باش بچه ها استقبال مي كنند
مرسي

saat8
06-10-2006, 14:51
با سلام
مباح جان آموزش هايت را حتما ادامه بده مطمئن باش بچه ها استقبال مي كنند
من خودم ازاين به بعد مشتري پر وپاقرص دلفيم آخه از علاقه مندان جديد دلفيم اميدوارم كه با كمك شما دوستان پيشرفت خوبي داشته باشم.
مرسي

soldier
06-10-2006, 15:00
با سلام
مباح جان آموزش هايت را حتما ادامه بده مطمىن باش بچه ها استقبال مي كنند
مرسي

تاييد

مرد مباح
06-10-2006, 20:49
ممنون دوستان.
ولي من نمي دونم چي رو بايد آموزش بدم.
تقريبا هر چيزي كه به ذهنم ميرسيد توي اين تاپيك گذاشتم.

amin a.^2
07-10-2006, 15:37
آموزش هات عالیه منم بر اساس اموزش های تو پیش میرم و میگم که جواب داد یا نه
اما فکر کنم اگه همین جوری ادامه بدی خیلی بهتره

مرد مباح
09-10-2006, 11:34
دوستان.
صفحات اول آموزش هست و بعد از اون شما كار كنيد و اگه به مشكلي خوردين اينجا سوال بزارين تا جواب بدم.
موفق باشيد.

saat8
11-10-2006, 17:20
سلام
ادامه بده حتما استفاده ميكنيم
مرسي

amin a.^2
11-10-2006, 22:08
سلام
اداممه بده حتما استفاده ميكنيم
مرسي
--------------------------------------------------------------------------------


سلام
مباح جان آموزش هايت را حتما ادامه بده مطمىن باش بچه ها استقبال مي كنند
مرسي
؟!؟!؟!؟!؟

DelphiTeacher
13-10-2006, 06:50
من يه برنامه با دلفي ساختم كه يه جول داره . در مورد ديتابيس هم اطلاعاتي دارم و در رايانه ي خودم درست كار مي كنه
حالا اون رو بردم روي يه رايانه ي ديگه اما جدول لود نمي شه مشكل چيه ؟
شايد مشكل از نام هاي مستعار باشه كه در رايانه ي طرف نيست يا ....
نمي دونم شما ميدونيد.

مرد مباح
13-10-2006, 15:36
لطفا نوع ديتابيسي كه استفاده كردي رو بنويس تا دقيق راهنماييت كنم.
منتظرم .
موفق باشي.

saat8
15-10-2006, 03:35
سلام
با تشكر از شما همچنان منتظر آموزشهاي مفيدت هستيم
مرسي

مرد مباح
15-10-2006, 10:06
ساعت8 جان من همانطور كه قبلا هم گفتم آموزشها رو تا جايي كه به ذهنم مي رسيد گذاشتم.
لطفا دوباره اين رو ننويسيد.
چون تا حالا 3 بار اين پست رو دادين.
لطفا پستهاي اوليه رو مطالعه كنيد واگه ديدين كه در مورد چيز خاصي آموزش ندادم اونو بنويسيد تا آموزش بدم (اگه بلد باشم).
وگرنه لطفا مطالعه كنيد و سوالهاتون رو بپرسين.

m_maj
23-11-2006, 09:11
با سلام خدمت همه خصوصاً مرد مباح عزیز
اینی که من میگم هیچ ربطی به دیتابیس نداره ولی چون مرد مباح خواست منم اینجا سؤالم رو مطرح می کنم.
آیا راهی برای ایجاد inputbox سفارشی وجود داره؟ مثل دستور CreateMessageBox که باهاش پیغام درست می شه.
قبلاً از جواب شما تشکر می کنم.

مرد مباح
23-11-2006, 15:05
دوست عزيز. فكر كنم اون جواب رو براي موضوع ديگه اي گذاشته بودم.
يكي از دوستان درباره جستجو سوال كرده بود و من جوابشو دادم. شايد متاسفانه اشتباه توي تاپيك ديگه اي پست دادم و اين مشكل رو پيش آوردم.

خيلي عذر ميخوام.

m_maj
24-11-2006, 16:11
با سلام
فكر مي كنم اشتباه از من باشه.
باز هم ازتون تشكر مي كنم.
به اميد ديدار.

Sarah_zhr
18-12-2006, 18:44
سلام
من یکسری DBEdit و DBText روی فرمم دارم که می خوام با استفاده از دکمه هایی که همون کار DBNavigator را می کنند و به صورت دستی ساختمشون، کار ویرایش و پیمایش روی رکوردهای جدول مثل حذف و اضافه و... را انجام بدم. بدین ترتیب که مثلا با زدن دکمه Insert محتویات DBEdit ها که شماره دانشجویی، نام و نام خانوادگی، شماره شناسنامه، نام پدر و... هستند به عنوان رکورد جدید وارد جدول بشه. می خواستم بدونم به چه صورت می تونم این کار رو انجام بدم.
ممنون :)

m_maj
19-12-2006, 12:07
با سلام
من یه مشکل دارم و اونم اینه:
وقتی روی پایگاه داده اکسس پسورد می ذارم توی دلفی با استفاده از AdoConnection چطور می شه بهش وصل شد. هر کاری می کنم نمی تونم. ضمناً قسمت LoginPrompt رو False می کنم. ولی با True کردن اون باز هم مشکلم حل نمی شه.
لطفاً اگه خودتون می تونین کمک کنین، اگه هم می شه منبع در اختیارم بذارین خودم می گردم حتی اگه انگلیسی باشه.
قبلاً از جوابتون خیلی تشکر می کنم.
به امید دیدار.

MasterData
21-12-2006, 15:10
وقتی روی پایگاه داده اکسس پسورد می ذارم توی دلفی با استفاده از AdoConnection چطور می شه بهش وصل شد. هر کاری می کنم نمی تونم. ضمناً قسمت LoginPrompt رو False می کنم. ولی با True کردن اون باز هم مشکلم حل نمی شه.

شم موقعي كه دارين كانكشن رو ميسازيد بايد پسورد و يوزر رو هم بدين تا بتونه درست به بانك متصل بشه.
شم از ويزارد خود adoconnection براي ساختن كانكشن استفاده كن خودت ميفهمي كجا بايد مشخصات كاربري رو بدي

morteza akbari
02-01-2007, 07:23
چه طور ميشه يه جول رو به انتهاي يه جدول ديگه اضافه كرد بانك هم اكسس باشه
ممنون

homayoun_delphi
02-01-2007, 21:02
سلام
من یکسری DBEdit و DBText روی فرمم دارم که می خوام با استفاده از دکمه هایی که همون کار DBNavigator را می کنند و به صورت دستی ساختمشون، کار ویرایش و پیمایش روی رکوردهای جدول مثل حذف و اضافه و... را انجام بدم. بدین ترتیب که مثلا با زدن دکمه Insert محتویات DBEdit ها که شماره دانشجویی، نام و نام خانوادگی، شماره شناسنامه، نام پدر و... هستند به عنوان رکورد جدید وارد جدول بشه. می خواستم بدونم به چه صورت می تونم این کار رو انجام بدم.
ممنون :)

اگر با بانک sql کار می کنی می تونی از این روش استفاده کنی
adoquery.sql.add('insert into mytable (name,id) values('+dbedit1.text+','+dbedit2.text+')'; اینجوری
یعنی دقیقا از اون به عنوان یک string استفاده کنی

ولی اگر با بانک پاراداکس استفاده می کنی می تونی از دستور table.appendrecord(dbedit1.text,dbedit2.text)
استفاده کنی

و برای بقیه دگمه هاش هم مثلا برای next بنویسی table1.next و یا table1.refresh , table1.first , ....

موفق باشی

homayoun_delphi
02-01-2007, 21:10
من می خوام جواب این دستور را علاوه بر دیدن
در DBGrid بازیابی هم بکنم یعنی مقدارش رو لازم دارم
دستور هم اینه
SELECT COUNT(ID) as count FROM main
.

البته بدون استفاده از dbedit یعنی نمی خوام datafield مربوط به dbedit را برابر با count قرار بدم بعد dbedit رو بازیابی کنم می خوام مستقیم به سلول dbgrid دسترسی داشته باشم و یا ریزالت جواب sql رو مستقیم بگیرم
ممنون از راهنمایی شما دوستان

homayoun_delphi
02-01-2007, 21:24
من يه برنامه با دلفي ساختم كه يه جول داره . در مورد ديتابيس هم اطلاعاتي دارم و در رايانه ي خودم درست كار مي كنه
حالا اون رو بردم روي يه رايانه ي ديگه اما جدول لود نمي شه مشكل چيه ؟
شايد مشكل از نام هاي مستعار باشه كه در رايانه ي طرف نيست يا ....
نمي دونم شما ميدونيد.

دقیق توضیح ندادی دوست عزیز چه اروری داری ؟

ولی می تونه یکی از اینا باشه
1. جدولت را اونجا کپی نکردی و یا کپی کردی ولی نه در اون آدرسی که در کامپیوتر خودت بوده
2. در موقع ساختن setup گزینه های مربوط به جداول رو تیک نزدی تا اون ها هم همراه برنامت در کامپیوتر مقصد نصب بشه
: ولی اگه کامپیوتر مقصد دلفی داره و تو یکبار دیگه فایل رو کامپایل کنی مشکل دوم را نخواهی داشت
3. از جداول sql استفاده می کنی که اونجا نیز باید کل database رو به sql مقصد اضافه کنی و یک ارتباط با پایگاه داده
ات با ODBC برقرار کنی
و ...

اگه دقیق تر توضیح بدی شاید بتونم دقیق تر واست توضیح بدم

موفق باشی

emran
02-01-2007, 21:26
شم موقعي كه دارين كانكشن رو ميسازيد بايد پسورد و يوزر رو هم بدين تا بتونه درست به بانك متصل بشه.
شم از ويزارد خود adoconnection براي ساختن كانكشن استفاده كن خودت ميفهمي كجا بايد مشخصات كاربري رو بدي

موقع تنظیم adoconnection در تب Advanceدنبال کلمه پسورد بگرد و یوزر نیم و پسورد رو همونجا وارد کن.

homayoun_delphi
07-01-2007, 01:03
من می خوام جواب این دستور را علاوه بر دیدن
در DBGrid بازیابی هم بکنم یعنی مقدارش رو لازم دارم
دستور هم اینه
SELECT COUNT(ID) as count FROM main
.

البته بدون استفاده از dbedit یعنی نمی خوام datafield مربوط به dbedit را برابر با count قرار بدم بعد dbedit رو بازیابی کنم می خوام مستقیم به سلول dbgrid دسترسی داشته باشم و یا ریزالت جواب sql رو مستقیم بگیرم
ممنون از راهنمایی شما دوستان

دوستان عنایتی هم به سوال ما داشته باشند

emran
08-01-2007, 09:11
از این تابع استفاده کن.
پارامترهایی که باید به این تابع بفرستی
SQLText : متن SQL که می خواهی اجرا شود مثل همان متنی که خودت مثال زدیSELECT COUNT(ID) as count" FROM main"
ResultFieldName : نام فیلدی که مقدارش را می خواهی مثلا در مثال خودت Count
Function Request_SQL(SQLText,ResultFieldName:String):Varian t;
begin
with TADOQuery.Create(nil) do
begin
Connection := DataMod.Connection;
SQL.Text := SQLText;
Open;
Result := FieldValues[ResultFieldName];
Close;
end;
end;
امیدوارم که بدردت بخورد
موفق باشی
اگه باز مشکلی داشتی با Email من تماس بگیر
emran_kargar@yahoo.com

emran
08-01-2007, 10:50
با سلام
من یک برنامه دارم که دو جدول Buy و BuyDoc داره که این دو با فیلد DocNo باهم Master/Details شده اند
حالا من می خوام توی برنامه یک فرم داشته باشم که توی اون فرم این دوتا جدول رو نشون بده و بتونم هر دو تا جدول را تغییر بدم ولی این تغییرات در جداول اصلی اعمال نشود یعنی روی هارد کامپیوتر ذخیره نشه و وقتی تمامی تغییرات انجام شد (مثلا 3 رکورد به جدول Details که جدول Buy باشه اضافه شد) با فشار دادن یک کلید تمامی این تغییرات اعمال شود در غیر اینصورت و خروج از فرم مورد نظر هیچ رکوردی به جدول اضافه نشود.
در ضمن نمی خوام از یک جدول Temp یا کمکی استفاده کنم.
آیا روشی یا کمپوننتی برای این کار وجود داره؟
بسیار متشکرم.

sorrowdancer
13-01-2007, 21:26
سلام من بیست و یک صفحه کامل رو خوندم و از همتون تشکر میکنم [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
دوستان من با پارادوکس کار کردم می خام برای هر رکوردم یه عکس در نظر بگیرم طوری که وقتی روی New کلیک میشه یه Button Browse داشته باشم که بتونه از OpenPictureDiolog یا حالا چیز دیگری که شما پیشنهاد میدین آدرس عکسم رو بگیره و این آدرس در دیتابیس ذخیره شود

با مطالعه ای که از صفحه های اولیه این تایپیک کردم این جوری استنباط کردم [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]

رویداد آنکلیک یه باتم
OpenPictureDialog1.Execute


رویداد On Can Close پیکچردیالوگ

DBImage1.Picture.LoadFromFile(OpenPictureDialog1.F ileName);

DbImage رو هم به فیلد مربوطه تو تیبل ربط دادم

تو پارادکس این فیلد رو از نوع Graphic تعریف کردم

امــــــــــــا موقع اجرا وقتی تو هر فولدر عکس داری میرم عکس نمی بینم

اومدم دستور رو با Opendiolog نوشتم و با ارور مواجه شدم

توضیحات من به کنار شما اگه جای من بودید چه کار میکردید (توضیح آماتورانه) [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]

sorrowdancer
14-01-2007, 22:47
بچه ها بگم بخندیم Filename رو یه اسپیس بیخودی زدم اشتباه خنده داری بود که کلی وقتمو گرفت [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ] [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]

sorrowdancer
14-01-2007, 22:59
دوستان من اسم فیلدی که با پاراد.کس ساختم اینه

Salray Bus Services

این و نوشتم برنامه ایراد گرفت [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]

; Table1.Filter:= 'Salray Bus Services >=1

میگه فیلدی با نام Salary نداری ولی من رفتم کلمه رو عینا از توش کپی کردم یعنی غلط املای ندارم [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ] آیا چون بینش اسپیس خورده ایراد گرفته ؟ [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]

چون یه فیلد با نام آیدی داشتم تونستم فیلترش کنم


اینا هر دوشون عددی بودن

اما یه فیلد Gender دارم که میخام با کلیک رو یه باتن رکوردایی که تو فیلد Gender نوشته 'مرد' رو نشون بده

من این و نوشتم ایراد گرفت شما درستش رو برام بنویسید

;' 'مرد' = Table1.filter := 'Gender

ممنون [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]

aamir20
16-01-2007, 17:41
مرسی خیلی عالی گفتی

aamir20
16-01-2007, 17:42
مرسی ممنون از وقتی که میگذاری

as13851365
02-03-2007, 08:57
با تشکر از تمام دوستان که در تمام ضمینه ها به یاری همدیگر می آیند من یک پیشنهاد داشتم تنهامشکل تازه کارها این است که اصلا نمی دونن چطوری می شه در فایل اطلاعات را ذخیره کرد شما برای راحتی کار بهتر بود از اول یعنی چطور می شه یک بانک درست کرد و چطوری در بانک نوشت و چطوری خواند من هم تازه به دنبای دلفی وارد شده ام اما تا حالا نتونستم مطالب ریشه ای پیدا کنم که از اول توضیح بده اکثر اطلاعاتی را که من در اینترنت پیدا کردم کپی شده هستند وبه درد تازه کارها نمی خورد شما اگر جائی چنین مطلبی که از اول نوشتن در فایل تا حذف از فایل باشد دارید لطفا مارا در چریان بگدارید منظور من دیتابیس بود باتشکر از شما این هم ایمیل من برای دریافت جواب شما دوستان که از دیتابیس ها سردرمی آورید as13851365@yahoo.com

مرد مباح
05-03-2007, 22:44
سلام به همه دوستان.
خوشبختانه يا متاسفانه من دوباره اومدم.

چون خيلي وقته كه به سايت نيومدم نتونستم تمام پستهاي قبلي رو چك كنم.
به همين دليل از الان به بعد اگه كسي سوالي داشت بپرسه و من با كمال ميل كمك ميكنم.

البته اگه بلد باشم.
همگي موفق باشيد.

soldier
13-03-2007, 11:09
سلام به دوستانی که توی وصل شدن به دیتابیس مشکل دارن.
از این به بعد اصلآ توی فکر دیتابیس نباشید.
چون تاپیک جدیدی ثبت شده : آموزش های وصل شدن به دیتابیس های مختلف ([ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ])
موفق باشید.
بای

meghdad23
24-05-2007, 09:02
سلام
آقا من یک سوال پیش پا افتاده دارم که واقعا نتونستم حلش کنم
اکه بخوام تمام فلیدهای یک بانک ado را پاک کنم دستورش چیست(acces)

meghdad23
24-05-2007, 09:07
سلام
آقا من یک سوال پیش پا افتاده دارم که واقعا نتونستم حلش کنم
اکه بخوام تمام فلیدهای یک بانک ado را پاک کنم دستورش چیست(acces)

یه سوال دیگه : اگه بخوام روی بانک access پسورد بذارم که از بیرون برنامه نشه به اون دسترسی پیدا کرد راهش چیست

meghdad23
24-05-2007, 15:57
اقا خیلی فوریه

مرد مباح
25-05-2007, 10:52
سلام
آقا من یک سوال پیش پا افتاده دارم که واقعا نتونستم حلش کنم
اکه بخوام تمام فلیدهای یک بانک ado را پاک کنم دستورش چیست(acces)


من منظورتو از پاك كردن فيلد متوجه نشدم.
اگه منظورت پاك كردن ركورد هست ، راه هاي زيادي داره كه سخت ترين اون كه توي همه انواع ديتابيس جواب ميده فرمان زير هست.

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

البته گاهي به خط آخرش هم نيازي نيست.
ولي اگه واقعا ميخواي فيلدها كم و زياد بشه ، بگو از چه كامپوننتي استفاده ميكني كه برات روش رو به كمك اون بگم.

Mahmood_N
25-05-2007, 11:07
دوستان من اسم فیلدی که با پاراد.کس ساختم اینه

Salray Bus Services

این و نوشتم برنامه ایراد گرفت

; Table1.Filter:= 'Salray Bus Services >=1

میگه فیلدی با نام Salary نداری ولی من رفتم کلمه رو عینا از توش کپی کردم یعنی غلط املای ندارم آیا چون بینش اسپیس خورده ایراد گرفته ؟

چون یه فیلد با نام آیدی داشتم تونستم فیلترش کنم


اینا هر دوشون عددی بودن

اما یه فیلد Gender دارم که میخام با کلیک رو یه باتن رکوردایی که تو فیلد Gender نوشته 'مرد' رو نشون بده

من این و نوشتم ایراد گرفت شما درستش رو برام بنویسید

;' 'مرد' = Table1.filter := 'Gender


سلام
نام یک فیلد نباید با فاصله باشه !
در مورد دوم هم باید این طوری بنویسید :
;' مرد = Table1.filter := 'Gender

موفق باشید ...

مرد مباح
25-05-2007, 11:47
یه سوال دیگه : اگه بخوام روی بانک access پسورد بذارم که از بیرون برنامه نشه به اون دسترسی پیدا کرد راهش چیست

اينقدر برنامه توي دنيا هست كه رمز اكسس رو حذف ميكنه كه حد نداره.
براي اين كاري كه شما ميخواين يشنهاد ميكنم دو عمل را انجام دهيد.
1. پسوند فايل را تغيير دهيد.
2. حتما از Exclusive استفاده كنيد كه فايل جانبي در كنار فايل اصلي ايجاد نشود.

البته راه هاي ديگري نيز وجود دارد ولي اين سريعترين و كم خطرترين راه است.

meghdad23
26-05-2007, 16:20
مردمباح عزیز این exclusive چیه؟

soormeh2002
26-05-2007, 16:37
مردمباح عزیز این exclusive چیه؟
واعظان کین جلوه در محراب و منبر می کنند
چون به خلوت می روند آن کار دیگر می کنند
مشکلی دارم ز دانشمند مجلس باز پرس
توبه فرمایان چرا خود توبه کمتر می کنند

H A M E D
26-05-2007, 17:11
مردمباح عزیز این exclusive چیه؟

Exclusive در لغت به معناي انحصاري هست و همين كاربرد رو هم در دلفي داره!
مرد مباح عزيز براي اين اين روش رو پيشنهاد كردن كه فايل اضافي در كنار فايل بانك بعد از باز كردن ايجاد نشه و وقتي كه پسوندش رو تغيير داديد از اين فايل نشه فرمت اصلي رو تشخيص داد.
البته بگذريم كه بانك با فرمت Access اصلا امن براي نگهداري اطلاعات نيست. چون راحت ميشه بازش كرد.


واعظان کین جلوه در محراب و منبر می کنند
چون به خلوت می روند آن کار دیگر می کنند
مشکلی دارم ز دانشمند مجلس باز پرس
توبه فرمایان چرا خود توبه کمتر می کنند

دوست عزيز بهتره بري به انجمن متفرقه! اونجا تاپيك مشاعره هم هست!

مرد مباح
27-05-2007, 12:41
دقيقا همونطوريه كه حامد جان توضيح داد.
اگه واقعا اطلاعات داخل فايلت خيلي حياتيه ميتوني از يك سري الگوريتم ديكد استفاده كني.
فكر كنم نان فورس عزيز هم كامپوننت اين كار رو هم داشته باشه.

موفق باشي.

NoneForce
27-05-2007, 12:47
دقيقا همونطوريه كه حامد جان توضيح داد.
اگه واقعا اطلاعات داخل فايلت خيلي حياتيه ميتوني از يك سري الگوريتم ديكد استفاده كني.
فكر كنم نان فورس عزيز هم كامپوننت اين كار رو هم داشته باشه.

موفق باشي.

سلام
بيچاره اين NoneForce
:20:

مرد مباح
27-05-2007, 12:57
من كه خيلي به شما ارادت دارم .
اسم شما رو هم بردم چون فكر ميكنم كاملترين مجموعه كامپوننت رو توي بچه هاي فعال انجمن دارين.

هميشه موفق باشي.

mahtab1360
30-05-2007, 10:07
اگه میشه در مورد autorun کردن برنامه دلفی هم توضیح بدید

H A M E D
30-05-2007, 13:01
اگه میشه در مورد autorun کردن برنامه دلفی هم توضیح بدید
اين سوال رو بهتر بود در جاي ديگه اي مطرح مي كرديد اينجا فقط بحث در مورد ديتابيس ها هست.

مرد مباح
30-05-2007, 21:45
كاملا با حامد جان موافقم.
ميتونستي يك تاپيك جديد بزني.
ولي چون كاربر تازه واردي جوابتو ميدم. ديگه اينجا توضيحي نده. ممنون.

احتمالا منظورت RunOnStartup هست. اين به دلفي ربطي نداره بايد توي مسير رجيستري زير اسم فايلتو لضلفه كني:
HKEY_CURRENT_USER > Software > Microsoft > Windows >Current Version > Run

موفق باشي.

H A M E D
31-05-2007, 12:47
كاملا با حامد جان موافقم.
ميتونستي يك تاپيك جديد بزني.
ولي چون كاربر تازه واردي جوابتو ميدم. ديگه اينجا توضيحي نده. ممنون.

احتمالا منظورت RunOnStartup هست. اين به دلفي ربطي نداره بايد توي مسير رجيستري زير اسم فايلتو لضلفه كني:
HKEY_CURRENT_USER > Software > Microsoft > Windows >Current Version > Run

موفق باشي.
به توضيحات دوستموم اضافه كنم كه مي توني با خود دلفي هم اين كار رو انجام بدي. البته اگر بلدي. اگر هم بلد نيستي يه تاپيك بزن تا اونجا جوابتو بديم و اين تاپيك منحرف نشه.

as13851365
07-07-2007, 09:25
چطوری می شه به بانکی که پسورد داده ایم در دلفی این بانک را باز کنیم طوری که این بار پسورد بانک را برنامه بدهد و هیچ پسوردی از کاربر پرسیده نشه با تشکر از تمام مهندسین

NoneForce
07-07-2007, 09:50
چطوری می شه به بانکی که پسورد داده ایم در دلفی این بانک را باز کنیم طوری که این بار پسورد بانک را برنامه بدهد و هیچ پسوردی از کاربر پرسیده نشه با تشکر از تمام مهندسین

سلام
دوست عزيز بهتره يك جا سوال خودتان را مطرح كنيد.

اين مقدار توي ConnectionString تعيين مي شود :


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

casabella
16-07-2007, 15:06
آقا من میخوام روی سایت تغریبا HTML خودم با فیلد قسمت نظرات رو بسازم اما Data base بلد نیستم
میتونید به من یاد بدید؟
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
خیلی مهمه این موضوع لطفا منو کمک کنید.

NoneForce
16-07-2007, 15:10
آقا من میخوام روی سایت تغریبا HTML خودم با فیلد قسمت نظرات رو بسازم اما Data base بلد نیستم
میتونید به من یاد بدید؟
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
خیلی مهمه این موضوع لطفا منو کمک کنید.

سلام
از اين مهم تر اينه كه سوالتون را در جاي مناسب مطرح كنيد.
سوالتون را در بخش برنامه نويسي تحت وب مطرح كنيد.

casabella
16-07-2007, 22:26
پس چرا سردر اینجا نوشتید همه چیز درمورد دیتا بیس؟ اینم دیتا بیسه دیگه ok مضاحم نمیشم
بلد نیستید دیگخ این حرفا چیه
زیر مسیجتم یه چیزایی دیدم. نفهمم خودتونید آقای محترم به ظاهر

NoneForce
17-07-2007, 10:10
پس چرا سردر اینجا نوشتید همه چیز درمورد دیتا بیس؟ اینم دیتا بیسه دیگه ok مضاحم نمیشم
بلد نیستید دیگخ این حرفا چیه
زیر مسیجتم یه چیزایی دیدم. نفهمم خودتونید آقای محترم به ظاهر

سلام
بله سردر اينجا نوشته همه چيز در مورد ديتا بيس، ولي سركوچه هم يه تابلو زده نوشته دلفي!
اگر در مورد برنامه نويسي، ديتا بيس تحت وب سوال داريد ، بايد در انجمن مربوطه سوال كنيد.
امضاي من هم ربطي به نفهم بودن نداره، در مورد گروه بندي آدمهاست.

soldier
17-07-2007, 10:30
سلام


اینجا برنامه نویسی تحت ویندوز با زبان دلفی هست.

اون چیزی که شما میخواهی توی انجمن برنامه نویسی تحت وب هست.

که اونجا هم برنامه نویس حرفه ای نیست. فقط یکی ، دو نفر هستن.

اون چیزی که زیر مسیج دیدی امضا هست. و همه جا نمایش داده میشه و منظور شما نیستید.

لطفآ خیلی زود قضاوت نکنید!


موفق باشید

casabella
19-07-2007, 01:05
از جای دیگه اعصابم خورد بود سر شما خالی کردم.
الان که اومدم خیلی از حرفام تعجب کردم
ببخشید اگه عادت ندارم معذرت خواهی کنم
___________________________

[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]

ali_Delphi2006
25-07-2007, 16:19
سلام ببخشید آیا می شود بگویید که چطوری می توان یک برنامه دیتابیس را در ویندوزی دیگر اجرا کرد؟
من هنگام انجام این کار یک ارر دریافت کردم:Delphi DataBase Engine Error

NoneForce
25-07-2007, 16:24
سلام ببخشید آیا می شود بگویید که چطوری می توان یک برنامه دیتابیس را در ویندوزی دیگر اجرا کرد؟
من هنگام انجام این کار یک ارر دریافت کردم:Delphi DataBase Engine Error

سلام
لطفا سوال خود را در يك جا مطرح كنيد.

ali_Delphi2006
25-07-2007, 16:27
هنگامی که برنامه دیتابیس ام را در ویندوز دیگری اجرا کردم با Delphi DataBase Engine Error روبرو شدم
آیا می توانید کمکم کنید؟

NoneForce
25-07-2007, 17:07
هنگامی که برنامه دیتابیس ام را در ویندوز دیگری اجرا کردم با Delphi DataBase Engine Error روبرو شدم
آیا می توانید کمکم کنید؟

سلام
جواب سوالتون :


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

مرد مباح
04-09-2007, 01:19
توضحاتی کامل برای فیلترها (Filters)
چون دیدم ظاهرا این مسئله هنوز بین خیلی از دوستان مشکل هست این توضیحاتو نوشتم
به نظر من بهترین کار توضیح با مثالها هست بنابراین اینجا انواع مختلف رو مثال میزارم
نوع 1 : با مقادیر ثابت

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

نوع2 : با مقادیر متغییر
در تمامی مثالهای زیر فرض بر این است که اطلاعات در یک Edit وارد شده و مقادیر آنها صحیح هست (یعنی برای مثال در فیلد عددی حرف وجود ندارد)

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

نوع 3 : بررسی جستجویی
این نوع فقط برای انواع کاراکتری امکانپذیر هست
یعنی به فرض میخواهید به دنبال نامی بگردید که با حرف A ویا مقدار درون یک Edit شروع میشود

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

تمامی انواع فوق را میتوان با ترکیبهای And و OR با یکدیگر ترکیب کرد
برای مثال :

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

مثال بالا تمامی فیلدهایی که تاریخی کمتر از مقدار درون Edit2 دارند را به شرط اینکه با حروف اول Edit1 شروع شده اند را نمایش میدهد.

ploto
05-09-2007, 19:02
سلام
دستتون درد نکنه هم برای آموزش هم برای بقیه پستها
کل 25 صفحه رو خوندم اما جوابم رو تو پست اخری پیدا کردم .ولی یه سوال مهم
هر کاری کردم نتونستم دوتا فیلد عددی رو با هم اند کنم مثل اند اخری که شما گذاشتین
مثلا توی اون اند بعد از دیت یه نامبر هم اضافه کنیم با یه ادیت دیگه؟؟؟
چه جوری میشه؟؟؟؟؟؟

samaram86
07-09-2007, 08:50
سلام و تشكر. ميشه بگيد چجوري ميتونم يه تصوير توي بانك sql server ذخيره كنم؟

مرد مباح
07-09-2007, 11:22
آره میتونس ولی کار متداولی نیست. نمیدونم چرا نتونیستی با دوتا عدد این کارو بکنی

مرد مباح
07-09-2007, 11:43
سلام و تشكر. ميشه بگيد چجوري ميتونم يه تصوير توي بانك sql server ذخيره كنم؟

این بحث چندین بار صورت گرفته و بهترین و کاملترین جواب رو جناب نان فوری در این مورد دادند.
با تشکر فراوان از نان فورس عزیز :

توصيه ميكنم فايلهاي صوتي و تصويري را توي بانك ذخيره نكنيد چون حجم بانك بالا ميره و مشكل سرعت و ... پيش مياد.
ولي در هر صورت :

اول دو روال براي ذخيره/خواندن اطلاعات بصورت Stream در/از يك فيلد از نوع Blob :


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

روال نوشتن :


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

روال خواندن :


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

خب حالا نحوه بازگذاري يك عكس و ذخيره اون در يك Stream براي ذخيره شدن در بانك :


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

اختصاص تصوير موجود در Image1 :


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید


خواندن عكس از ديتابيس و اختصاص آن به يك TImage :


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

خواندن يك فايل صوتي و ذخيره آن در يك Stream و پخش از Stream :

در Uses عبارت MMSystem را اضافه كنيد.


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

ploto
07-09-2007, 15:54
خوب نمی دونم هر کاری کردم erorrداد
من می خوام دوتا عدد بگیره از دو تا ادیت بعد عددای بین اون دو تا رو نشون بده
چه جوری میشه؟؟؟؟؟؟؟؟؟؟؟؟؟