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

ارجو مساعدة في حل مشكلة في المشروع

بدأه فاهمه حياة في 27 فبراير 2012 · 27 رد · 1,109 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته

ارجو المساعدة من الاعضاء اصحاب خبراء في هذه المجال

قامت بعمل قاعدة بيانات sql sever في مشروع سي شارب منفصل وبعد ذلك قامت بتصميم شاشات في مشروع سي شارب منفصلة ايضا

الآن اوجه مشكلة في تضمين قاعدة بيانات مع الشاشات وعمل ربط بيهما

فما حل ؟

وشكرا لكم.

#2

وعليكم السلام ورحمة الله وبركاته

حاولى تقرأى هذه المقالة هنا

أقلب الغريب كقلب أخيك ؟! أعيناه تشبه عينا أخيك ؟؟!! fb.pngtwitter.png

#3

شكر لك أخي أبو الجود بس بعد عملت الأتصال واجهة مشكلة في كود فورم تسجيل الدخول

وكود انشاء حساب المستخدم جديد

#4
فاهمه حياة كتب:

واجهة مشكلة في كود فورم تسجيل الدخول

وكود انشاء حساب المستخدم جديد

ايه المشكلة اللى قابلتك بالضبط ؟

أقلب الغريب كقلب أخيك ؟! أعيناه تشبه عينا أخيك ؟؟!! fb.pngtwitter.png

#5
  SqlCommand cmd = new SqlCommand(commandString, conn);

            if (userNametxt.Text == "")
            {
                if (userPasstxt.Text == "")
                {
                    MessageBox.Show(" تم عملية تسجيل الدخول بالنجاح");
                }
                else
                {
                    MessageBox.Show("تم ادخال اسم المستخدم بشكل خطأ ");
                }
            }
            else
            {
                MessageBox.Show("تم ادخال كلمة المرور بشكل خطأ ");
            }
        }

انا ارد من كود يتحقق من اسم وكلمة من قاعدة بيانات تم يسمح له بالدخول او لا

اما لكود انشاء حساب جديد فانا بحاجة كود كذا.

#6

للتحقق من المستخدم استخدمى هذه الداله

private string GetUserInfo(int intUserCode)
    	{
        	string password = "";
        	SqlParameter  spParameter = new SqlParameter();
        	spParameter = new SqlParameter("@UserID", intUserCode);
 			SqlCommand cmd = new SqlCommand();
 			SqlConnection conn = new SqlConnection("YourConnection");
 			cmd.Connection = conn;
 			cmd.CommandTimeout = 0;
 			cmd.CommandText = "YourSql";
 			cmd.CommandType = CommandType.Text;

 			SqlDataReader rdr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
 			cmd.Parameters.Clear();
 			while (rdr.Read())
 			{
     			if (!rdr.HasRows) return null;
     			password = rdr["Password"].ToString();
 			}


 			return password;
    	}

غيرى

@UserIDخليها اسم الباراميتر اللى فى جملتك

ثم اختبرى القيمة الناتجة منها لو القيمة null يبقى المستخدم غير موجود

لو القيمة نص قارنيها مع الباسورد اللى وضعها المستخدم لو متساويتين يبقى المستخدم نجح فى الدخول غير كده حاول مرة تانية

أقلب الغريب كقلب أخيك ؟! أعيناه تشبه عينا أخيك ؟؟!! fb.pngtwitter.png

#7

شكرا لك أخي على مساعدة

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

  // new instance of sqlConnection - you will replace the connection string
           SqlConnection con = new SqlConnection("Data Source=.;Initial Catalog=Products_Databse;Integrated Security=True");

           // new command instance
           SqlCommand com = new SqlCommand();

           // set the connection property - it present the way to connect to the database
           com.Connection = con;

           // type the Proc Name ( 1st difference )
           com.CommandText = "AddProduct";

           // Set the command type as a StoredProcedure ( 2nd dif. )
           com.CommandType = CommandType.StoredProcedure;

           // Add the proc vars. into the command
           com.Parameters.Add("@pro_name", SqlDbType.VarChar);
           com.Parameters.Add("@pro_price", SqlDbType.Money);
           com.Parameters.Add("@quant", SqlDbType.Int);

           // assign the vars. values
           com.Parameters["@pro_name"].Value = "Pro8";
           //you can assign it by numbers also
           //com.Parameters[0].Value = "Pro8";
           com.Parameters["@pro_price"].Value = 25.5;
           com.Parameters["@quant"].Value = 120;

           // open the connection with database
           con.Open();

           // using ExecuteNonQuery to just add data
           // we can get count of affected rows
           int affected_rows = com.ExecuteNonQuery();

           // Close the connection
           con.Close();
