PDA

View Full Version : مشکل جدی



محمد حسین خانی
سه شنبه 24 بهمن 1385, 18:15 عصر
با سلام
با عرض پوزش از گرفتن وقت گرانبهاتون می خواستم درباره ی مشکلی که برام در طراحی بانک اطلاعاتی پیش اومده سوال کنم:افسرده: :افسرده: :افسرده: :افسرده: :افسرده: :افسرده: :افسرده: :افسرده: :افسرده: :افسرده: :افسرده: :افسرده: :افسرده: :افسرده: :افسرده:
راستش من یک برنامه ی آماری نوشتم و برای بانکم یک Alias طراحی کردم و جدولها مو توی این الیاس ریختم (به کمک Database Desktop) . ساخت برنامم که تموم شد بر نامه رو به صورت فایل اجرایی درآوردم (Project >> Build Project) اما با آزمایش برنامم روی کامپیوترای دیگه برنامم Error داد حتی وقتی که دلفی رو از روی کامپیوتر خودم پاک کردم (به علت پاک شدن نام و آدرس الیاس ها) برنامم دوباره Error داد می خواستم ببینم راه دیگری به غیر از استفاده از الیاس برای ارتباط بین فایل های جدول و مؤلفه ی TTable هست یا نه اگر هست چه راهیه اگر نیست کمکم کنید که بتونم بانکم و روی کامپیوتر های دیگه استفاده کنم
اگه میشه راهی رو به من نشون بدید که بتونم آدرس جدولامو برای TTable مشخص کنم چون من راه دیگه ای رو برای طراحی بانک اطلاعاتی یاد ندارم.
با تشکر کوچک و ارادتمند همه ی شما
محمد حسین خانی کوثر خیزی

mehdi_mohamadi
سه شنبه 24 بهمن 1385, 18:49 عصر
1.می تونی به جای آلیاس مسیر بانک رو وارد کنی: c:\database
2.از طریق odbc واقع در control panel الیاس رو تعریف کنی.

nasr
سه شنبه 24 بهمن 1385, 19:14 عصر
می تونی اصلا جدول ها را بگذاری کنار فایل EXE و Alias هم نمی خواد تعریف کنی

Valadi
چهارشنبه 25 بهمن 1385, 06:52 صبح
دوست عزیز محمد حسین خانی شما از بانک پارادکس استفاده کردید ؟
اگر این طور باشه شما باید در کامپیوتر دیگر BDE را نصب کنی که برنامه پیام خطا نده

vcldeveloper
چهارشنبه 25 بهمن 1385, 07:49 صبح
لطفا عنوانی مناسب سوالی که مطرح کردید برای تاپیک خودتون انتخاب کنید.

nasr
چهارشنبه 25 بهمن 1385, 07:50 صبح
آقا من تا حالا چند برنامه نوشتم با Paradox و اصلا Alias هم تعریف نکردم

فقط کافیه که برنامه را بگذاری کنار جدول
همین!!!

data.abm
چهارشنبه 25 بهمن 1385, 09:03 صبح
نیاز به تعریف Alias نیست و فایل اجرایی و فایل جدول کنار هم باشند.
اگه روی کامپیوتر های دیگه بازم Error می ده یعنی دلفی نصب نباشه باید راه انداز BDE رو نصب کنید.

MNosouhi
چهارشنبه 25 بهمن 1385, 19:07 عصر
آقا من تا حالا چند برنامه نوشتم با Paradox و اصلا Alias هم تعریف نکردم

فقط کافیه که برنامه را بگذاری کنار جدول
همین!!!
برنامه در این روش در شرایط خاص آدرس دیتابیس رو گم می کنه و دچار مشکل خواهید شد ، حتما حتما در ابتدای برنامه و قبل از اینکه جداول رو اکتیو کنید با استفاده از دستور Application.ExeName مسیر اجرای برنامه رو مشخص و از این طریق مسیر دیتابیس رو دقیقا به جداول نسبت دهید.

