View Full Version : مشکل با به روز رسانی نشدن جداول به از Insert
DarkACE
سه شنبه 09 اسفند 1390, 22:28 عصر
دوستان من یه برنامه نوشتم که یه سری اطلاعات رو می گیرم و وارد جدول می کنم.
مثلاً اسم دانشجو رو می گیرم و وارد جدول می کنم.
حالا توی یه فرم دیگه می خوام که همون جدول رو برای یه کار دیگه استفاده کنم. اما تا برنامه رو نبندم و مجدداً باز نکنم رکورد اضافه شده رو توی جدول دوم نمایش نمی ده.
میشه لطفاً راهنماییم کنید؟
مرسی.
پ.ن: من مبتدی هستم ، لطفاً نگید از فلان کامپوننت استفاده کن. اگه کدی داره ممنون می شم همینجا بنویسیدش و بهم بگید که کجا باید بنویسمش. بازم مرسی.
tiphooo
چهارشنبه 10 اسفند 1390, 00:25 صبح
شما در ابتدای بازشدن هر فرم که از آن جدول استفاده می کنید مثلا در FormShow مجددا آن جدول را باز کنید اگر هر دو فرم همزمان باز هستند در FormActive هر دو فرم مجدد جدول را باز کنید و یک دکمه هم برای به روز زسانی بگذارید که هر وقت خواست مجددا جدول باز و بسته شود البته poninter مربوط به رکورد جاری را نگه دارید و بعد از باز شدن مجدد جدول رکورد انتخاب شده قبلی را از pointer لود کنید در کل این کارها نیاز به کامپوننت ندارد اگر از Query استفاده می کنید کافی است Query1.Requery() را برای Refresh شدن وارد کنید
DarkACE
چهارشنبه 10 اسفند 1390, 01:32 صبح
شما در ابتدای بازشدن هر فرم که از آن جدول استفاده می کنید مثلا در FormShow مجددا آن جدول را باز کنید اگر هر دو فرم همزمان باز هستند در FormActive هر دو فرم مجدد جدول را باز کنید و یک دکمه هم برای به روز زسانی بگذارید که هر وقت خواست مجددا جدول باز و بسته شود البته poninter مربوط به رکورد جاری را نگه دارید و بعد از باز شدن مجدد جدول رکورد انتخاب شده قبلی را از pointer لود کنید در کل این کارها نیاز به کامپوننت ندارد اگر از Query استفاده می کنید کافی است Query1.Requery() را برای Refresh شدن وارد کنید
این روش رو امتحان کردم. جواب نداد...
tiphooo
چهارشنبه 10 اسفند 1390, 02:08 صبح
پس مشکل کارتان از جای دیگری است یک نمونه کدساده از کارتان را بگذارید تا بررسی شود
DarkACE
چهارشنبه 10 اسفند 1390, 02:23 صبح
من چند تا Edit دارم به اسم های txtFirstname و txtLastname و ...
دستور رو به شکل زیر می دم.
اسم دیتا ماژولم : fmdmMain
اسم جدول: tbEmployee
دستوراتم به این شکله:
fmdmMain.tbEmployee.Open
fmdmMain.tbEmployee.Insert
fmdmMain.tbEmployeeFirstname.asString := txtFirstname.text
fmdmMain.tbEmployeeLastname.asString := txtLastname.text
fmdmMain.tbEmplyee.post
این یه نمونه ساده.
که توی Formshow فرمی که می خوام ازش استفاده کنم این دستور رو می نویسم:
fmdmMain.tbEmployee.Open
tiphooo
چهارشنبه 10 اسفند 1390, 03:24 صبح
یک بار ببند و مجدد باز کن
fmdmMain.tbEmployee.Close;
fmdmMain.tbEmployee.Open;
BORHAN TEC
چهارشنبه 10 اسفند 1390, 08:21 صبح
چرا موقعی که پست می زنید دقیقاً ذکر نمی کنید که از چه روشی با پایگاه داده ارتباط برقرار می کنید. ما که نفهمیدیم که از BDE یا ADO یا dbExpress و یا Interbase Express استفاده می کنید، تا بتونیم جواب درستی بدهیم! :ناراحت:
DarkACE
چهارشنبه 10 اسفند 1390, 17:13 عصر
Connection String : Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=Mydatabase1;Data Source=.;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Workstation ID=PC1;Use Encryption for Data=False;Tag with column collation when possible=False;
و از ADOTable و ADOConnection و... در قسمت dbGo استفاده می کنم.
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.