PDA

View Full Version : آموزش: کامپوننت کار با دیتابیس فاکس پرو(dbf)



daneshmand1354
یک شنبه 06 آذر 1390, 23:29 عصر
نقل قول: کامپوننت کار با دیتابیس فاکس پرو(dbf)


برای اینکار چند راه وجود دارد
که همه این راهها دارای مشکلات خاص خود می باشد
یکی کار با BDE است اشکال کار با آن یکی نشناختن برخی ایندکسها و دیگری ضعیف بودن query آن می باشد.
روش دوم کار با ADO است به این منظور بهتر است ابتدا
microsoft oledb for microsoft visual foxpro
را نصب کرده و از آن استفاده نمایید این روش نیز اشکالات مربوط به خود را دارد گرچه در نوشن دستورات sql از قدرت کافی برخوردار است
در کل میتوان گفت که انجام برخی کارها در فاکس از طریق دلفی با ابزارهای معمولی ممکن نیست مثل create table
اگر نیاز با توضیح بیشتر بود پیام خصوصی بگذارید چون من این تاپیک شما را اتفاقی دیدیم و ممکن است دیگر به آن سر نزنم

mehmir
دوشنبه 07 آذر 1390, 15:18 عصر
کسی میدونه چطوری میشه از پایگاه داده dbf تو windows mobile application داده خوند؟
ممنون

daneshmand1354
دوشنبه 07 آذر 1390, 15:41 عصر
سلام
من ابتدا توضیحی درباره فایل dbf بدهم
فایلهای dbf مربوط به برنامه های قدیمی clipper,foxbase بود که بعدا در نرم افزار foxpro مورد استفاده قرار گرفت
این بانک اطلاعاتی در excel نیز قابل شناسایی است و میتوان به صورت محدود در اکسل به آن مقدار دهی نمود
این محدودیت از نظر تعداد رکورد نیست بلکه از نظر قواعدی است که باید رعایت شود مثلا باید در ستون اول اکسل نام فیلد باشد و در ضمن نباید از گرافیک و ... سایر امکانات اکسل در آن استفاده شود
این بانک اطلاعاتی در acess,sql server نیز قابل شناسایی است و میتوان اطلاعات را در این دو نرم افزار import,export نمود
در دلفی توسط BDE قابلیت ورود اطلاعات دارد
در نرم افزارهای foxpro,visual foxpro بانک اطلاعاتی آن همین dbf است
دوست گرامی لطفا توضیح دهید که شما با چه نرم افزاری برنامه نویسی میکنید و میخواهید با فایل dbf چه کار کنید تا توضیحات کاملتری در اختیار شما قرار دهم.
همچنین توضیح دهید که چرا از بانکهای دیگری نظیر access استفاده نمی کنید.
مسلم است که بانک اطلاعاتی Access قابلیت مانور دهی بالاتری در موبایل دارد.
البته برخی جاها ناچار به استفاده از dbf هستیم مثل دیسکت تامین اجتماعی که هنوز dbf تحت داس است.ولی اگر چنین اجباری ندارید بانک access بسیار قویتر است و با excel نیز خیلی راحت تر ارتباط برقرار میکند.

mehmir
دوشنبه 07 آذر 1390, 19:17 عصر
دقیقا من ناچار به استفاده از dbf هستم و خودم انتخابش نکردم
من با #C کار میکنم و مجبورم که تو برنامم از دیتابیس یه نرم افزار دیگه که فرمتش dbf هستش استفاده کنم
و این کار قرار در mobile application اتفاق بیفته
ممنون میشم اگه راهنماییم کنین