mzjahromi
چهارشنبه 25 بهمن 1385, 20:50 عصر
برنامه در این روش در شرایط خاص آدرس دیتابیس رو گم می کنه و دچار مشکل خواهید شد ، حتما حتما در ابتدای برنامه و قبل از اینکه جداول رو اکتیو کنید با استفاده از دستور Application.ExeName مسیر اجرای برنامه رو مشخص و از این طریق مسیر دیتابیس رو دقیقا به جداول نسبت دهید.

توجه داشته باشید که در این حالت هم اگر از برنامه Shortcut ایجاد شده باشه ولی خاصیت workingdirectory اون مسیری غیر از برنامه باشه باز هم با مشکل مواجه میشید.
باید سعی بشه از Alias استفاده بشه

nasr
چهارشنبه 25 بهمن 1385, 22:06 عصر
من یه برنامه نوشتم و الان 4 ساله که به این مشکلات برخورد نکردم

حتما شانسم خوب بوده http://qsmile.com/qsimages/308.gif

mzjahromi
پنج شنبه 26 بهمن 1385, 06:37 صبح
حتما شانسم خوب بوده
نه کاربرت خیلی دستکاری نمیکرده

MNosouhi
پنج شنبه 26 بهمن 1385, 10:48 صبح
توجه داشته باشید که در این حالت هم اگر از برنامه Shortcut ایجاد شده باشه ولی خاصیت workingdirectory اون مسیری غیر از برنامه باشه باز هم با مشکل مواجه میشید.
من هم قبلا اینی که شما گفتید رو تجربه کرده ام ، اما خیلی کم پیش میاد که workingdirectory را لازم بشه چیزی جز مسیر نصب برنامه بدیم (برای من که تا حالا اصلا نیاز نشده).

mzjahromi
پنج شنبه 26 بهمن 1385, 11:17 صبح
من هم قبلا اینی که شما گفتید رو تجربه کرده ام ، اما خیلی کم پیش میاد که workingdirectory را لازم بشه چیزی جز مسیر نصب برنامه بدیم (برای من که تا حالا اصلا نیاز نشده).

نه
ما مجبور نمی شیم و دوست هم نداریم این کار رو بکنیم
بعضی مواقع پیش میاد(کاربرائی که دستکاری زیاد میکنن و ...)

محمد حسین خانی
پنج شنبه 26 بهمن 1385, 18:12 عصر
برنامه در این روش در شرایط خاص آدرس دیتابیس رو گم می کنه و دچار مشکل خواهید شد ، حتما حتما در ابتدای برنامه و قبل از اینکه جداول رو اکتیو کنید با استفاده از دستور Application.ExeName مسیر اجرای برنامه رو مشخص و از این طریق مسیر دیتابیس رو دقیقا به جداول نسبت دهید.
کجا دستور رو وارد کنم؟؟؟؟؟:متفکر:

saeed_d
جمعه 27 بهمن 1385, 13:44 عصر
سلام
من این برنامه‌ها رو اینجوری می‌نویسم


if not(session.IsAlias('نام الیاس')) then
session.AddStandardAlias('مسیری که جداول در آن هستند','نام الیاس','');
Table1.DatabaseName:='نام الیاس';
Table1.TableName:='نام جدول';

که اگه جدولها در کنار فایل exe کپی شده باشند می‌تونی به جای 'مسیری که جداول در آن هستند' از کد
ExtractFilePath(application.ExeName) استفاده کنی.
در ضمن فراموش نشود که در کامپیوتر مقصد باید BDE رو نیز نصب کنی.:چشمک:

m_kafman
یک شنبه 29 بهمن 1385, 14:05 عصر
اگه بانک پارادوکس باشه و جداول رو به همراه برنامه قرار بدی فقط کافیه آدرس رو درست بدی همین هیچ مشکل دیگه ای هم پیش نمیاد