#8
فاهمه حياة كتب:

// assign the vars. values

com.Parameters["@pro_name"].Value = "Pro8";

//you can assign it by numbers also

//com.Parameters[0].Value = "Pro8";

com.Parameters["@pro_price"].Value = 25.5;

com.Parameters["@quant"].Value = 120;

طبعا هتحتاج تغيرى القيم دى لتأخذ من الكنترولز اللى على الفورم

أقلب الغريب كقلب أخيك ؟! أعيناه تشبه عينا أخيك ؟؟!! fb.pngtwitter.png

#9
أبو الجود كتب:

للتحقق من المستخدم استخدمى هذه الداله

private string GetUserInfo(int intUserCode)
    	{
        	string password = "";
        	SqlParameter  spParameter = new SqlParameter();
        	spParameter = new SqlParameter("@UserID", intUserCode);
 			SqlCommand cmd = new SqlCommand();
 			SqlConnection conn = new SqlConnection("YourConnection");
 			cmd.Connection = conn;
 			cmd.CommandTimeout = 0;
 			cmd.CommandText = "YourSql";
 			cmd.CommandType = CommandType.Text;

 			SqlDataReader rdr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
 			cmd.Parameters.Clear();
 			while (rdr.Read())
 			{
     			if (!rdr.HasRows) return null;
     			password = rdr["Password"].ToString();
 			}


 			return password;
    	}

غيرى

@UserIDخليها اسم الباراميتر اللى فى جملتك

ثم اختبرى القيمة الناتجة منها لو القيمة null يبقى المستخدم غير موجود

لو القيمة نص قارنيها مع الباسورد اللى وضعها المستخدم لو متساويتين يبقى المستخدم نجح فى الدخول غير كده حاول مرة تانية

طيب أخي اذا ابغى التحقق من اسم المستخدم كمان راح يكون بنفس طريقة كلمة المرور ولا.

#10
فاهمه حياة كتب:

طيب أخي اذا ابغى التحقق من اسم المستخدم كمان راح يكون بنفس طريقة كلمة المرور ولا.

لو لاحظتى هتلاقى الدالة السابقة تعود بشىء من اتنين

اما القيمة null يعنى لاشىء فى هذه الحالة يكون اسم المستخدم اما خطأ أو غير موجود

أما لو القيمة عبارة عن نص فهنا هنقارنها بالباسورد اللى يوزر وضعها و هيكون فيه حالةمن اتنين

نفس الباسورد --- تم التحقق

مختلفيين --- لم يتم التحقق

كمثال

  string RPassword=GetUserInfo (1) ;
        	if (RPassword !=null)
    		{
            	if (RPassword == txtpassword.text)
            	{
                	MessageBox.Show("تم");

            	}
            	else
        		{
                	MessageBox.Show("لم يتم ");
        		}
    		}
        	else
    		{
          	MessageBox.Show("المستخدم غير موجود");

    		}

أقلب الغريب كقلب أخيك ؟! أعيناه تشبه عينا أخيك ؟؟!! fb.pngtwitter.png

#11
cmd.CommandText = "YourSql";

في حالة وجود اكثر من مستخدم هل تبقى عبارة سابقة كمان هي .

وماذا تقصد بعبارة yoursql

تم تعديل هذه المشاركة بواسطة فاهمه حياة في 28 فبراير 2012 في 12:59

#12
فاهمه حياة كتب:

cmd.CommandText = "YourSql";

في حالة وجود اكثر من مستخدم هل تبقى عبارة سابقة كمان هي .

