PDA

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



mozaheb
دوشنبه 05 اردیبهشت 1390, 15:55 عصر
با سلام خدمت تمام دوستان

من یه برنامه می خوام بنویسم که توی اون کاربر بتونه فیلد های مورد نیاز خودش از هر نوعی رو ایجاد کنه

از دوستان اگه کسی راه حل خوبی برای این کار بلده ممنون میشم که من رو راهنمایی کنه

با تشکر

Mani_rf
دوشنبه 05 اردیبهشت 1390, 17:18 عصر
این کاری که شما می خواهید انجام دهید کار سختی نیست اما کار منطقی به نظر نمی رسد که شما دیتابیس برنامه را به دست کاربر بسپارید که به آن فیلد اضافه کند!
چه کاری می خواهید انجام دهید؟

barbodsoft.com
دوشنبه 05 اردیبهشت 1390, 19:00 عصر
این کاری که شما می خواهید انجام دهید کار سختی نیست اما کار منطقی به نظر نمی رسد که شما دیتابیس برنامه را به دست کاربر بسپارید که به آن فیلد اضافه کند!
چه کاری می خواهید انجام دهید؟

خیلی وقتا هم می تونه منطقی باشه. مثلا شما یک برنامه ای نوشتی و رو ی سیستم کاربر نصب کردی این کاربر با این برنامه کار می کنه بعد از مدتی شما تغییر اتی تو برنامه ایحاد می کنی و ممکنه تغییراتی نیز تو دیتابیس ایجاد کرده باشی. مثلا یک فیلد یا یک جدول اضافه شد. باید چیکار کرد.


این هم کد


Dim sqlCom As New SqlClient.SqlCommand("", con)

Dim CREATE_Text As String = ""
Try

CREATE_Text = "IF NOT EXISTS (SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE" + _
" TABLE_NAME = 'TableName' AND COLUMN_NAME = 'FildName')ALTER TABLE" + _
" TableName ADD FildName nvarchar(50)"
With sqlCom
.Parameters.Clear()
.CommandText = CREATE_Text
.ExecuteNonQuery()
End With
MessageBox.Show("عملیات آپدیت جدول با موفقیت انجام شد")
Catch ex As Exception
MessageBox.Show(ex.Message & "+ خطا در آپدیت جدول ")
End Try

mozaheb
چهارشنبه 07 اردیبهشت 1390, 09:14 صبح
با تشکر از دوستانی که راهنمایی کردن

من می خوام برنامه ای بنویسم که کاربر توی اون فیلد هایی که لازم داره رو خودش ایجاد کنه و در صورتی که به اون نیاز نداشت اون فیلد رو حذف کنه . واسه همین می خوام توی برنامم کاربر بتونه به بانک فیلد اضافه کنه

در ضمن در صورت ممکن درباره نحوه حذف فیلد و همچنین محل نگهداری فیلد های اضافه شده نیز من رو راهنمایی کنین

با تشکر

barbodsoft.com
چهارشنبه 07 اردیبهشت 1390, 11:44 صبح
با تشکر از دوستانی که راهنمایی کردن

من می خوام برنامه ای بنویسم که کاربر توی اون فیلد هایی که لازم داره رو خودش ایجاد کنه و در صورتی که به اون نیاز نداشت اون فیلد رو حذف کنه . واسه همین می خوام توی برنامم کاربر بتونه به بانک فیلد اضافه کنه

در ضمن در صورت ممکن درباره نحوه حذف فیلد و همچنین محل نگهداری فیلد های اضافه شده نیز من رو راهنمایی کنین

با تشکر

اینکار خیلی صحیح نیست مگر اینکه دلیل خیلی مهمی داشته باشی که حالت عادی نشه .

Mani_rf
پنج شنبه 08 اردیبهشت 1390, 09:59 صبح
اینکار خیلی صحیح نیست مگر اینکه دلیل خیلی مهمی داشته باشی که حالت عادی نشه .

حالا به حرف من رسیدی؟



