ورود

View Full Version : مشکل Bind کردن ADOQuery و DBGrid



rezamahdizadeh
پنج شنبه 28 مرداد 1389, 07:04 صبح
می خواستم یک DBGrid را با اجرای یک Query که حاصل join چند جدول است پر کنم به این خاطر از ADOQuery استفاده کردم و مشکل زمانی پدید می اید که کاربر مقدار یک فیلد رکوردی را در DBGrid تغییر می دهد و به رکورد دیگری می رود به Database اعمال می شود در حالیکه من می خواهم اعمال نشود و خود بعدا با اجرای کد خودم و انجام یردازش در دیتابیس تغییرات را اعمال کنم. آیا بدون استفاده از ClientDataSet امکان پذیر است؟

pezhvakco
پنج شنبه 28 مرداد 1389, 08:52 صبح
درود :
اگه درست فهمیده باشم می خوای از تغییر داده ها در جدول جلوگیری کنی .
میتونی از قسمت Options مربوط به جدول تنظیم dgEditing رو false کنی.
تا جایی که می دونم اگه شما از یک یا چند جدول کوئری بگیری و اون ها رو نمایش بده، هر تغییری که در داده های کوئری بدی در داده های اصلی تغییری ایحاد نمیشه .

بدرود .

rezamahdizadeh
پنج شنبه 28 مرداد 1389, 10:08 صبح
درود :
اگه درست فهمیده باشم می خوای از تغییر داده ها در جدول جلوگیری کنی .
میتونی از قسمت Options مربوط به جدول تنظیم dgEditing رو false کنی.
تا جایی که می دونم اگه شما از یک یا چند جدول کوئری بگیری و اون ها رو نمایش بده، هر تغییری که در داده های کوئری بدی در داده های اصلی تغییری ایحاد نمیشه .

تقريبا درست فهميده اي
مي خواهم کاربر داده هاي گريد را تغيير دهد اما اين تغييرات مستقيما در ديتابيس اعمال نشود و خودم در قسمت کد يک Button اين کار را بکنم يعني در واقع داده ها را از ديتابيس بخوانم و با کد و با اعمال پردازش روي داده ها تغييرات را ديتابيس ثبت کنيم.

pezhvakco
پنج شنبه 28 مرداد 1389, 13:35 عصر
اما اين تغييرات مستقيما در ديتابيس اعمال نشود
این کار هم نمیشه چون شما یک نمایش از جدول ها در یک جدول موقت ( کوئری و بدون وجود خارجی) داری .


داده ها را از ديتابيس بخوانم و با کد و با اعمال پردازش روي داده ها تغييرات را ديتابيس ثبت کنيم.
برای این کار باید از یک جدول میانه (وجود خارجی داشته باشه و موقت برای نگهداری داده ها و تغییرات) استفاده کنی و بعد داده ها رو از اون خوانده و در جدول اصلی ذخیره کنی .

rezamahdizadeh
پنج شنبه 28 مرداد 1389, 16:21 عصر
با استفاده از ClientDataSet چي؟

pezhvakco
پنج شنبه 28 مرداد 1389, 17:11 عصر
چی ... چی ؟
اگه منظورت استفاده برای ذخیره تغییرات لحظه ای است که برای اون کاری که شما می خوای فکرنمی کنم ولی اینو داشته باش ... http://barnamenevis.org/forum/showthread.php?t=72033