وماذا تقصد بعبارة yoursql

اممم لم أفهم السؤال

yoursql

أقصد بها اسم الاستوردبروسيدير - أو - جمله sql

المستخدمة فى احضار بيانات المستخدم من قاعدة البيانات

أقلب الغريب كقلب أخيك ؟! أعيناه تشبه عينا أخيك ؟؟!! fb.pngtwitter.png

#13
 SqlDataReader rdr = cmd.ExecuteReader(CommandBehavior.CloseConnection);                        cmd.Parameters.Clear();

شكرا لك أخي على مساعدة وطول بال

ابغى اسالك وظيفة سطرين سابقين

وكمان عند تشغيل بنامج تظهر خطا فيهما .

#14
فاهمه حياة كتب:

شكرا لك أخي على مساعدة

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

  // new instance of sqlConnection - you will replace the connection string
           SqlConnection con = new SqlConnection("Data Source=.;Initial Catalog=Products_Databse;Integrated Security=True");

           // new command instance
           SqlCommand com = new SqlCommand();

           // set the connection property - it present the way to connect to the database
           com.Connection = con;

           // type the Proc Name ( 1st difference )
           com.CommandText = "AddProduct";

           // Set the command type as a StoredProcedure ( 2nd dif. )
           com.CommandType = CommandType.StoredProcedure;

           // Add the proc vars. into the command
           com.Parameters.Add("@pro_name", SqlDbType.VarChar);
           com.Parameters.Add("@pro_price", SqlDbType.Money);
           com.Parameters.Add("@quant", SqlDbType.Int);

           // assign the vars. values
           com.Parameters["@pro_name"].Value = "Pro8";
           //you can assign it by numbers also
           //com.Parameters[0].Value = "Pro8";
           com.Parameters["@pro_price"].Value = 25.5;
           com.Parameters["@quant"].Value = 120;

           // open the connection with database
           con.Open();

           // using ExecuteNonQuery to just add data
           // we can get count of affected rows
           int affected_rows = com.ExecuteNonQuery();

           // Close the connection
           con.Close();

تم تعديل هذه المشاركة بواسطة فاهمه حياة في 28 فبراير 2012 في 19:44

#15
فاهمه حياة كتب:

 SqlDataReader rdr = cmd.ExecuteReader(CommandBehavior.CloseConnection);                        cmd.Parameters.Clear();

وكمان عند تشغيل بنامج تظهر خطا فيهما .

السطر الأول يقوم بتنفيذ الـ Command المطلوب طبعا الـ Command له جمله استعلام اللى قلنا عليها

يعنى ببساطة تنفيذ هذه الجملة

والباراميتر CommandBehavior.CloseConnection لإغلاق الاتصال بعد انهاء التنفيذ

أما السطر الثانى فهو لمسح الباراميترز الموجودة فى هذا الـ Command

ايه الخطأ اللى بيظهر ؟

أقلب الغريب كقلب أخيك ؟! أعيناه تشبه عينا أخيك ؟؟!! fb.pngtwitter.png

#16
أبو الجود كتب:

السطر الأول يقوم بتنفيذ الـ Command المطلوب طبعا الـ Command له جمله استعلام اللى قلنا عليها

يعنى ببساطة تنفيذ هذه الجملة

والباراميتر CommandBehavior.CloseConnection لإغلاق الاتصال بعد انهاء التنفيذ

أما السطر الثانى فهو لمسح الباراميترز الموجودة فى هذا الـ Command

ايه الخطأ اللى بيظهر ؟

شكرا أخي تم اصلح خطا

#17

طيب أخي اذا بستخدم كود السابقة الموجود في ردي (7)انشاء حسابات المستخدمين جدد للبرنامج هل هنالك اختلاف.

تم تعديل هذه المشاركة بواسطة فاهمه حياة في 28 فبراير 2012 في 14:59

