View Full Version : مشکل سطر تکراری در Database
m.khani_121
یک شنبه 01 مرداد 1391, 10:54 صبح
سلام دوستان . وقتی من یکی از فیلدهای table رو Key کردم ، ذیگه نمیشه اطلاعات تکراری توش وارد بشه .
بعد وقتی کاربر مقدار میده و اون مقدار تکراری باشه از برنامه میاد بیرون و خطا میده که تکراریه .
حالا چه جوری میتونم قبل از اینکه اطلاعات بره تو table ، یه چک بکنم ببینم تکراریه یا نه ، اگه بود با یه messegebox به کاربر اطلاعات بده ، که دیگه از برنامه نیاد بیرون !
Farshid007
یک شنبه 01 مرداد 1391, 11:11 صبح
public Boolean ISIN(string UserName)
{
objSQLcommand.CommandText = "select * from Users Where UserName=@";
objSQLcommand.Parameters.AddWithValue("@", UserName);
SqlDataReader DR = objSQLcommand.ExecuteReader();
DR.Read();
bool blnHasRows = DR.HasRows;
if (DR.IsClosed == false) DR.Close();
return blnHasRows;
}
اینو من از کد های خودم کپی کردم تو اسم جدول و .. را درست کن
Y_Safaiee
یک شنبه 01 مرداد 1391, 12:06 عصر
با سلام خدمت شما دوست عزیز
پس try و catch واسه چی ساخته شده؟دستور insert خودتونو داخل try بزارین و در catch یه پیغام ارور بزارین .
به همین سادگی
موفق باشین
بایت بایت
daneshjo90
یک شنبه 01 مرداد 1391, 12:41 عصر
يونس عزيز كاملا صحيح مي فرمايند
از دستور هاي try , catch استفاده كن
بهتر ميتوني خطاها رو كنترل كني
abdullah20
یک شنبه 01 مرداد 1391, 13:32 عصر
حالا اومدیم try و catch گذاشتیم و یه پیغام هم گذاشتم که تکراری است در این صورت هر مشکلی پیش بیاد این پیغام را میده حتی اگر کلید تکراری نباشد
Y_Safaiee
یک شنبه 01 مرداد 1391, 14:08 عصر
با سلام مجدد
دوست عزیزم abdullah20 (http://barnamenevis.org/member.php?190756-abdullah20) از شما بعید بود خودتون بهتر از من میدونین catch فقط یه قسمت برای دور زدن نیست بلکه مکان عالی ای هست برای مدیریت خطاها :
try
{
}
catch(SqlException ex)
{
}
اینم دسترسی به کد خطا :
try
{
//دستوراتتون
}
catch(SqlException ex)
{
switch (ex.Number)
{
case 2627:
MessageBox.Show("این کد پستی قبلا ثبت شده است");
break;
}
}
شما میتونین با بررسی کد خطایی که برگشت داده میشه متوجه شین مشکل از کجا بوده و پیغام متناسبو نمایش بدین(فیلد کلید خالی بوده,فرمت نامعتبره,اطلاعات تکراریه و ...)
موفق باشین
بایت بایت
abdullah20
یک شنبه 01 مرداد 1391, 15:12 عصر
درسته
از اول بای همین را بگید
دستور insert خودتونو داخل try بزارین و در catch یه پیغام ارور بزارین .
حرف من برای گفته ی قبلی شما بود نه این کدی که گذاشتید
اخه من فکر کردم شما گفتید بدون دادن کد خطا کلا یه پیغام گذاشته بشه:اشتباه:
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.