خیلی وقتا هم می تونه منطقی باشه. مثلا شما یک برنامه ای نوشتی و رو ی سیستم کاربر نصب کردی این کاربر با این برنامه کار می کنه بعد از مدتی شما تغییر اتی تو برنامه ایحاد می کنی و ممکنه تغییراتی نیز تو دیتابیس ایجاد کرده باشی. مثلا یک فیلد یا یک جدول اضافه شد. باید چیکار کرد.


برای این کار شما هرگز نباید کنترل دیتابیس را به کاربر بسپاری ، باید برنامه آپدیتی بنویسی اسکریپت مورد نظر را رو دیتابیس اجرا کنه و تغییرات لازم را انجام بده. کابر حتا نباید متوجه تغییراتی که شما انجام دادی بشه.

یاشار رضایی نسب
پنج شنبه 08 اردیبهشت 1390, 10:21 صبح
سلام من یه برنامه نوشتم که اسم جدولو از کاربر می گیره و اونو ایجاد میکنه ولی یه مشکل دارم اونم اینه که فیلد هارو خودم می خوام تو کد نویسی مشخص کنم که چه فیلدهایی تو جدول باشه ،
چهطوری می تونم این کارو انجام بدم ؟

barbodsoft.com
پنج شنبه 08 اردیبهشت 1390, 11:19 صبح
حالا به حرف من رسیدی؟



خیلی وقتا هم می تونه منطقی باشه. مثلا شما یک برنامه ای نوشتی و رو ی سیستم کاربر نصب کردی این کاربر با این برنامه کار می کنه بعد از مدتی شما تغییر اتی تو برنامه ایحاد می کنی و ممکنه تغییراتی نیز تو دیتابیس ایجاد کرده باشی. مثلا یک فیلد یا یک جدول اضافه شد. باید چیکار کرد.


برای این کار شما هرگز نباید کنترل دیتابیس را به کاربر بسپاری ، باید برنامه آپدیتی بنویسی اسکریپت مورد نظر را رو دیتابیس اجرا کنه و تغییرات لازم را انجام بده. کابر حتا نباید متوجه تغییراتی که شما انجام دادی بشه.

دوست عزیز سلام. اولا تو بحث های علمی همیشه اختلاف نظر وجود داره و اگه می خواهیم از نظر علمی پیشرفت کنیم نیاز به بحث داریم. به نظرم به این شکل حرف زدن "حالا به حرف من رسیدی؟ " نمی تونه خیلی مفید باشه.

و اما : من با ساختن کامل دیتابیس توسط کاربر مخالفم . اصلا با دستکاری کاربر در دیتابیس مخالفم اما این نمی تونه قاعده کلی باشه بعضی وقتا تحت شرایط خاصی لازم هست که این کار رو بکنیم. من تو یکی از برنامه هام که الان دو سالی هست داره کار می کنی برای آپدیت دیتابیس دو سال پیش از این روش استفاده کردم مشکلی هم پیش نیومد و فیلد های جدید اضافه شدند . البته کاربر در این قضیه هیچ نقشی نداشت.

Mani_rf
پنج شنبه 08 اردیبهشت 1390, 11:39 صبح
من با حرفت کاملا موافقم ، اختلاف نظر و جود داره و باعث پیشرفت میشه. اما این حرف را به این خاطر زدم که من منظور این دوستمون را همون اول متوجه شدم و جوابی که شما بعد از توضیح بیشرشون دادی را همون اول دادم و در واقع می خواستم به این پی ببری که من از روی ناآگاهی چنین جوابی ندادم و همه جوانب را در نظر گرفتم.

Mani_rf
پنج شنبه 08 اردیبهشت 1390, 11:42 صبح
سلام من یه برنامه نوشتم که اسم جدولو از کاربر می گیره و اونو ایجاد میکنه ولی یه مشکل دارم اونم اینه که فیلد هارو خودم می خوام تو کد نویسی مشخص کنم که چه فیلدهایی تو جدول باشه ،
چهطوری می تونم این کارو انجام بدم ؟

یک کامبا باکس با نوع های مورد نظر ایجاد کن؛ کاربر نام فیلد را در تکس باکسی وارد می کند و از مقابل آن نوع آن را (که شما آن را به شکل مورد نظر فیلتر کرده اید) انتخاب می کند.
با استفاده از کد SQL هم فیلد مورد نظر را به دیتابیس اضافه می کنید.