#18
SqlConnection con = new SqlConnection("Data Source=.;Initial Catalog=Products_Databse;Integrated Security=True");

           // new command instance
           SqlCommand com = new SqlCommand();

           // set the connection property - it present the way to connect to the database
           com.Connection = con;

           // type the Proc Name ( 1st difference )
           com.CommandText = "AddProduct";

           // Set the command type as a StoredProcedure ( 2nd dif. )
           com.CommandType = CommandType.StoredProcedure;

           // Add the proc vars. into the command
           com.Parameters.Add("name", SqlDbType.VarChar);
           com.Parameters.Add("Pass", SqlDbType.Money);
           com.Parameters.Add("age", SqlDbType.Int);

           // assign the vars. values
           com.Parameters["name"].Value = text1.text";
           //you can assign it by numbers also
           //com.Parameters[0].Value = "Pro8";
           com.Parameters["pass"].Value = texet2.text;
           com.Parameters["age"].Value = text3.text;

           // open the connection with database
           con.Open();

           // using ExecuteNonQuery to just add data
           // we can get count of affected rows
           int affected_rows = com.ExecuteNonQuery();

           // Close the connection
           con.Close();
#19

لابد من استخدام جمله insert

سواء هتكون هنا أو فى الداتابيز على شكل ستوردبروسيدير

فى مثاللك

com.CommandText = "AddProduct";

AddProduct هى اسم الستوردبروسيدير التى تحتوى على جملة انسيرت

أقلب الغريب كقلب أخيك ؟! أعيناه تشبه عينا أخيك ؟؟!! fb.pngtwitter.png

#20
أبو الجود كتب:

لابد من استخدام جمله insert

سواء هتكون هنا أو فى الداتابيز على شكل ستوردبروسيدير

فى مثاللك

com.CommandText = "AddProduct";

AddProduct هى اسم الستوردبروسيدير التى تحتوى على جملة انسيرت

ممكن أخي توضيح أكثر لأني لم افهمك جيدا

#21
فاهمه حياة كتب:

ممكن أخي توضيح أكثر لأني لم افهمك جيدا

شوفى يا سيتى قاعدة البيانات عندك فيه جداول صح ؟ -- تمام

الجداول هيتخزن فيها بياناتك

علشان تخزنى أو تسترجعى بيانات منها لازم تستخدمى جمل Sql (insert - update .....)

دا جزء الداتابيز

نيجى للشاشات

عندك الـ Command هنسند له جملة SQL ونحدد له نص الاتصال علشان نحدد له أى دااتابيز هيتم عليها الجملة دى

ثم ننفذه

أقلب الغريب كقلب أخيك ؟! أعيناه تشبه عينا أخيك ؟؟!! fb.pngtwitter.png

#22
 SqlCommand cmd = new SqlCommand();
 cmd.Connection=conn;
  cmd.CommandType=CommandType.Text;

(name,password,age) volues(text1.text,text2.text,text3.text)";cmd.CommandText="insert into Accounts

اين خطا ها في هذا كود

وهل جملة تحديث ايضا بعد ادخال سجلات جديدة

وشكر اخي على طول بال واسعة صدر.

تم تعديل هذه المشاركة بواسطة فاهمه حياة في 28 فبراير 2012 في 21:12

#23
فاهمه حياة كتب:

 SqlCommand cmd = new SqlCommand();
 cmd.Connection=conn;
  cmd.CommandType=CommandType.Text;

(name,password,age) volues(text1.text,text2.text,text3.text)";cmd.CommandText="insert into Accounts

اين خطا ها في هذا كود

وهل جملة تحديث ايضا بعد ادخال سجلات جديدة

وشكر اخي على طول بال واسعة صدر.

volues >>>>>> values

أقلب الغريب كقلب أخيك ؟! أعيناه تشبه عينا أخيك ؟؟!! fb.pngtwitter.png

#24
أبو الجود كتب:

volues >>>>>> values

أنا اقصد اخي طريقة كتابة كود حيث اني بادخال ثم اعمل تحديث

اما لا

وشكرلك.

#25

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

أما ان اردتى تحديث سجل موجود فتستخدمى Update

أقلب الغريب كقلب أخيك ؟! أعيناه تشبه عينا أخيك ؟؟!! fb.pngtwitter.png

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