نمایش پیام هنگام تکراری بودن اطلاعات بانک
سلام خسته نباشید
من یک بانک با SQLEXPRESS ایجاد کردم و با سی شارپ ارتباطش دادم
پروژه من دفتر تلفنه و میخوام وقتی کاربر داره شخص جدیدی را ثبت میکنه اگر فیلد شماره تلفن تکراری بود یعنی داخل بانکم وجود داشت یک پیام نمایش داده بشه و بگه که این شماره قبلا ثبت شده.
مشخصات بانکم:
اسم بانک= Phonebook.mdf
اسم جدول بانک= phone
فیلدهای بانک= id وfname و lname و number و number2
من میخوام فقط وقتی که فیلد number تکراری بود پیام نمایش داده بشه و با number2 کاری نداشته باشه.
اینم قطعه کد ثبت اطلاعاتم در بانک:
SqlConnection con = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=C:\Users\java d\Desktop\Phonebook\Phonebook\Phonebook\Phonebook. mdf;Integrated Security=True;User Instance=True");
con.Open();
SqlCommand cmd = new SqlCommand();
cmd.Connection = con;
cmd.CommandText = "insert into phone (id,fname,lname,number,number2)"
+ " values ('" + textBox1.Text + "','" + textBox2.Text + "','" + textBox3.Text + "','" + textBox4.Text + "','" + textBox17.Text + "')";
cmd.ExecuteNonQuery();
MessageBox.Show("مخاطب افزوده شد");
con.Close();
fillgride();
textBox1.Text = "";
textBox2.Text = "";
textBox3.Text = "";
textBox4.Text = "";
textBox17.Text = "";
البته یک متغیر به نام fillgride هم تعریف کردم
void fillgride()
{
SqlConnection con = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=C:\Users\java d\Desktop\Phonebook\Phonebook\Phonebook\Phonebook. mdf;Integrated Security=True;User Instance=True");
SqlDataAdapter da = new SqlDataAdapter("Select * from phone", con);
con.Open();
DataTable dt = new DataTable();
da.Fill(dt);
dataGridView1.DataSource = dt;
con.Close();
}
دوستان کسی هست که بتونه راهنماییم کنه؟
نقل قول: نمایش پیام هنگام تکراری بودن اطلاعات بانک
سلام.
من روشش رو با ان تی تی فریم ورک و پروسیجر ها توضیح دادم
https://barnamenevis.org/showthread.p...ntity-framwork
نقل قول: نمایش پیام هنگام تکراری بودن اطلاعات بانک
به دستور سرچ بنویسید با این کوئری
string SearchMember =" select * from tbl_member where id_number = @id_number";
و با این کد
SqlDataAdapter da = new SqlDataAdapter("SearchMember", con);
da.SelectCommand.Parameters.AddWithValue("@id_numb er", txt_reg_IDnumber.Text.Trim());
DataTable dt = new DataTable();
da.Fill(dt);
if (dt.Rows.Count != 0)
{
"یعنی این مقدار قبلا ثبت شده"
}
if (dt.Rows.Count == 0)
{
"یعنی قبلا ثبت نشده"
}
دیگه متغییر های خودتو بزا توشش
نقل قول: نمایش پیام هنگام تکراری بودن اطلاعات بانک
بنام خدا
سلام
شما اول باید شماره تلفن را کلید اصلی بذارید و بعد یه try,catch بنویسید و دستورات درج را توی tryبنویس
نکته:اگر در sql کلید اصلی تعریف کنیم و به آن اطلاعات تکراری وارد کنید شماره خطای 2627 رو میده پس ما هم از این استفاده می کنیم
مثلا:
try
{
//دستورات درج
}
catch (SqlException se)
{
if (se.Number == 2627)
MessageBox.Show("اطلاعات قبلا ثبت شده است");
}
با کد های بالا شما می توانید به راحتی از ورود اطلاعات تکراری مطلع و جلوگیری کنید
موفق باشید
نقل قول: نمایش پیام هنگام تکراری بودن اطلاعات بانک
نقل قول:
نوشته شده توسط
r4hgozar
سلام
ممنون
ولی من آماتورم و از ان تی تی فریم ورک چیزی نمیدونم
بازم ممنون که راهنماییم کردید.
نقل قول: نمایش پیام هنگام تکراری بودن اطلاعات بانک
نقل قول:
نوشته شده توسط
keyone72
به دستور سرچ بنویسید با این کوئری
string SearchMember =" select * from tbl_member where id_number = @id_number";
و با این کد
SqlDataAdapter da = new SqlDataAdapter("SearchMember", con);
da.SelectCommand.Parameters.AddWithValue("@id_numb er", txt_reg_IDnumber.Text.Trim());
DataTable dt = new DataTable();
da.Fill(dt);
if (dt.Rows.Count != 0)
{
"یعنی این مقدار قبلا ثبت شده"
}
if (dt.Rows.Count == 0)
{
"یعنی قبلا ثبت نشده"
}
دیگه متغییر های خودتو بزا توشش
سلام من الان این خط کدا + کوئری را باید داخل دکمه ویرایشم بذارم و متغیر های خودمو بذارم جاش و برای if اول یک پیام نمایش بدم که اطلاعات یا شماره از قبل موجود است وبرای ifدوم هم دستورات ویرایشم را بذارم.
درست متوجه شدم؟
نقل قول: نمایش پیام هنگام تکراری بودن اطلاعات بانک
نقل قول:
نوشته شده توسط
sgh_programer
بنام خدا
سلام
شما اول باید شماره تلفن را کلید اصلی بذارید و بعد یه try,catch بنویسید و دستورات درج را توی tryبنویس
نکته:اگر در sql کلید اصلی تعریف کنیم و به آن اطلاعات تکراری وارد کنید شماره خطای 2627 رو میده پس ما هم از این استفاده می کنیم
مثلا:
try
{
//دستورات درج
}
catch (SqlException se)
{
if (se.Number == 2627)
MessageBox.Show("اطلاعات قبلا ثبت شده است");
}
با کد های بالا شما می توانید به راحتی از ورود اطلاعات تکراری مطلع و جلوگیری کنید
موفق باشید
سلام
ممنون که راهنماییم کردی
الان داخل دکمه ثبتم همینا را بذارم و شماره تلفن را هم کلید اصلی تعریف کنم و اطلاعات ثبتم را هم که داخل try بذارم درست متوجه شدم؟
نقل قول: نمایش پیام هنگام تکراری بودن اطلاعات بانک
نقل قول:
نوشته شده توسط
sgh_programer
بنام خدا
سلام
شما اول باید شماره تلفن را کلید اصلی بذارید و بعد یه try,catch بنویسید و دستورات درج را توی tryبنویس
نکته:اگر در sql کلید اصلی تعریف کنیم و به آن اطلاعات تکراری وارد کنید شماره خطای 2627 رو میده پس ما هم از این استفاده می کنیم
مثلا:
try
{
//دستورات درج
}
catch (SqlException se)
{
if (se.Number == 2627)
MessageBox.Show("اطلاعات قبلا ثبت شده است");
}
با کد های بالا شما می توانید به راحتی از ورود اطلاعات تکراری مطلع و جلوگیری کنید
موفق باشید
فقط عزیز من فیلد id را به عنوان کلید تعریف کردم و نمیشه دوتا کلید داشته باشم sql نمیذاره
؟
نقل قول: نمایش پیام هنگام تکراری بودن اطلاعات بانک
نقل قول:
نوشته شده توسط
sgh_programer
بنام خدا
سلام
شما اول باید شماره تلفن را کلید اصلی بذارید و بعد یه try,catch بنویسید و دستورات درج را توی tryبنویس
نکته:اگر در sql کلید اصلی تعریف کنیم و به آن اطلاعات تکراری وارد کنید شماره خطای 2627 رو میده پس ما هم از این استفاده می کنیم
مثلا:
try
{
//دستورات درج
}
catch (SqlException se)
{
if (se.Number == 2627)
MessageBox.Show("اطلاعات قبلا ثبت شده است");
}
با کد های بالا شما می توانید به راحتی از ورود اطلاعات تکراری مطلع و جلوگیری کنید
موفق باشید
ولی بازم دستت درد نکنه چون یکی از مشکلات برنامم همین بود
یک دنیا تشکر
خدا خیرت بده
نقل قول: نمایش پیام هنگام تکراری بودن اطلاعات بانک
نقل قول:
نوشته شده توسط
sgh_programer
بنام خدا
سلام
شما اول باید شماره تلفن را کلید اصلی بذارید و بعد یه try,catch بنویسید و دستورات درج را توی tryبنویس
نکته:اگر در sql کلید اصلی تعریف کنیم و به آن اطلاعات تکراری وارد کنید شماره خطای 2627 رو میده پس ما هم از این استفاده می کنیم
مثلا:
try
{
//دستورات درج
}
catch (SqlException se)
{
if (se.Number == 2627)
MessageBox.Show("اطلاعات قبلا ثبت شده است");
}
با کد های بالا شما می توانید به راحتی از ورود اطلاعات تکراری مطلع و جلوگیری کنید
موفق باشید
فقط اگر میشه یک زحمتی بکش یک توضیح درباره قطعه کدت بده
try و catch یعنی چی؟
داخل catch نوشتی SqlException se منظورت چی بوده؟
نقل قول: نمایش پیام هنگام تکراری بودن اطلاعات بانک
دستور try
برای مدیریت خطا ها هستش یعنی اگه به هر دلیلی برنامه دچار خطا شد دستورات catch رو اجرا میکنه
نقل قول: نمایش پیام هنگام تکراری بودن اطلاعات بانک
نقل قول:
نوشته شده توسط
seied javad
سلام من الان این خط کدا + کوئری را باید داخل دکمه ویرایشم بذارم و متغیر های خودمو بذارم جاش و برای if اول یک پیام نمایش بدم که اطلاعات یا شماره از قبل موجود است وبرای ifدوم هم دستورات ویرایشم را بذارم.
درست متوجه شدم؟
بله دوست عزیز همینطوره باز هم اگه مشکلی بود بگید کمک کنیم
البته تعریف کوئری رو معمولا بیرون تابع مینویسن فک کنم اگه داخل تابع کلیک اون دکمه بنویسی ارور میده
یه چیزی هم یادم رفت
SqlDataAdapter da = new SqlDataAdapter("SearchMember", con);
رو بدون ""بزار
یعنی اینطوریSearchMember
SqlDataAdapter da = new SqlDataAdapter(SearchMember, con);
نقل قول: نمایش پیام هنگام تکراری بودن اطلاعات بانک
نقل قول:
نوشته شده توسط
keyone72
به دستور سرچ بنویسید با این کوئری
string SearchMember =" select * from tbl_member where id_number = @id_number";
و با این کد
SqlDataAdapter da = new SqlDataAdapter("SearchMember", con);
da.SelectCommand.Parameters.AddWithValue("@id_numb er", txt_reg_IDnumber.Text.Trim());
DataTable dt = new DataTable();
da.Fill(dt);
if (dt.Rows.Count != 0)
{
"یعنی این مقدار قبلا ثبت شده"
}
if (dt.Rows.Count == 0)
{
"یعنی قبلا ثبت نشده"
}
دیگه متغییر های خودتو بزا توشش
فقط یک توضیح کوچیکم در موردش بدی ممنون میشم