PDA

View Full Version : کنترل تکراری نبودن داده در DB



o0maryam0o
سه شنبه 25 مرداد 1390, 11:32 صبح
سلام
دوستان من می خوام یک سری داده از فایل متنی بخونم این کارو که انجام می دم توی تکست باکس نمایش می دم. حالا باید داده های این تکست باکس ها رو در DB دخیره کنم.
قبل از ایجاد سطر جدید در دیتاگریدویو، داده های جدیدی که وارد یکی از تکست باکس شده با داده های DB مقایسه بشه ( البته مثلا فقط ستون x داده هاش نباید تکراری باشه) اگر تکراری نبود سطر جدید اضافه بشه
می شه راهنماییم کنید چه طوری باید انجامش بدم؟

k_ce_esf
سه شنبه 25 مرداد 1390, 11:59 صبح
از کدی مشابه کد زیر میتونین استفاده کنین:

sqlCommand1.CommandText = "select x from table_name where x='" + textbox1.Text+"'";
SqlDataReader dr1;
try
{
dr1 = sqlCommand1.ExecuteReader();
if (dr1.HasRows)
{
break;
}
else
{
//code haye marbut be ezafe kardane dade ha dar data base
}
if (dr1.IsClosed == false) dr1.Close();
}
catch (SqlException ex)
{
MessageBox.Show(ex.ToString());
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}

موفق باشید.

o0maryam0o
سه شنبه 25 مرداد 1390, 12:10 عصر
ممنونم،دوست عزیز این کد شما برای یک داده خاص بررسی می کنه درسته؟ یعنی اگر محتوایت ستون x رشته خاص وارد بشه از ثبت جلوگیری می کنه؟ یا کلا بررسی می کنه داده جدید قبلا ثبت شده یا نه؟

k_ce_esf
سه شنبه 25 مرداد 1390, 12:39 عصر
چیزی که از من سوال شما فهمیدم اینه که شما چند تا text box دارید که داده های مختلف درش قرار داره(مثلا یکی مربوط به نام در textbox1،یکی نام پدر در textbox2،یکی کدملی در textbox3)شما میخوایین وقتی دکمه ثبتتون را می زنین چک کنه که اگه نامی که در textbox1 قرار داره قبلا در بانک ذخیره نشده اطلاعات همه textbox ها در بانک ذخیره بشه.
در این کد فیلد x ای که من گفتم درواقع همین فیلد نام است که در textbox1 قرار داره.بررسی میکنم اگه این نام قبلا در بانک ثبت نشده،همه داده های textbox ها را در دیتا بیس ذخیره کنه.
نمیدونم درست منظور سوالتونو فهمیدم یا نه،اگه اشتباه فهمیدم واضح تر بگید شاید بتونم کمکتون کنم.