PDA

View Full Version : سوال: NULL TO VALUE



dandelion_fallen
جمعه 22 آبان 1388, 02:42 صبح
سلام خدمت دوستان خوبم
برنامه ای دارم مینویسم که توش یه پیمایش تو پایگاه داده صورت میگیره
و اگر مقادیری رو قبلا تو پایگاه NULL در نظر گرفته باشیم ,باید بتونه اولا همه NULL ها رو پیدا کونه وبعد با یه مقدار مورد نظر ما (INT ,CHAR , .....) عوض کنه .
اما برنامه کار نمیکنه .:ناراحت::گریه:
یه قطعه از کد من به این صورت هستش ::افسرده:



private void Button_Update_Click_1(object sender, EventArgs e)
{
switch (ComboBox_Type.SelectedIndex)
{
case 0:
ConvertNullToMyValue(TextBox_Server.Text, TextBox_DataBase.Text, TextBox_Tbl.Text, TextBox_Value.Text, TextBox_Length.Text, SqlDbType.NVarChar);
break;
case 1:
ConvertNullToMyValue(TextBox_Server.Text, TextBox_DataBase.Text, TextBox_Tbl.Text, TextBox_Value.Text, TextBox_Length.Text, SqlDbType.NChar);
break;


کسی میتونه کمکم کنه ؟؟؟:ناراحت:
اگه کسی کد تبدیل NULL به یک مقدار رو (INT ,CHAR ,...)داره بزاره ممنون میشم .:ناراحت:

اَرژنگ
جمعه 22 آبان 1388, 05:50 صبح
سلام خدمت دوستان خوبم
برنامه ای دارم مینویسم که توش یه پیمایش تو پایگاه داده صورت میگیره
و اگر مقادیری رو قبلا تو پایگاه NULL در نظر گرفته باشیم ,باید بتونه اولا همه NULL ها رو پیدا کونه وبعد با یه مقدار مورد نظر ما (INT ,CHAR , .....) عوض کنه .
اما برنامه کار نمیکنه .:ناراحت::گریه:
یه قطعه از کد من به این صورت هستش ::افسرده:



privatevoid Button_Update_Click_1(object sender, EventArgs e)
{
switch (ComboBox_Type.SelectedIndex)
{
case 0:
ConvertNullToMyValue(TextBox_Server.Text, TextBox_DataBase.Text, TextBox_Tbl.Text, TextBox_Value.Text, TextBox_Length.Text, SqlDbType.NVarChar);
break;
case 1:
ConvertNullToMyValue(TextBox_Server.Text, TextBox_DataBase.Text, TextBox_Tbl.Text, TextBox_Value.Text, TextBox_Length.Text, SqlDbType.NChar);
break;


کسی میتونه کمکم کنه ؟؟؟:ناراحت:
اگه کسی کد تبدیل NULL به یک مقدار رو (INT ,CHAR ,...)داره بزاره ممنون میشم .:ناراحت:


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

dandelion_fallen
جمعه 22 آبان 1388, 11:05 صبح
سلام دوست عزیز
جواب سوال 1 : در طول پروژه معمولا بعضی افراد مقادیری رو به عنوان NULL در نظر میگیرند . از دیتا بیس میشه درست کرد اما هدف من این هستش که از برنامه این کار انجام بشه . :افسرده:

جواب سوال 2 : کمبوباکس و تکست و .. برای قسمت اول این موضوع هست .با اونها ابتدا سرور هامو لیست میکنم . بعد پایگاه داده هام رو نمایش میدم در یک لیست بوکس ویک لیست باکس دیگه هم دارم که کارش به این صورته که : هر زمان بر روی یه پایگاه داده از لیست باکس اول کلیک کردم ، تمامی جداول اون دیتا بیس رو در لیست باکس دوم نشون میده و همزمان تو یه گرید TABLE مربوطه به نمایش در میاد .
حالا میخوام اگه تو جدولی که میبینم مقادیر NULL بود ، با یه پیمایش همهگی رو پیدا کنه و با مقدار دلخواه عوض کنم .
TextBox_Length هم برای این گذاشتم که طول متغیری رو که میخوام جایگزین NULL ها کنم ،نشون بده

جواب سوال 3 : دوست عزیز هر روشی که من رو به هدف برسونه قطعا برام مفید خواهد بود .:گریه:
مرسی که جواب دادین :لبخندساده:

Saeed.Masoumi
جمعه 22 آبان 1388, 13:43 عصر
برای پیمایش مثلا:



select Table_1.ID from Table_1 where Table_1.FirstName is null

بعد این ای دی های بازگشتی این کوئری رو که بدست آوردی توی یک آرایه بریز:



SqlCommand Command=new SqlCommand("کد بالا");
SqlDataReader DR = Command.ExecuteReader();
System.Collections.ArrayList AL = new System.Collections.ArrayList(0);
while (DR.Read())
{
AL.Add(DR[0]);
}
for(int i=0;i<AL.Count;i++)
{
insert into Table_1 (ID,FirstName) values (AL[i],'O');
}
AL.clear();

من فعلا این راه به زهنم می رسه البته احتمالا راه های زیادی هست
توجه کن این کد ها رو تبدیل کن به سی شارپ چون اون تیکه ها که کوئری ها رو نوشتم باید بزاریشون توی اسکیوال کامند