PDA

View Full Version : سوال: بررسی وجود یک column در دیتابیس و در صورت عدم وجود ساخت آن



reza1699
جمعه 23 فروردین 1392, 11:44 صبح
من میخوام کدی بنویسم که در یک تیبل وجود یک ستون با یک نام خاص بررسی بشه و در صورت عدم وجود آن ، اون ستون با اون نام مدنظر و با دیتا تایپ مد نظر ساخته بشه !
دیتابیس از نوع sql هست.
با تشکر از دوستان...ضمنا قبل از این جستجو کردم چیزی در این خصوص پیدا نکردم !
اگر کسی از دوستان بتونه یک نمونه برنامه اینجوری بهم معرفی کنه ممنون میشم .

JaVaD_1900
جمعه 23 فروردین 1392, 12:01 عصر
دوستمون aliasghar2 این جا توضیح دادن چجوری فیلد ها رو انتخاب کنی از جدول، بعد هم مقایسه بکن خودت و اگه دیدی یکی نیس میشه با Alter ایجادش کنی
این مورد در حال بحث هس تو این تاپیک و خواستی استفاده کن

http://barnamenevis.org/showthread.php?392276-%D9%85%D9%82%D8%A7%DB%8C%D8%B3%D9%87-%D9%88-%D9%87%D9%85%DA%AF%D8%A7%D9%85-%D8%B3%D8%A7%D8%B2%DB%8C-%D8%A8%D8%A7%D9%86%DA%A9-%D8%A7%D8%B7%D9%84%D8%A7%D8%B9%D8%A7%D8%AA%DB%8C-(DataBase)

reza1699
جمعه 23 فروردین 1392, 12:25 عصر
اون قضیه alter رو میدونم !
ولی اینکه من چطور نام مدنظرم رو با تمام نام های موجود مقایسه کنم ، مشکلم هستش
در این دستور
select column_name,* from information_schema.columns
where table_name = 'YourTableName'
اگر اشتباه نکنم تمام نام ستون ها رو میتونم در یک دیتاتیبل ذخیره کنم.
حالا چطور نام مدنظرم رو با تمام اونها مقایسه کنم؟

JaVaD_1900
جمعه 23 فروردین 1392, 12:28 عصر
خب اونجا که نوشته where ، یه شرط دیگه اضافه کن به آخرش، اینو :

And Column_Name = 'id'

بجای آیدی هم مقداری که با دیتا تیبل میخونی رو بزار، حال اگه یه فیلد بود، برمیگردونه، نبود هم برنمیگردونه
میتونی اینطوری بفهمی فیلد هس یا نیس

reza1699
جمعه 23 فروردین 1392, 12:33 عصر
در واقع از این شرط بعدش استفاده کنم
if (dt.Rows.Count > 0)

فکر کنم کاملا جوابم رو گرفتم
خیلی خیلی ازتون ممنون ! مشکلم حل شد فکر میکنم