PDA

View Full Version : مشکل در درج یک رکورد در دیتابیس



Jean Reno
شنبه 04 آبان 1387, 08:37 صبح
با سلام
من یه فایلی رو ضمیمه کردم که زمانی که در فرم آن اطلاعات وارد شده ثبت می شود در دیتاگرید ویو و همچنین در دیتابیس به جای اطلاعات وارد شده فضای خالی درج می شود
در کل قابلیت درج ندارد یه نگاه به کدهام بندازین فکر می کنم کدهام درست باشه
مشکل کارم چیه ؟
ممنون می شم اگه کسی کمکم کنه

Jean Reno
شنبه 04 آبان 1387, 16:27 عصر
باز هم سلام
دیدم کسی جواب سوالم رو نداد گفتم شاید چون فایل من رو کسی رغبت نکرده دانلود کنه و یه نگاه بهش بندازه کد درج رکورد رو براتون می زارم امیدوارم دیگه جواب بگیرم
تابع درج رکورد من اینه اما نمی دونم چرا هر وقت درج می زنم فقط فضای خالی توی تک تک فیلدهای من ثبت می شه
کمک کنید




// تابع درج رکورد
private void Data_Insert()
{
if (textBox1.Text != "" && textBox2.Text != "" && textBox6.Text != "")
{
dataSet11.Clear();
string str_check_insert = "select * from Aza where ID=@Id";
SqlCommand check_comm = new SqlCommand(str_check_insert, sqlConnection1);
check_comm.Parameters.AddWithValue("@ID", textBox6.Text);

sqlConnection1.Open();
SqlDataReader Check_SDr = check_comm.ExecuteReader();

if (Check_SDr.Read())
{
MessageBox.Show("کد عضویت شما تکراری است", "خطای کاربر", MessageBoxButtons.OK, MessageBoxIcon.Error);
sqlConnection1.Close();
success = false;
}
else
{
sqlConnection1.Close();

string Str_Insert = "INSERT INTO [Aza] ([Id], [F_name], [L_Name], [Father_Name], [Sh_Sh], [Birth_date], [Tahsilat]) VALUES (@Id, @F_name, @L_Name, @Father_Name, @Sh_Sh, @Birth_date, @Tahsilat)";

SqlCommand Mycomm = new SqlCommand(Str_Insert, sqlConnection1);
Mycomm.Parameters.AddWithValue("@Id", textBox6.Text);
Mycomm.Parameters.AddWithValue("@F_name", textBox1.Text);
Mycomm.Parameters.AddWithValue("@L_Name", textBox2.Text);
Mycomm.Parameters.AddWithValue("@Father_Name", textBox3.Text);
Mycomm.Parameters.AddWithValue("@Sh_Sh", textBox4.Text);
Mycomm.Parameters.AddWithValue("@Birth_date", textBox5.Text);
Mycomm.Parameters.AddWithValue("@Tahsilat", comboBox1.Text);

sqlConnection1.Open();
Mycomm.ExecuteNonQuery();
sqlConnection1.Close();
success = true;


}
}
else if (textBox6.Text == "")
MessageBox.Show("لطفا کد عضویت را وارد کنید", "خطای کاربر", MessageBoxButtons.OK, MessageBoxIcon.Error);
else if (textBox1.Text == "")
MessageBox.Show("لطفا نام عضو جدید را وارد کنید", "خطای کاربر", MessageBoxButtons.OK, MessageBoxIcon.Error);
else if (textBox2.Text == "")
MessageBox.Show("لطفا نام خانوادگی عضو جدید را وارد کنید", "خطای کاربر", MessageBoxButtons.OK, MessageBoxIcon.Error);
}

SMRAH1
شنبه 04 آبان 1387, 16:43 عصر
سلام

توی متد Data_Insert،چون تمام TextBox ها رو به dataSet11 متصل (Bindi) کردی،به محض فراخوانی dataSet11.Clear،عملا اطلاعات رو پاک کرده و بعد سعی در افزودن اطلاعات پاک شده می کنی.بهتره قبل از پاک کردن داده ها در dataSet11.Clear اون ها رو به جدول اضافه کنی (اصلا با وجود dataSet11.Clear چه نیازی به متد Empty هست؟ احتمالا یکی از اینها اضافه است !!!).

موفق باشی