PDA

View Full Version : مقایسه اطلاعات ثبت شده در دیتابیس یا گریدویو با اطلاعات ورودی کاربر



messi13
دوشنبه 31 تیر 1392, 22:21 عصر
با سلام نمی دونم منظورمو درست رسوندم یا نه
ببینید من میخوام مثلا کلیدهای اصلی رو اگه کاربری خواست در تکست باکس وارد کند بعد از تائید(دکمه ثبت) با یه پیغام خطابه کاربر نشون بدیم که مثلا این کد ملی قبلا ثبت شده است یا هر کد منحصر به فرد که قبلا اختصاص داده شده با مقایسه در دیتا بیس یا گرید ویو این عمل صورت بگیره
البته من با استثناها try ,catch این کار رو کردم ولی چون دو حالت رو بررسی میکنه یعنی زمانی که کاربر داده ائی وارد نکنه + کد تکراری من یه اخطار گذاشتم که "احتمال وجود دوخطا:تمام قسمتهای خالی را پر نمائید یا کد ملی را تکراری وارد کرده اید"
میخوام قبل از ورود به اسثنا این شرط بررسی بشه و استثنا واسه یه خطا و یه پیغام بررسی بشه.
تشکر

khokhan
دوشنبه 31 تیر 1392, 22:43 عصر
با سلام نمی دونم منظورمو درست رسوندم یا نه
ببینید من میخوام مثلا کلیدهای اصلی رو اگه کاربری خواست در تکست باکس وارد کند بعد از تائید(دکمه ثبت) با یه پیغام خطابه کاربر نشون بدیم که مثلا این کد ملی قبلا ثبت شده است یا هر کد منحصر به فرد که قبلا اختصاص داده شده با مقایسه در دیتا بیس یا گرید ویو این عمل صورت بگیره
البته من با استثناها try ,catch این کار رو کردم ولی چون دو حالت رو بررسی میکنه یعنی زمانی که کاربر داده ائی وارد نکنه + کد تکراری من یه اخطار گذاشتم که "احتمال وجود دوخطا:تمام قسمتهای خالی را پر نمائید یا کد ملی را تکراری وارد کرده اید"
میخوام قبل از ورود به اسثنا این شرط بررسی بشه و استثنا واسه یه خطا و یه پیغام بررسی بشه.
تشکر
می تونی با یه کوری ساده جستجو کنی و نتیجه رو بریزی توی یه دیتا تیبل و بشماری اگه نتیجه بیش از صفر بود پیغام تکراری بودن بده واگه نتیجه صفر بود به کارش ادامه بده
اینطوری :

OleDbConnection ocn = new OleDbConnection(ConnectionString);

OleDbDataAdapter oda = new OleDbDataAdapter("SELECT name,family,ncode FROM student WHERE name=@p1 AND family=@p2 AND ncode=@p3", ocn);
oda.SelectCommand.Parameters.Clear();
oda.SelectCommand.Parameters.AddWithValue("@p1", textBox1.Text);
oda.SelectCommand.Parameters.AddWithValue("@p2", textBox2.Text);
oda.SelectCommand.Parameters.AddWithValue("@p3", textBox3.Text);
DataTable dt = new DataTable();

dt.Clear();
oda.Fill(dt);

if (dt.Rows.Count > 0)
{
MessageBox.Show("این شخص قبلا در بانک ثبت شده؛ لطفا شخص غیر تکراری وارد کنید", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
textBox1.Focus();
}
else
{