PDA

View Full Version : کار با فیلدی از نوع TimeStamp در برنامه c#



odiseh
دوشنبه 02 دی 1387, 11:09 صبح
سلام
من توی جدولم یه فیلد دارم از نوع TimeStamp که در حقیقت Version رکورد رو نگه می داره.
سوال من اینه که پروپرتی معادل این فیلد رو توی class ام از چه نوعی در نظر بگیرم؟
ایا شما تا بحال این کار رو انجام دادین؟
لطفاراهنمایی کنید

با تشکر

Amir Oveisi
دوشنبه 02 دی 1387, 11:36 صبح
از همون نوع TimeStamp

odiseh
دوشنبه 02 دی 1387, 12:31 عصر
c# که TimeStamp نداره!

Amir Oveisi
دوشنبه 02 دی 1387, 18:32 عصر
شرمنده منظورم TimeSpan بود

ennovation
سه شنبه 03 دی 1387, 22:43 عصر
سلام
برای بارگذاری این متغیر در کلاس میتونی از نوع []Byte استفاده کنی

public Byte[] Time_Stamp

برای خواندن این فیلد و دادن مقدار از بانک به این متغیر میتونی مثل مثال من عمل کنی

string sql = " SELECT time_stamp " +
" FROM mytable WHERE ID ='1' ";
.....
....
.....

SqlDataReader reader = cmd.ExecuteReader();
if (reader.read())
{
Time_Stamp = reader.GetSqlBytes(6).Buffer;
}


موفق باشی

odiseh
چهارشنبه 04 دی 1387, 14:21 عصر
ممنون از مثالت.
ولی بالاخره اینمتغیر Time_Stamp مقداری که نشون می ده هگز هستش یا چی؟

ennovation
جمعه 06 دی 1387, 01:16 صبح
سلام

مهمترین نکته ها در مورد این نوع فیلد
. این فیلد باینری و مقدار آن 8 بایت میباشد
. توسط sql بطور اتومات تولید میشود و مقدار تقریبی زمان و تاریخ آخرین تغییرات یک رکورد را بصورت کد ذخیره میکند.
. توابعی وجود دارد که میتوان این مقدار را به زمان وتاریخ تبدیل کرد و متوجه زمان و تاریخ آخرین تغییرات در این فیلد شد.
. فقط قابل خواندن است و نمیتوان به آن مقدار دهی کرد .
. میتوان در هنگام خواندن رکورد توسط کاربر این فیلد را هم در یک متغییر نگهداری کرد و هنگام نوشتن رکورد در جدول مقدار نگهداری شده را با مقدار فعلی مقایسه کرد ودر صورت عدم تطابق به کاربر اطلاع داد که این رکورد توسط کاربر دیگری تغییر کرده است.
. بعنوان کلید نباید استفاده شود چون مقدار آن با هر update عوض میشود .

odiseh
یک شنبه 08 دی 1387, 12:30 عصر
ennovation ، توضیحاتت جامع و مانع بود. سپاسگزارم.