PDA

View Full Version : عدم درج مقدار تکراری در دیتابیس



mahdivita
دوشنبه 14 اردیبهشت 1394, 14:32 عصر
سلام
چه کدی باید بنویسم تا مقدار تکراری توی دیتابیس درج نشه؟

salibsatan
دوشنبه 14 اردیبهشت 1394, 14:39 عصر
یه Select count(*) با مقادیر مورد نظرتون انجام بدین.اگر بزرگتر از صفر بود یعنی تکراریه و عملیات نباید انجام بشه.
البته شاید دوستان راه بهتری هم داشته باشن

mohsen.nsb44
دوشنبه 14 اردیبهشت 1394, 18:59 عصر
سلام
چه کدی باید بنویسم تا مقدار تکراری توی دیتابیس درج نشه؟

یه راهشم اینه که فیلدی که نمیخوای تکراری ثبت بشه از نوع کلید اصلی در نظر بگیری

mahdivita
دوشنبه 14 اردیبهشت 1394, 19:15 عصر
من توی C#‎‎ از کد زیر استفاده میکردم :
SqlDataAdapter objda = new SqlDataAdapter(objcom);
System.Data.DataTable objdt = new DataTable();
objda.Fill(objdt);
if (objdt.Rows.Count != 0)
{
MessageBox.Show("اطلاعات وارد شده تکراری است", "اخطار", MessageBoxButton.OK, MessageBoxImage.Error);
}
else
{
objcom.CommandText = "insert into tbl_home values(@code,@name,@fname,@tel,@area,@street,@alle y,@pelak,@floor,@home_type,@metrazh,@price,@sleep, @other)";
objcon.Open();
objcom.ExecuteNonQuery();
MessageBox.Show("اطلاعات ملک با موفقیت ثبت شد", "ثبت", MessageBoxButton.OK, MessageBoxImage.Information);
objcon.Close();
code_sabt.Text = "";
name.Text = "";
fname.Text = "";
tel.Text = "";
area.SelectedIndex = 0;
street.Text = "";
alley.Text = "";
pelak.Text = "";
floor.Text = "";
metrazh.Text = "";
home_type.Text = "";
price.Text = "";
sleep.Text = "";
other.Text = "";
}

توی asp.net چجوریه؟

ahmad156
دوشنبه 14 اردیبهشت 1394, 20:50 عصر
یه راهشم اینه که فیلدی که نمیخوای تکراری ثبت بشه از نوع کلید اصلی در نظر بگیری

اگر 10 تا فیلد باید یکتا باشن، باید 10 تا فیلد رو کلید اصلی تعریف کنیم؟؟؟؟؟؟؟؟؟؟؟!!!!!!!!!!!!!!!!!
بهترین گزینه تعریف کردن ستون مورد نطر به صورت Unique (http://www.w3schools.com/sql/sql_unique.asp) و استفاده از Stored Procedure جهت درج اطلاعات بدین صورت که داخل Stored Procedure چک شود که مقدار تکراری نباشد.

mohsen.nsb44
سه شنبه 15 اردیبهشت 1394, 12:49 عصر
اگر 10 تا فیلد باید یکتا باشن، باید 10 تا فیلد رو کلید اصلی تعریف کنیم؟؟؟؟؟؟؟؟؟؟؟!!!!!!!!!!!!!!!!!
بهترین گزینه تعریف کردن ستون مورد نطر به صورت Unique (http://www.w3schools.com/sql/sql_unique.asp) و استفاده از Stored Procedure جهت درج اطلاعات بدین صورت که داخل Stored Procedure چک شود که مقدار تکراری نباشد.

من نگفتم 10 تا فیلد رو کلید بگیره ایشون باید نگاه کنند که چه کاریو میخوان انجام بدن و تصمیم بگیرن کدوم روش براشون مناسبتره
نه من و نه شما نمیدونیم که دقیقا چه کاریو میخوان انجام بدن
به سوال ایشون هم توجه بفرمایین متوجه میشین که مطلبی کلی عنوان کردن
پس راه حل ها توسط هر شخصی ارائه میشه و خود ایشون باید بسته به کاری که میخوان انجام بدن بهترین روش رو انتخاب بکنند