PDA

View Full Version : ذخیره موقت رکورد درado



Mehdi0016
دوشنبه 26 دی 1384, 00:20 صبح
سلام
آیا میشه تغییرات یه رکورد رو توی یه رکوردست ذخیره کرد بدون اینکه
تغییرات در بانک اعمال بشه ؟
در واقع من دیتا رو از چند فرم مختلف میگیرم و می خوام این دیتا ها تا آخرین لحظه قابل ویرایش باشه . در نهایت با زدن یه کلید رو فرم اصلی تغییرات توی بانک ذخیره بشه .
البته این دیتا ها مربوط به چند جدول می باشه و فیلدهای زیادی هم داره .
ممنون

meh_secure
دوشنبه 26 دی 1384, 12:51 عصر
در دات نت با استفاده از دیتاست میشه این کار رو کرد اما بنده در وی بی با استفاده از متغیر ها و آرایه ها این کار رو می کردم و در آخرین مرحله اونا رو به بانک می فرستادم.

ardvisoor
دوشنبه 26 دی 1384, 13:07 عصر
در vb شما می توانید از unbound recordset استفاده کنید. همچنین با امکان db.begintransaction قبل از هرگونه تغییر می توانید این کار را انجام تا زمانی که برنامه دستور db.committransact را دریافت نکند تغییرات را اعمال نمی کند فقط بیاد داشته باشید در صورت استفاده از این دستورات برای مدیریت خطا دستور db.rollbacktrans را که معادل تقریبی Recordset.cancelupdate است بکار برید.

meh_secure
دوشنبه 26 دی 1384, 13:10 عصر
از کجا این کنترل را پیدا کنیم ؟؟

ardvisoor
دوشنبه 26 دی 1384, 13:15 عصر
این از قابلیتهای AdoControl است، و منظورم از db ، همانActive Coonection است.
مثلا:
Dim db as adodb.connection
set db=new adodb.connection
db.open{attribute{
dim rs as adodb.recordset
set rs=new adodb.recordset
rs.open "x,y,z from tblOne",db,adopendynamic,adlockoptimistic
db.begintrans
rs.addnew
rs.fields("x").value=1
rs.update
db.committrans
........

meh_secure
دوشنبه 26 دی 1384, 18:06 عصر
گرفتم چی شد.

ehsan_ansaripoor
سه شنبه 27 دی 1384, 00:32 صبح
دوست عزیز به نظر بنده بهترین کار استفاده از یک Table موقتی است که اطلاعات را درون اون بریزی و نمایش بدی و دوباره پاک کنی این کار باعث میشه با کمبود حافظه روبرو نشی.

مبین رنجبر
سه شنبه 13 آذر 1386, 08:48 صبح
شما میتونی از تعریف نوع به صورت آرایه استفاده کنی .. یعنی اول توی رکورد مجازی یعنی همون ( Type ) بریز بعد ذخیرش کن ... مثل مثال زیر :


Type Record1
Filed1 As String
Filed2 As String
Filed3 As String
...
End Type