ورود

View Full Version : پر کردن مقادير NULL با مقدار پيشفرض در DB



armin8651
جمعه 09 بهمن 1388, 22:38 عصر
سلام
کسی برنامه ای يا کدی يا اطلاعاتی در باره پر کردنه مقادير NULL در پايگاه داده داره؟ مثلاً با كليك روي يك دكمه توسط كاربر ، محتوي كليه فيلدهاي روي همه ركوردهاي همه جداول ديتابيس كه داراي مقدار NULL هستند رو با مقدار پيش فرض پركنه.
مثل اينکه با ساخت يک stored procedureميشه اين کار رو انجام داد.

از اين پست هم ميتونين اطلاعاتی به دست بيارين:
http://www.barnamenevis.org/forum/showthread.php?t=195555

کسی چيزی ميدونه لطفاً کمک کنه. ممنون

jahanmanesh
جمعه 09 بهمن 1388, 23:01 عصر
سلام منظورت رو كامل نفهميدم ولي من چنتا راه رو ميگم كه خيلي پيش پا افتادن!

1.وقتي داري پايگاه داده ات رو ميسازي به فيلد هات مقدار Default بدي كه اگه كاربر چيزي وارد نكرد اون جاش قرار بگيره


2.يه تابع بنويسي كه اونجا هايي كه كاربر پر نميكنه رو بجاش يه مقدار بزاره



if textbox1.text = "" then
textbox1.text = "Default"
end if


بعدم اين تابع رو قبل از تابع آپديت پايگات بياري!


3.يه for بزاري هرجا تو ديتاگريدت نول بود رو با يه مقداري پر كنه

armin8651
جمعه 09 بهمن 1388, 23:21 عصر
سلام منظورت رو کامل نفهمیدم ولی من چنتا راه رو میگم که خیلی پیش پا افتادن!

1.وقتی داری پایگاه داده ات رو میسازی به فیلد هات مقدار Default بدی که اگه کاربر چیزی وارد نکرد اون جاش قرار بگیره


2.یه تابع بنویسی که اونجا هایی که کاربر پر نمیکنه رو بجاش یه مقدار بزاره



if textbox1.text = "" then
textbox1.text = "Default"
end if


بعدم این تابع رو قبل از تابع آپدیت پایگات بیاری!


3.یه for بزاری هرجا تو دیتاگریدت نول بود رو با یه مقداری پر کنه

فرض ميکنيم که پايگاه داده از قبل ساخته شده و مقادير NULL هم در فيلدهش موجوده و همچنين ميخوايم برای همه جدول های پايگاه داده اين کار رو کنه نه فقط اون جدول که تو دتا گريد نشون ميديم
يکم جدی تر از اين حرفاست، ولی بازم ممنون :چشمک:

armin8651
شنبه 10 بهمن 1388, 13:09 عصر
کسی از دوستان اطلاعاتی تو این ضمینه نداره؟ :متفکر:

armin8651
شنبه 10 بهمن 1388, 19:48 عصر
چرا کسی پیدا نمیشه به ما کمک کنه :اشتباه:

sari-1369
شنبه 10 بهمن 1388, 23:51 عصر
تا اونجایی که من میدونم با SP میشه :

انطوری که اگر اسم جدول ها و فیلد هارو میدونی به این صورت باید بنویسی .



Updata Table1 Set name='Def' , Family='Def' where name=null or family=null
یه سری درستورات هم توی SqlServer هستش که لست جداول و فیلد هاشونو برمیگردونه ولی متاسفانه من تا حالا باهاش کار نکردم والا راهنماییت میکردم . فقط چند تا مثال که تو یه کتاب خوندم واست میزارم.

یه مثالش اینه که :

فرض کن میخوایم بدونیم چه جداولی تو بانک اطلاعاتی Test وجود داره .



Select * from SysObjects Where xType='u'
یا اینکه ، مثلا میخوایم بدونیم چه فیلد هایی تو جدول Personnel وجود داره .



Select Name
From SysColumns
Where ID=(Select ID from SysObject Where Name='personnel' )

Alirezanet
یک شنبه 11 بهمن 1388, 01:12 صبح
خوب فکر کنم از vb2008 استفاده میکنین .. به جای Null میتونید Nothing استفاده کنید.

armin8651
یک شنبه 11 بهمن 1388, 09:53 صبح
تا اونجایی که من میدونم با SP میشه :

انطوری که اگر اسم جدول ها و فیلد هارو میدونی به این صورت باید بنویسی .



Updata Table1 Set name='Def' , Family='Def' where name=null or family=null
یه سری درستورات هم توی SqlServer هستش که لست جداول و فیلد هاشونو برمیگردونه ولی متاسفانه من تا حالا باهاش کار نکردم والا راهنماییت میکردم . فقط چند تا مثال که تو یه کتاب خوندم واست میزارم.

یه مثالش اینه که :

فرض کن میخوایم بدونیم چه جداولی تو بانک اطلاعاتی Test وجود داره .



Select * from SysObjects Where xType='u'
یا اینکه ، مثلا میخوایم بدونیم چه فیلد هایی تو جدول Personnel وجود داره .



Select Name
From SysColumns
Where ID=(Select ID from SysObject Where Name='personnel' )





مرسی اینا رو بلد بودم ولی نتونستم کاری باهاشون بکنم

در ضمن SysObjects و SysColumns تو پایگاه داده Master هستن ، خیلی جدول و stored procedure به در بخور داره که پیشنهاد می کنم بررسی کنیدشون :چشمک:

بازم ممنون