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

خطأ في تسجيل الدخول

بدأه -الأمل- في 19 مارس 2011 · 8 رد · 792 مشاهدة · في ASP.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته....أريد المساعدة في هذا الخطأ

أريد عند الضغط على buttonأن يتم التأكد من وجود الإسم والرقم السري في قاعدة البيانات مسبقاً....ثم الإنتقال إلى الصفحة التالية...عند تنفيذ الكود يظهرلي هذا الخطأ:rSqlDataReader rea=cmd.ExecuteReader()

Incorrect syntax near '='.

هذا الكود الذي طبقته....ولدي سؤال: هل يمكن أن استخدم الداتاست واقرأ منها بدل من القراءة من قاعدة البيانات..وأيها أفضل؟؟شاكرة لكم تعاونكم

protected void Button1_Click1(object sender, EventArgs e)

{

SqlConnection sql = new SqlConnection();

SqlCommand cmd;

bool bool_target;

sql.ConnectionString = ConfigurationManager.ConnectionStrings["Connectionstring2"].ConnectionString;

sql.Open();

cmd = new SqlCommand();

cmd.CommandText = "select Member_Name,Password from Members where Member_Name=" + this.txtname.Text + "&Password=" + this.txtpass.Text;

cmd.CommandType = CommandType.Text;

cmd.Connection = sql;

if (cmd.Connection.State != ConnectionState.Open)

cmd.Connection.Open();

SqlDataReader rea=cmd.ExecuteReader();

rea.Read();

if (rea.HasRows)

{

Response.Redirect("Default2.aspx?Member_Name=" + this.txtname.Text + "&Password=" + this.txtpass.Text);

}

else{

Label1.Text = "invaild";

}

rea.Close();

rea.Dispose();

cmd.Dispose();

sql.Close();

#2

يتم وضع الكود كاملاً في الكوماند الخاص به

SqlConnection sql = new SqlConnection();
sql.ConnectionString = ConfigurationManager.ConnectionStrings("Connectionstring2").ConnectionString;

SqlDataAdapter dp = new SqlDataAdapter(("select Member_Name,Password from Members where Member_Name=" 
                + (this.txtname.Text + ("&Password=" + this.txtpass.Text))), sql);

DataTable dt = new DataTable();

dt.Clear();
dp.Fill(dt);

if ((dt.Rows.Count == 0)) {

    Label1.Text = "invaild";
    txtname.Focus();
}
else {

    Response.Redirect(("Default2.aspx?Member_Name=" 
                    + (this.txtname.Text + ("&Password=" + this.txtpass.Text))));
}

لي ملاحظه بسيطة عندما يتم التحقق من المستخدم ونقله للصفحة الأخرى يتم تمرير الكويري سترينق بإسم المستخدم وكلمة المرور وهذا مشكلة لأنه حيكون ظاهر في عنوان الصفحة....

ويوجد عدة حلول منها :

1- يتم تشفير الكويري سترينق.

أو

2- جلب الآيدي فقط للمستخدم وتمريره عبر الكويري.

أو

3- إستخدام الكوكيز وأيضاً تشفيره.

وجميع الحلول عملها سهل

تم تعديل هذه المشاركة بواسطة محمدvb في 20 مارس 2011 في 01:49

#3

شكراً لك

ولكن يظهر خطأ

Incorrect syntax near '='

تفاصيل الاستثناء: System.Data.SqlClient.SqlException: Incorrect syntax near '='.

da.Fill(dt);

تم تعديل هذه المشاركة بواسطة -الأمل- في 20 مارس 2011 في 11:14

#4

من الافضل استخدام الباراميتر كمايلي :

SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings("Connectionstring2").ConnectionString);


  string sqlqry = @"select Member_Name  from Members where Member_Name=@name  
                 and Password=@pwd";

		SqlCommand cmdqry = new SqlCommand(sqlqry, conn);		 

		cmdqry.Parameters.AddWithValue("@name ",this.txtname.Text);
		cmdqry.Parameters.AddWithValue("@pwd ",this.txtpass.Text);

	 Object Result = cmdqry.ExecuteScalar();


if ((Result == null)) {

    Label1.Text = "invaild";
    txtname.Focus();
}
else {

    Response.Redirect( "Default2.aspx?Member_Name=" +  this.txtname.Text  );
}

وسبب الخطأ عندك Incorrect syntax near '=' وهو بسبب عدم وضع النص بين الفواصل '' فجملة الاستعلام الناتيجة يجب ان تكون كمايلي

 
select Member_Name,Password from Members where Member_Name='YourName' and password ='yourPasswords'
#5

شكراً لك

لكن يظهرخطأ بعد تنفيذ هذا الكود كالتالي:

لا يوجد تعيين من نوع الكائن System.Web.UI.WebControls.TextBox إلى النوع الأصلي لموفر مُدار معروف.

ماذايعني؟؟

#6

ارفق الصفحة بالداتا بيز ونعدلها ..

#7

إن شاء الله...رفعتوا الآن

WebSite3.rar

#8

فقط this.txtname يصبح this.txtname.Text

و this.txtpass يصبح this.txtpass.Text

لأن الدوت نت ما يقبلها بالطريقة السابقة

#9

الله يجزاك خير وأشكرك أخي على مساعدتك جزيل الشكر

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