PDA

View Full Version : سوال: یه چیزی تو مایه های ذخیره کردن که نتونستم براش اسم انتخاب کنم



_abiriamir
یک شنبه 11 مرداد 1388, 15:41 عصر
سلام دوستان
مشکل من در اصل با sql server هست ولی راهش رو باید از شما بخوام چون ربط به کلاس TDataSet دلفی داره

مشکل من اینه که به دو دلیل فیلدم null نمیپذیره
1- primary key هست
2- identify column هست
خب وقتی من با کد بالا به هرکدوم از فیلدام مقدار میدم به فیلد row مقدار نمیدم
درسته؟
وقتی میخوام ذخیرش کنم هنوز row مقداری نگرفته و هنوز identify column کار خودشو نکرده
پس هنوز خالیه و این با نوع فیلدم که خالی نمی گیره مغایره
حالا من باید کاری بکنم که identify column کار خودشو بکنه و row مقدار بگیره

بهنام بهمنی
یک شنبه 11 مرداد 1388, 18:28 عصر
شما کدی رو ذکر نکردید.

اما مشکل شما باید فیلد دیگری باشد, چون فیلد کلید شما که identity هم است, خودش بدون دخالت شما مقدار می گیرد.

mehdimdp
یک شنبه 11 مرداد 1388, 18:52 عصر
شما مطمئني كه identity هست ؟؟؟

ar_mokhtari
دوشنبه 12 مرداد 1388, 11:57 صبح
شما كد پيغام خطا يا قسمتي از كدت رو بذاري بهتر به نتيجه ميرسي. دوستان هم گفتند فيلد Identity همونطور كه از اسمش مياد خودش پر ميشه. اصلاً SQLServer به شما اجازه مقداردهي به فيلد Identity رو نميده.

_abiriamir
دوشنبه 12 مرداد 1388, 14:58 عصر
شما مطمئني كه identity هست ؟؟؟
بله مطمئنم



شما كد پيغام خطا يا قسمتي از كدت رو بذاري بهتر به نتيجه ميرسي. دوستان هم گفتند فيلد Identity همونطور كه از اسمش مياد خودش پر ميشه. اصلاً SQLServer به شما اجازه مقداردهي به فيلد Identity رو نميده.
بله من هم سعی بر مقداردهی اون نکردم
فقط میخواهم کاری بکنم که خودش بهش مقدار بده چون وقتی که من دستور post رو میزنم هنوز مقداری براش در نظر نگرفته


-------------------------------------------------------------------------------------------------------------------


MainFrm.DataSource1.DataSet.Open;
MainFrm.DataSource1.DataSet.Last;
MainFrm.DataSource1.DataSet.Insert;


mainfrm.DataSource1.DataSet.FieldByName('Name').As String := name.Text;
mainfrm.DataSource1.DataSet.FieldByName('Date').As String := (d);
mainfrm.DataSource1.DataSet.FieldByName('Number'). AsInteger := StrToInt(number.Text);
mainfrm.DataSource1.DataSet.FieldByName('OneCost') .AsInteger := StrToInt(One_Cost.text);
mainfrm.DataSource1.DataSet.FieldByName('AllCost') .AsInteger := (StrToInt(number.Text) * StrToInt(One_Cost.Text));
mainfrm.DataSource1.DataSet.FieldByName('Cost').As Integer := 0;
mainfrm.DataSource1.DataSet.FieldByName('Dead').As String := '0';
mainfrm.DataSource1.DataSet.FieldByName('Hoze').As String := Hoze.Text;
mainfrm.DataSource1.DataSet.FieldByName('Last Changes').AsString := d;
mainfrm.DataSource1.DataSet.FieldByName('Status'). AsString := 'ÝÑæÎÊå äÔÏå';

mainfrm.DataSource1.DataSet.Post;


ارور:
http://barnamenevis.org/forum/attachment.php?attachmentid=34384&d=1249132392

_abiriamir
دوشنبه 12 مرداد 1388, 14:59 عصر
راستی فیلدم هم int هست

_abiriamir
دوشنبه 12 مرداد 1388, 17:41 عصر
سلام
1- از همه ممنونم
2- از همه معذرت میخوام

1- چون به فکر من بودین
2- چون مشکل از یه جای دیگه از برنامه ام بود که حل شد