PDA

View Full Version : ذخیره نشدن اطلاعات بعد از post کردن آن



tazekar
چهارشنبه 16 مهر 1382, 05:56 صبح
سلام .
وقتی اطلاعات رو وارد میکنم و ذخیره میکنم باید یه بار برنامه رو ریست کنم تا اطلاعات جدید را نمایش دهد . چکار کنم تا پس از ورود اطلاعات بدون ریست کردن برنامه نمایششون بده ؟

SReza1
چهارشنبه 16 مهر 1382, 21:34 عصر
بجای دستور post از FlushBuffers استفاده کن

JavanSoft
پنج شنبه 17 مهر 1382, 14:30 عصر
اگر اشتباه نکنم دستور Postبرای ذخیره اطلاعات می باشد اما از انجایی که همه تکنیکهای ارتباط با بانکهای اطلاعاتی بجز DbExpress از یک بافر برای ثبت اطلاعات استفاده می کنند دستور FlushBuffer باعث میگردد تا در زمان مورد نظر اطلاعات بصورت واقعی در بانک ذخیره گردند استفاده از این دستور به جای Post(چنانچه ممکن باشد) باعث افت سرعت در سیستم و ترافیک در شبکه خواهد شد

SReza1
پنج شنبه 17 مهر 1382, 17:24 عصر
سلام
موقعیکه در حال compile برنامه هستی و برنامه exe رو اجرا بکنی و اگه error بده اطلاعات در بانکت ذخیره نمیشه!! من فکر کمن بانکت paradox است!! و در نتیجه تک کاربره run میشه!! و در تنیجه مساله شبکه و ترافیک و این چیزاییی که دوستمون گفت نیست!! از همون flushbuufer استفاده کنی اطلاعات نمی پره!! در ضمن اگر از فایل exe اجرا کنی مشکلی برای ذخیره سازی اطلاعات پیش نمیآد!! مگه ایمه برق بره!!! :oops:
نوع بانکتو برامون بگو چیه!

tazekar
پنج شنبه 17 مهر 1382, 22:04 عصر
بانکم access xp هست .
در ضمن آیا برای این موارد میشه از خاصیتهای آفیس که توی دلفی 7 هست استفاده کنم ؟

JavanSoft
جمعه 18 مهر 1382, 00:06 صبح
مسئله ای که خدمت دوست عزیزم مطرح کردم در مورد تکنیک دسترسی به بانک اطلاعاتی است نه نوع بانک

تکنیکهای دسترسی هیچ ربطی به نوع بانک مورد استفاده ندارند . شما می توانید براحتی با BDE به بانکهای SQL Server دسترسی پیدا کنید و یا با ADO به بانکهای پارادوکس

برای اطلاعات بیشتر به مقاله زیر مراجعه کنید

http://www.javansoft.com/learning119.htm

tazekar
جمعه 18 مهر 1382, 19:00 عصر
:wink:

N_D
جمعه 18 مهر 1382, 23:53 عصر
بعد از post کد زیر را بنویسید.


...
table1.post;
table1.close;
table1.open;
....

Kambiz
شنبه 19 مهر 1382, 00:19 صبح
بعد از post کد زیر را بنویسید.


...
table1.post;
table1.close;
table1.open;
....

:?: :shock:

Mashatan
شنبه 19 مهر 1382, 09:48 صبح
دوست عزیز tazekar
اگر تا حالا مشکلت حل نشده ، بهتره نیست اون قسمتی که با برنامه مشکل داری رو بفرستی ؟!

tazekar
شنبه 19 مهر 1382, 23:15 عصر
کدی که من برای این نوشتم اینه :


table1.post;
table1.refresh;
بانکی رو هم که استفاده کردم access هست .
در ضمن flashbuffer جز خواص کدوم یکی هست ؟
table یا form?

SReza1
یک شنبه 20 مهر 1382, 00:07 صبح
جزو خواص table است
table1.Edit
Table1.Flushbuffer

Kambiz
یک شنبه 20 مهر 1382, 01:59 صبح
تازه کار جان، چهار روزه که این تاپیک رو پست کردی و هنوز هم به نتیجه نرسیدی. دلیلش اینه که اطلاعات کافی در اختیار دوستان نگذاشتی و سر این دیگران با حدسی که می‌زنند سعی دارند که یک جوری کمک کنند. برخی از چیزهایی که لازمه بقیه بدونند تا بتونند راه حلی ارائه کنند اینهاست:
منظور از ریست کردن برنامه چی هست؟
از ADO استفاده می‌کنی یا ODBC؟
نوع فیلد یا فیلدهایی که تغییر نمی‌کنند چی هست؟
از چه کنترلی برای نمایش فیلدهای رکورد استفاده می‌کنی؟
بعد از ثبت تغییرات رکورد٬ تغییرات در همین جدول دیده نمی‌شه یا در یک Instance دیگه از این جدول؟
مقادیر ویژگیها برای کامپوننتهای جدول و کانکشنی که استفاده می‌کنی چی هست؟

tazekar
یک شنبه 20 مهر 1382, 05:47 صبح
سلام
کامبیز جان این مشخصاتی هستش که میخوای :
منظور از ریست کردن برنامه اینه که برنامه باید یه دفه بسته شود و مجددا باز شود .
از Ado استفاده میکنم .
تمام فیلدهای عددی و متنی و زمانی بعد از بسته و باز شدن برنامه در دیتابیس نمایش داده میشوند .
هم از datagrid و هم از dbedit .
تغییرات در تمام قسمتهای برنامه مشاهده نمیشوند .
کانکشن :adoconnection
table :table و sqltable
همین :oops:

Kambiz
یک شنبه 20 مهر 1382, 13:47 عصر
سلام
کامبیز جان این مشخصاتی هستش که میخوای :
منظور از ریست کردن برنامه اینه که برنامه باید یه دفه بسته شود و مجددا باز شود .
از Ado استفاده میکنم .
تمام فیلدهای عددی و متنی و زمانی بعد از بسته و باز شدن برنامه در دیتابیس نمایش داده میشوند .
هم از datagrid و هم از dbedit .
تغییرات در تمام قسمتهای برنامه مشاهده نمیشوند .
کانکشن :adoconnection
table :table و sqltable
همین :oops:
یعنی از ADOTable استفاده نمی‌کنی؟

tazekar
یک شنبه 20 مهر 1382, 15:44 عصر
سلام
ببخشید . ado هاش رو نگذاشتم .
منظورم adotable و ADOQuery هستش :oops:

SyntaxCheck
یک شنبه 20 مهر 1382, 15:57 عصر
FlushBuffers برای ADO وجود نداره و فقط در BDE هست.بجای اون میتونید از CheckBrowseMode استفاده کنید.ترکیب این دستور و حالتهای مختلف خاصیت State از دیتاست حالات متفاوتی رو برای آپدیت و پست کردن بوجود میاره.توضیح مفصله و پیشنهاد میکنم روال CheckBrowseMod رو در هلپ قسمت دیتاست نگاه کنید.

tazekar
دوشنبه 21 مهر 1382, 04:49 صبح
از همه دوستان ممنون .
مشکلم حل شد :lol: :lol: :lol:

خوشحالم که مشکلت حل شد. اگر بگی چطوری مشکل حل شد ممنون میشم. :wink: