PDA

View Full Version : اضافه کردن فیلد به جدول در حین اجرای برنامه



MRasoul
دوشنبه 17 آذر 1393, 10:23 صبح
سلام به همه
یه سوال داشتم
یک جدول توی دیتابیس هست که مثلا 5 تا فیلد داره،حالا می خوام بدونم که آیا میشه در زمان اجرای برنامه یک فیلد به این 5تا فیلد اضافه کرد که بشه 6تا یا خیر؟
اگر میشه چجوریه؟

MRasoul
دوشنبه 17 آذر 1393, 10:41 صبح
آقا پیداش کردم
اینجوری میشه

cn.Open();
SqlCommand cmd = new SqlCommand();
cmd.Connection = cn;
cmd.CommandText = "ALTER TABLE mytable ADD mycolumn NVARCHAR(20) NULL";
cmd.CommandType = CommandType.Text;
cmd.ExecuteNonQuery();
cn.Close();
MessageBox.Show("ستون اضافه شد");

فقط یه سوال اینکه این امکان برای کاربر بعدا باعث بروز مشکل توی برنامه نمیشه؟
منظورم زمانیه که مثلا قراره جدول ویرایش بشه!آخه الان دستور Update برای 5تا فیلد نوشته شده!

محمد رضا فاتحی
دوشنبه 17 آذر 1393, 10:50 صبح
توی آپدیت به مشکلی بر نمی خوره اون ستونت رو آپدیت نمی کنه ولی اگه دستورات Select رو به صورت
Select * from mytable
نوشته باشی و به صورت فیلدی نخونده باشی ممکنه مشکل ساز بشه

MRasoul
دوشنبه 17 آذر 1393, 10:56 صبح
آقا الان که فکر کردم مشکلات بیشتر میشه
مثلا اگر کاربر زمانی که جدول 5تا ستون داره یک بک آپ بگیره و زمانی که 6تا ستون داره بخواد رستور کنه به مشکل برمیخوره،درسته؟
راه حلی هست؟

MRasoul
دوشنبه 17 آذر 1393, 10:58 صبح
توی آپدیت به مشکلی بر نمی خوره اون ستونت رو آپدیت نمی کنه ولی اگه دستورات Select رو به صورت
Select * from mytable
نوشته باشی و به صورت فیلدی نخونده باشی ممکنه مشکل ساز بشه

خب نیاز داریم اون ستون هم آپدیت بشه!!!!!!!!!!!!!!

محمد رضا فاتحی
دوشنبه 17 آذر 1393, 11:06 صبح
تو بک آپ که صد در صد به مشکل بر می خوری بعد از بازیابی ستون جدولت بر می گرده به حالت قبل.....


خب نیاز داریم اون ستون هم آپدیت بشه!!!!!!!!!!!!!!
خوب چاره چیه؟؟؟ اگه برنامت به گونه ای هست که از قبل مشخصه په اتفاقی میوفته و رفتار کاربر از قبل برنامه ریزی شده است که مثلا فلان ستون رو اضافه می کنه یا نه می تونه برای بحث آپدیت و کوئری گرفتن یه سیاستی به خرج بدی اگه غیر این باشه یا باید آپدیت برنامه بدی(مثلا ارتقای دیتابیس پیش میاد) یا.......دیگه من بلد نیستم!!!!

MRasoul
دوشنبه 17 آذر 1393, 11:11 صبح
تو بک آپ که صد در صد به مشکل بر می خوری بعد از بازیابی ستون جدولت بر می گرده به حالت قبل.....

خوب چاره چیه؟؟؟ اگه برنامت به گونه ای هست که از قبل مشخصه په اتفاقی میوفته و رفتار کاربر از قبل برنامه ریزی شده است که مثلا فلان ستون رو اضافه می کنه یا نه می تونه برای بحث آپدیت و کوئری گرفتن یه سیاستی به خرج بدی اگه غیر این باشه یا باید آپدیت برنامه بدی(مثلا ارتقای دیتابیس پیش میاد) یا.......دیگه من بلد نیستم!!!!

قربونت عزیز،لطف کردی
منم به این نتیجه رسیدم که چندتا ستون اضافه بذارم و از دید کاربر مخفی کنم و زمان نیاز کاربر،ستون مورد نظر قابل مشاهده باشه