daneshmand1354
دوشنبه 07 آذر 1390, 20:49 عصر
دوست عزیز همانگونه گفتم ابزارهای Ado برای کار با dbfضعیف است و اشکالات زیادی دارد اگر میخواهید خود این اشکالات را ببینید کافیست از Foxpro Providers در Ado استفاده کنید در ویندوز این Provider ها موجود است و قابل اضافه کردن نیز هست مانند Microsoft Visual Foxpro Driver
راستش خواستم برنامه setup اینها را براتون بگذارم حدود 5-6 مگابایت حجم داشت و سایت قبول نکرد
با توجه به اشکالات زیاد این ابزارها توصیه من این است که شما از بانکی نظیر access استفاده کرده و سپس نتیجه را در قالب dbf ذخیره نمایید.
به قول معروف "من جرب المجرب حلت به الندامه"
یا به قول خودمونی تر انسان موفق کسی است که تجربه دیگران را خود تجربه نکند.
مثلا ما برای ساخت دیسکت تامین اجتماعی همین کار را میکنیم اطلاعات را در sql پردازش و نتیجه نهایی را به dbf منتقل می کنیم.

daneshmand1354
دوشنبه 07 آذر 1390, 23:42 عصر
در ضمن نگفتید dbf مورد استفاده شما چه نسخه ای است آیا تحت ویندوز است یا داس اگر تحت ویندوز باشد با اشکالات کمتری مواجه خواهید شد

mehmir
سه شنبه 08 آذر 1390, 12:19 عصر
dbf ما تحت ویندوزه، توسط نرم افزار GIS ساخته میشه و هر 20 ثانیه Update میشه، و ما احتیاج داریم که مدام از dbf بخونیم و اگه لازم شد ما هم Update کنیم
به این دلیل نمیشه که بریزیمش تو یه database دیگه، اونطوری کارایی میاد پایین
ممنون

daneshmand1354
سه شنبه 08 آذر 1390, 22:34 عصر
شما از Ado استفاده کنید شاید ado.net در این رابطه مشکلات کمتری داشته باشه همچنین اگه dbf تحت ویندوز باشه باز مشکلات کمتره .
من نمیدانم مشکل شما چیه نکنه کار با ADO را بلد نیستید؟!
شما به راحتی با ADO میتوانید اطلاعات را بخوانید و بنویسید

khoshblagh
چهارشنبه 23 فروردین 1391, 10:20 صبح
شما از Ado استفاده کنید شاید ado.net در این رابطه مشکلات کمتری داشته باشه همچنین اگه dbf تحت ویندوز باشه باز مشکلات کمتره .
من نمیدانم مشکل شما چیه نکنه کار با ADO را بلد نیستید؟!
شما به راحتی با ADO میتوانید اطلاعات را بخوانید و بنویسید

با سلام خدمت دوست عزیز
من میخواهم از طریق ADO با فایل dbf تحت داس ارتباط برای خواندن و نوشتن برقرار نمایم ولی تاکنون نتوانستم اینکار را انجام دهم . اگر امکان دارد در قالب نمونه این مشکل را حل نمائید . متشکرم

daneshmand1354
چهارشنبه 23 فروردین 1391, 20:17 عصر
سلام دوست عزیز
برای ارتباط با فاکس پرو سه راه وجود دارد
راه اول از طریق BDE است که در پیامتان فرموده اید قدیمی است ولی اینطور نیست . در حال حاضر شرکت همکاران سیستم یعنی بزرگترین شرکت نرم افزاری ایران از این راه برای ارتباط با بانک اطلاعاتی استفاده می کند بنابر این BDE همچنان به عنوان یک ابزار مطرح است
این ابزار به راحتی می تواند حذف و ویرایش و ایجاد را در رکوردهای فاکس پرو انجام دهد ولی توانایی ایجاد یک dbf در فاکس پرو را ندارد برای رفع این مشکل می توانید فایلهای dbf را از قبل ایجاد کنید و توسط برنامه آنها را کپی کنید من از همین راه برای ارتباط با فایل فاکس استفاده کرده ام و مشکلی نیز ندارد
راه بعد استفاده از ADO است که من پیشنهاد نمی کنم و راه سوم از طریف کامپوننت است که آنرا نیز من استفاده نکرده ام
اگر مشکلتان حل نشد تماس بگیرید
09131696936