الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

ارجو تصحيح هذا الكود

مغلق
بدأه metsy في 25 يونيو 2007 · 2 رد · 539 مشاهدة · في ASP.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

من فضلكوا اي حد يشوف ايه الغلط..... ده كود تأكيد اذا كان بينات المستخدم الذي ادخله موجودة من قبل ام لا...... بيظهرلي خطأ انب لم اقفل الداتا ريدر بس انا اغلقته

ارجوكم ردوا بسرعة لأنب حسلم المشروع بكرة

وعلى فكرة انا وضعت عنوان موقعكم في صفحة المراجع في كتاب مشروع تخرجي لأنكم فعلا مرجع مهم لأي مشروع تخرج :)

SqlCommand cmo = new SqlCommand();
			cmo.Connection=con;
			cmo.CommandText="select Cus_username,Cus_email from Customer where Cus_username='"+nickname.Text+"' or Cus_email='"+mail.Text+"'";

			con.Open();
			SqlDataReader di;
			di = cmo.ExecuteReader();
			if (di.HasRows==true)
			{
				Label1.Text=String.Empty;
				Label1.Text +="من فضلك قم بتغيير اسم الاستخدام او البريد الالكتروني ...لقد تم استخدامهم من قبل";
				di.Close();

			}
			else 
			{


				SqlCommand cmd = new SqlCommand();
				cmd.Connection=con;
				cmd.CommandText="insert into Customer(Cus_First_Name, Cus_Last_Name, Cus_username,Cus_Gender,birth_day,birth_month,birth_year,Cus_Password,Cus_email, Cus_phone ) values ('"+firstname.Text+"','"+lastname.Text+"','"+nickname.Text+"','"+gender.SelectedItem+"','"+days.SelectedItem+"','"+month.SelectedItem+"','"+years.Text+"','"+password.Text+"','"+mail.Text+"','"+phone.Text+"')";

				cmd.ExecuteNonQuery();

				Response.Redirect("thanks.aspx");

			}

			con.Close();
#2

فقط غير مكان di.close كالتالي:

SqlCommand cmo = new SqlCommand();
			cmo.Connection=con;
			cmo.CommandText="select Cus_username,Cus_email from Customer where Cus_username='"+nickname.Text+"' or Cus_email='"+mail.Text+"'";

			con.Open();
			SqlDataReader di;
			di = cmo.ExecuteReader();
			if (di.HasRows==true)
			{
				Label1.Text=String.Empty;
				Label1.Text +="من فضلك قم بتغيير اسم الاستخدام او البريد الالكتروني ...لقد تم استخدامهم من قبل";


			}
			else 
			{
				di.Close();

				SqlCommand cmd = new SqlCommand();
				cmd.Connection=con;
				cmd.CommandText="insert into Customer(Cus_First_Name, Cus_Last_Name, Cus_username,Cus_Gender,birth_day,birth_month,birth_year,Cus_Password,Cus_email,
Cus_phone ) values ('"+firstname.Text+"','"+lastname.Text+"','"+nickname.Text+"','"+gender.SelectedItem+"','"+days.SelectedItem+"','"+month.SelectedItem+"','"+years.Text+"','"+password.Text+"','"+mail.Text+"','"+phone.Text+"')";

				cmd.ExecuteNonQuery();

				Response.Redirect("thanks.aspx");

			}

			con.Close();

لانه لا داعي لاغلاق الDataReader عند تحقق شرط وجود مستخدم بنفس الايميل او الNickName ,فالبرنامج سيقفز الى con.close ,بينما اذا لم يجد مستخدم (اي تحقق شرط else) فان السيرفر سيجد ان الDataReader الذي فتحناه ما زال لم يغلق بعد.لذلك فالاولى اغلاقه في حالة شرط else

تم تعديل هذه المشاركة بواسطة madani في 25 يونيو 2007 في 22:30

#3

شكرا لك :)

هذا الموضوع مغلق.

مواضيع مشابهة