سلام .
وقتی اطلاعات رو وارد میکنم و ذخیره میکنم باید یه بار برنامه رو ریست کنم تا اطلاعات جدید را نمایش دهد . چکار کنم تا پس از ورود اطلاعات بدون ریست کردن برنامه نمایششون بده ؟
سلام .
وقتی اطلاعات رو وارد میکنم و ذخیره میکنم باید یه بار برنامه رو ریست کنم تا اطلاعات جدید را نمایش دهد . چکار کنم تا پس از ورود اطلاعات بدون ریست کردن برنامه نمایششون بده ؟
بجای دستور post از FlushBuffers استفاده کن
اگر اشتباه نکنم دستور Postبرای ذخیره اطلاعات می باشد اما از انجایی که همه تکنیکهای ارتباط با بانکهای اطلاعاتی بجز DbExpress از یک بافر برای ثبت اطلاعات استفاده می کنند دستور FlushBuffer باعث میگردد تا در زمان مورد نظر اطلاعات بصورت واقعی در بانک ذخیره گردند استفاده از این دستور به جای Post(چنانچه ممکن باشد) باعث افت سرعت در سیستم و ترافیک در شبکه خواهد شد
سلام
موقعیکه در حال compile برنامه هستی و برنامه exe رو اجرا بکنی و اگه error بده اطلاعات در بانکت ذخیره نمیشه!! من فکر کمن بانکت paradox است!! و در نتیجه تک کاربره run میشه!! و در تنیجه مساله شبکه و ترافیک و این چیزاییی که دوستمون گفت نیست!! از همون flushbuufer استفاده کنی اطلاعات نمی پره!! در ضمن اگر از فایل exe اجرا کنی مشکلی برای ذخیره سازی اطلاعات پیش نمیآد!! مگه ایمه برق بره!!! :oops:
نوع بانکتو برامون بگو چیه!
بانکم access xp هست .
در ضمن آیا برای این موارد میشه از خاصیتهای آفیس که توی دلفی 7 هست استفاده کنم ؟
مسئله ای که خدمت دوست عزیزم مطرح کردم در مورد تکنیک دسترسی به بانک اطلاعاتی است نه نوع بانک
تکنیکهای دسترسی هیچ ربطی به نوع بانک مورد استفاده ندارند . شما می توانید براحتی با BDE به بانکهای SQL Server دسترسی پیدا کنید و یا با ADO به بانکهای پارادوکس
برای اطلاعات بیشتر به مقاله زیر مراجعه کنید
http://www.javansoft.com/learning119.htm
:wink:
بعد از post کد زیر را بنویسید.
...
table1.post;
table1.close;
table1.open;
....
:?: :shock:نوشته شده توسط N_D
دوست عزیز tazekar
اگر تا حالا مشکلت حل نشده ، بهتره نیست اون قسمتی که با برنامه مشکل داری رو بفرستی ؟!
کدی که من برای این نوشتم اینه :
table1.post;
table1.refresh;
بانکی رو هم که استفاده کردم access هست .
در ضمن flashbuffer جز خواص کدوم یکی هست ؟
table یا form?
جزو خواص table است
table1.Edit
Table1.Flushbuffer
تازه کار جان، چهار روزه که این تاپیک رو پست کردی و هنوز هم به نتیجه نرسیدی. دلیلش اینه که اطلاعات کافی در اختیار دوستان نگذاشتی و سر این دیگران با حدسی که میزنند سعی دارند که یک جوری کمک کنند. برخی از چیزهایی که لازمه بقیه بدونند تا بتونند راه حلی ارائه کنند اینهاست:
- منظور از ریست کردن برنامه چی هست؟
- از ADO استفاده میکنی یا ODBC؟
- نوع فیلد یا فیلدهایی که تغییر نمیکنند چی هست؟
- از چه کنترلی برای نمایش فیلدهای رکورد استفاده میکنی؟
- بعد از ثبت تغییرات رکورد٬ تغییرات در همین جدول دیده نمیشه یا در یک Instance دیگه از این جدول؟
- مقادیر ویژگیها برای کامپوننتهای جدول و کانکشنی که استفاده میکنی چی هست؟
سلام
کامبیز جان این مشخصاتی هستش که میخوای :
منظور از ریست کردن برنامه اینه که برنامه باید یه دفه بسته شود و مجددا باز شود .
از Ado استفاده میکنم .
تمام فیلدهای عددی و متنی و زمانی بعد از بسته و باز شدن برنامه در دیتابیس نمایش داده میشوند .
هم از datagrid و هم از dbedit .
تغییرات در تمام قسمتهای برنامه مشاهده نمیشوند .
کانکشن :adoconnection
table :table و sqltable
همین :oops:
یعنی از ADOTable استفاده نمیکنی؟نوشته شده توسط tazekar
سلام
ببخشید . ado هاش رو نگذاشتم .
منظورم adotable و ADOQuery هستش :oops:
FlushBuffers برای ADO وجود نداره و فقط در BDE هست.بجای اون میتونید از CheckBrowseMode استفاده کنید.ترکیب این دستور و حالتهای مختلف خاصیت State از دیتاست حالات متفاوتی رو برای آپدیت و پست کردن بوجود میاره.توضیح مفصله و پیشنهاد میکنم روال CheckBrowseMod رو در هلپ قسمت دیتاست نگاه کنید.
از همه دوستان ممنون .
مشکلم حل شد :lol: :lol: :lol:
خوشحالم که مشکلت حل شد. اگر بگی چطوری مشکل حل شد ممنون میشم. :wink: