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

update in the database

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

السلام عليكم

عندي مشكلة ...

أبي اعدل ع الداتا بيس على بيانات اليوزر

سويت الفنكشن باستخدام الويب ماتريكس.... ونقلتها ع الفيجوال ستوديو ...

الفنكشن ترجع 1 ... معناه انها تنفذت بشكل صحيح ... ولكن عند تفقد الداتا بيس ... لا يوجد أثر للتعديل .... البيانات كما هي :wacko:

هذا كود الفنكشن وكود فنكشن زر التعديل

أتمنى معرفة اذا كان هناك خطأ ...

int MyUpdateMethod(string userName, string userPassword, string email, string firstName, string lastName, string country, int phone) 
  {
 	 string connectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Ole DB Services=-4; Data Source=C:\\Inetpub\\wwwr" +
    "oot\\project2\\bin\\web.mdb";
 	 System.Data.IDbConnection dbConnection = new System.Data.OleDb.OleDbConnection(connectionString);
        
 	 string queryString = "UPDATE [User] SET [userName]=@userName, [UserPassword]=@UserPassword, [Email]=@Em" +
    "ail, [FirstName]=@FirstName, [LastName]=@LastName, [Country]=@Country, [Phone]=@" +
    "Phone WHERE (([User].[userName] = @userName) AND ([User].[UserPassword] = @UserP" +
    "assword))";
 	 System.Data.IDbCommand dbCommand = new System.Data.OleDb.OleDbCommand();
 	 dbCommand.CommandText = queryString;
 	 dbCommand.Connection = dbConnection;
        
 	 System.Data.IDataParameter dbParam_userName = new System.Data.OleDb.OleDbParameter();
 	 dbParam_userName.ParameterName = "@userName";
 	 dbParam_userName.Value = userName;
 	 dbParam_userName.DbType = System.Data.DbType.String;
 	 dbCommand.Parameters.Add(dbParam_userName);
 	 System.Data.IDataParameter dbParam_userPassword = new System.Data.OleDb.OleDbParameter();
 	 dbParam_userPassword.ParameterName = "@UserPassword";
 	 dbParam_userPassword.Value = userPassword;
 	 dbParam_userPassword.DbType = System.Data.DbType.String;
 	 dbCommand.Parameters.Add(dbParam_userPassword);
 	 System.Data.IDataParameter dbParam_email = new System.Data.OleDb.OleDbParameter();
 	 dbParam_email.ParameterName = "@Email";
 	 dbParam_email.Value = email;
 	 dbParam_email.DbType = System.Data.DbType.String;
 	 dbCommand.Parameters.Add(dbParam_email);
 	 System.Data.IDataParameter dbParam_firstName = new System.Data.OleDb.OleDbParameter();
 	 dbParam_firstName.ParameterName = "@FirstName";
 	 dbParam_firstName.Value = firstName;
 	 dbParam_firstName.DbType = System.Data.DbType.String;
 	 dbCommand.Parameters.Add(dbParam_firstName);
 	 System.Data.IDataParameter dbParam_lastName = new System.Data.OleDb.OleDbParameter();
 	 dbParam_lastName.ParameterName = "@LastName";
 	 dbParam_lastName.Value = lastName;
 	 dbParam_lastName.DbType = System.Data.DbType.String;
 	 dbCommand.Parameters.Add(dbParam_lastName);
 	 System.Data.IDataParameter dbParam_country = new System.Data.OleDb.OleDbParameter();
 	 dbParam_country.ParameterName = "@Country";
 	 dbParam_country.Value = country;
 	 dbParam_country.DbType = System.Data.DbType.String;
 	 dbCommand.Parameters.Add(dbParam_country);
 	 System.Data.IDataParameter dbParam_phone = new System.Data.OleDb.OleDbParameter();
 	 dbParam_phone.ParameterName = "@Phone";
 	 dbParam_phone.Value = phone;
 	 dbParam_phone.DbType = System.Data.DbType.Int32;
 	 dbCommand.Parameters.Add(dbParam_phone);
        
 	 int rowsAffected = 0;
 	 dbConnection.Open();
 	 try 
 	 {
    rowsAffected = dbCommand.ExecuteNonQuery();
 	 }
 	 finally 
 	 {
    dbConnection.Close();
 	 }
        
 	 return rowsAffected;
  }

,this is the implementation code of update button

private void apply_Click(object sender, System.EventArgs e)
  {
 	 
 	 int x=MyUpdateMethod(TextBox1.Text,Session["password"].ToString(),TextBox2.Text, TextBox3.Text, TextBox4.Text,DropDownList1.SelectedValue.ToString(),Int32.Parse(TextBox5.Text));
 	 
 	 if(x>0)

 	 {
    //Response.Redirect("update.aspx");
    suc.Text=x.ToString();
    //suc.Text="success";
 	 }
 	 else
    suc.Text=x.ToString();
    //suc.Text="fail to update";

 	 
  }
#2

أعتقد المشكلة في جملة التحديث، لان الشرط يعتمد على القيم الجديدة وليس القيم الموجودة في قاعدة البيانات

WHERE (([User].[userName] = @userName) AND ([User].[UserPassword] = @UserPassword))";

عليكي أن تعطي اسم المستخدم وكلمة المرور الموجودين حاليا، وليس القيم الجديدة التى تم ادخالها من قبل المستخدم للتعديل

لا تحزن:

إن كنت فقيرا فغيرك محبوس في دين، وإن كنت لا تملك وسيلة نقل فسواك مبتور القدمين، وان كنت تشكوا من آلام فغيرك يرقدون على الاسرة البيضاء و من سنوات، وان فقدت ولدا فغيرك فقد عددا من الأولاد و في حادث واحد.

لا تحزن:

فأنت تشرب الماء الزلال، و تستنشق الهواء الطلق، و تمشي على قدميك معافى، و تنام ليلك آمنا.

#3

String updateCmd = "UPDATE employee SET emp_id = @emp_id, fname = @fname, minit = @minit, lname = @lname, job_id = @job_id , job_lvl=@job_lvl,pub_id = @pub_id, hire_date = @hire_date WHERE emp_id = @emp_id";

-------------------------------------------------------------------------------------------------------------------------------------

جرب هذه الطريقه ...إن شاء الله يضبط معك .

#4

محمد نسمان

شكرا .... انحلت المشكلة .... جزاك الله الف خير

لاتحزن

جزيت خيرا... شكرا لك

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

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