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

التاكد من اليوزر نيم

مغلق
بدأه amarnih في 12 يوليو 2005 · 8 رد · 928 مشاهدة · في ASP.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

ألسلام عليكم

اخواني انا عندي فورم اشتراك في اميل يعني

بيدخل بيانات على الداتا بيس

بس بدي اتاكد انه اليوزر نيم غير موجود من قبل اي انه غيلر مستخدم

الكود لادخال البيانات

Dim com As New SqlCommand

Dim pfn, pln, pgender, pmonth, pday, pyear, puser, ppass, prepass As SqlParameter

pfn = New SqlParameter("@fn", System.Data.SqlDbType.NVarChar)

pln = New SqlParameter("@ln", System.Data.SqlDbType.NVarChar)

pgender = New SqlParameter("@gender", System.Data.SqlDbType.NVarChar)

pyear = New SqlParameter("@year", System.Data.SqlDbType.NVarChar)

pmonth = New SqlParameter("@month", System.Data.SqlDbType.NVarChar)

'pday = New SqlParameter("@day", System.Data.SqlDbType.Int)

puser = New SqlParameter("@user", System.Data.SqlDbType.NVarChar)

ppass = New SqlParameter("@pass", System.Data.SqlDbType.NVarChar)

prepass = New SqlParameter("@repass", System.Data.SqlDbType.NVarChar)

pfn.Value = t1.Text

pln.Value = t2.Text

pgender.Value = dd1.SelectedItem.Text

pyear.Value = t3.Text

pmonth.Value = dd2.SelectedItem.Text

'pday.Value = dd3.SelectedItem.Text

puser.Value = t4.Text

ppass.Value = t5.Text

prepass.Value = t6.Text

com.Parameters.Add(pfn)

com.Parameters.Add(pln)

com.Parameters.Add(pgender)

com.Parameters.Add(pyear)

com.Parameters.Add(pmonth)

' com.Parameters.Add(pday)

com.Parameters.Add(puser)

com.Parameters.Add(ppass)

com.Parameters.Add(prepass)

con.Open()

com.Connection = con

com.CommandText = "insert into member(fname,lname,gender,year,month,username,password,repassword)values " _

& "(@fn,@ln,@gender,@year,@month,@user,@pass,@repass) "

com.ExecuteNonQuery()

con.Close()

Response.Redirect("wellcome.aspx")

#2

يا اخواني الرجاء الرد على سؤالي جزاكم الله الف خير

#3

أعمل الكويري التالي:

SELECT COUNT(*) FROM member WHERE username=@user

إذا رجع رقم أكبر من صفر معناه اسم المستخدم مستعمل من قبل.

#4

طيب و كيف يضع قيمة هذه العبارة مثلا في جملة If then ؟

#5

لنفرض ان هناك ال Stored Procedure التالية :

CREATE PROCEDURE SP_CheckUserValidity 
@userName nvarchar(100),
@email varchar(150),
@op int output 
AS 
Select @op=Count(*) From Library_Users
Where
userName=@userName or
email=@email
GO

تفحص البيانات عن طريق الاسم و الايميل ..

الان لنفرض أننا نود أن نتأكد من اسم المستخدم إن كان مسجلا او لا او ان البريد الالكتروني كان موجودا لشخص اخر او لا من قبل .. سنقوم بعمل حدث Event لزر نكتب به التالي :

  {
 	 Database Db=new Database(); // class than contains methods for database
 	 this.userName=this.txtUser.Text;
 	 this.userPassword=this.txtPassword.Text;
 	 this.email=this.txteMail.Text;
 	 this.country=this.txtCountry.Text;

 	 
 	 Db.AddParam("userName",SqlDbType.NVarChar,this.userName);
 	 Db.AddParam("email",SqlDbType.VarChar,this.email);
 	 Db.AddOutputParam("op",SqlDbType.Int,4);
 	 Db.ExecNonQuery("SP_CheckUserValidity");
 	 
 	 int IsFound=(int)Db.GetOutputParam("op");
 	 if(IsFound!=0)
 	 {
    this.fieldsPanel.Visible=false;
    this.msg.Text = this.msg.Text +
   	 "<BR><BR><A href=javascript:history.back(1)>[ عودة للخلف  ]</A>";
    this.msg.Visible=true;
 	 }
 	 else
 	 {
                this.fieldsPanel.Visible=false;
    Db.ClearParams();
    Db.AddParam("userName",SqlDbType.NVarChar,this.userName);
    Db.AddParam("userPassword",SqlDbType.VarChar,this.userPassword);
    Db.AddParam("email",SqlDbType.NVarChar,this.email);
    Db.AddParam("country",SqlDbType.VarChar,this.country);
    Db.ExecNonQuery("SP_InsertNewUser");
    this.msg.Text="تم تسجيلك بنجاح .. شكرا لك للإنضمام للمدرسة العربية للويب" +
   	 "<br><BR><A href=Default.aspx?page=Home&sID="+ 
   	 this.Context.Session.SessionID +
   	 ">إضغط هنا إن كان متصفحك لا يدعم الإنتقال التلقائي</a>";
    this.msg.Visible=true;
    Response.AddHeader("Refresh","3;url=Default.aspx?page=Home&sID=" +
   	 this.Context.Session.SessionID );
 	 }

الباراميتر الاول سوف يعيد رقم يفيد وجود تشابه للاسم او البريد الالكتروني .. ان وجد سوف يظهر رسالة للمستخدم اما ان كان غير مسجل فسيقوم باستدعاء Stored Procedure اخرى تضيف اليوزر كالتالي :

CREATE PROCEDURE SP_InsertNewUser 
@userName nvarchar(100),
@userPassword nvarchar(50),
@email varchar(150),
@country nvarchar(100)
 AS
Insert Into Library_Users(userName,userPassword,email,country)
Values(
@userName,@userPassword,@email,@country)
GO

أتمنى أن تكون الفكرة قد وصلتك ..

تحياتي لك :)

You can fly while you can touch the sky

#6

و الله يا أخي رد مفحم :blink:

و حقيقتا أنا لم أتعامل مع الـStored Procedure من قبل لكن عموما سوف ألقي نظرة على الكود و إن شاء الله أفهمه B)

عموما أنت ما قصرت

جزاك الله خيرا

#7

العفو أخي العزيز ..

عموما الموضوع سهل جدا ويبقى أن نحاول ونحاول ونحاول حتى ننجز شيئا إيجابيا ولا تتوقع أن تبقى على علمك مع تعدد المحاولات ..

حاول و إن لم توفق سوف أساعدك مرة أخرى

بالتوفيق

You can fly while you can touch the sky

#8

لو سمحتوا يا اخوان انا عايز الحل يكون بلغة vb.net

#9

لو فهمت الفكرة سوف تقوم بتحويلها ..... الأكواد لا تختلف كثيرا ..

بالنسبة لكتابة المثال بال VB.NET لا أعتقد بأني سأقوم به!

You can fly while you can touch the sky

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

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