PDA

View Full Version : سوال: چطوری میشه فیلد بیت خالی بمونه



neda_dela
شنبه 01 خرداد 1389, 12:32 عصر
سلام دوستان:لبخندساده:
من یه فیلد بیت دارم برای تعیین وضعیت تاهل اشخاص که زمانی که مجرد علامن بخوره تو گرید چیزی نشون داده نشه و زمانی که متاهل علامت بخوره تو گرزید تیک بخوره
حالا در صورتی که یکی از این دو تا علامت بخورن که درست کار می کنه اما زمانی که کاربر اصلا اطلاعی نداره که شخصی که میخاد ثبت نام بشه مجرد هست یا متاهل و نمی خاد هیچ کدوم رو علامت بزنه باید چکار کنم؟ چون خطا میده
مرسی:لبخندساده:

M.YasPro
شنبه 01 خرداد 1389, 12:51 عصر
سلام
اگر null بود ، وضعیت تاهل رو نامشخص بزنه(البته نمیدونم عملی هست یا نه)
یا فیلد ر از نوع عدد در نظر بگیرید مثلا 0 یعنی نامشخص. 1 مجرد. 2 متاهل

neda_dela
یک شنبه 02 خرداد 1389, 07:35 صبح
سلام
اگر null بود ، وضعیت تاهل رو نامشخص بزنه(البته نمیدونم عملی هست یا نه)
یا فیلد ر از نوع عدد در نظر بگیرید مثلا 0 یعنی نامشخص. 1 مجرد. 2 متاهل
ببینید منم این کد رو برای دکمه ثبت ناممم توی اون فرم گذاشتم


SqlConnection myConnection = new SqlConnection("Data Source=.;Initial Catalog=quran;Integrated Security=True");
SqlCommand objCommand = new SqlCommand();
objCommand.Connection = myConnection;
objCommand.CommandText = "INSERT INTO [teacher-shakhsi](shsh,tarikh,name,fname,marriage,basij)VALUES(@sh, @date,@nme,@fnme,@mrg,@bsj)";
objCommand.Parameters.Add(new SqlParameter("@sh", (object)textBox3.Text));
objCommand.Parameters.Add(new SqlParameter("@date", (object)maskedTextBox1.Text));
objCommand.Parameters.Add(new SqlParameter("@nme", (object)textBox2.Text));
objCommand.Parameters.Add(new SqlParameter("@fnme", (object)textBox7.Text));
if (radioButton4.Checked == true)
objCommand.Parameters.Add("@bsj", SqlDbType.Bit, 1).Value = false;
else
objCommand.Parameters.Add("@bsj", SqlDbType.Bit, 1).Value = false;
if (radioButton3.Checked == true)
objCommand.Parameters.Add("@bsj", SqlDbType.Bit, 1).Value = true;
else
objCommand.Parameters.Add("@bsj", SqlDbType.Bit, 1).Value = false;
if (radioButton1.Checked == true)
objCommand.Parameters.Add("@mrg", SqlDbType.Bit, 1).Value = false;
else
objCommand.Parameters.Add("@mrg", SqlDbType.Bit, 1).Value = false;
if (radioButton2.Checked == true)
objCommand.Parameters.Add("@mrg", SqlDbType.Bit, 1).Value = true;
else
objCommand.Parameters.Add("@mrg", SqlDbType.Bit, 1).Value = false;
myConnection.Open();
objCommand.ExecuteNonQuery();
shakhsi_Load(sender, e);
MessageBox.Show("ںلéںمں¢ ں êيهçی¢ يں©§ ¬§");
myConnection.Close();

M.YasPro
یک شنبه 02 خرداد 1389, 09:39 صبح
bsj چیه؟ mrg چیه ؟ radio ها چین؟ارور داره ؟
بدون نامگذاری اصولی هیچکس از کدتون سر در نمیاره

neda_dela
یک شنبه 02 خرداد 1389, 23:40 عصر
bsj چیه؟ mrg چیه ؟ radio ها چین؟ارور داره ؟
بدون نامگذاری اصولی هیچکس از کدتون سر در نمیاره
اوه ببخشید درست می فرمایید اصلا بذارید کدم رو خلاصه تر و با توضیح بذارم


try
{
SqlConnection myConnection = new SqlConnection("Data Source=.;Initial Catalog=quran;Integrated Security=True");
SqlCommand objCommand = new SqlCommand();
objCommand.Connection = myConnection;
objCommand.CommandText = "INSERT INTO [teacher-shakhsi](marriage)VALUES(@mrg)";
if (radioButton1.Checked == true)
objCommand.Parameters.Add("@mrg", SqlDbType.Bit, 1).Value = false;
if (radioButton2.Checked == true)
objCommand.Parameters.Add("@mrg", SqlDbType.Bit, 1).Value = true;
myConnection.Open();
objCommand.ExecuteNonQuery();
shakhsi_Load(sender, e);
MessageBox.Show("ںلéںمں¢ ں êيهçی¢ يں©§ ¬§");
myConnection.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}

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

Must declare the variable '@mrg'.
حالا اینو چکار کنم:متفکر:

M.YasPro
دوشنبه 03 خرداد 1389, 09:25 صبح
من تلاشم رو کردم نشد .
البته یه راه داره (شما یه کلاس به نام teacher-shakhsi داشته باشی و اونو پر کنی(فیلد تاهل رو null بفرستی) و به متد اینسرتت بفرستی)
پیشنهاد :
این فیلد رو از نوع عددی بگیری و قراردادت این باشه :0 نا مشخص و 1 مجرد و 2 متاهل .