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

مشلة في تحديث البيانات باستخدام رقم id ترقيم تلقائي

بدأه m_b في 9 يناير 2015 · 4 رد · 737 مشاهدة · في قواعد بيانات Microsoft SQL Server
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

الاخوه الاعزاء

السلام عليكم

 

عندي مشلة في تحديث البيانات باستخدام رقم id ترقيم تلقائي وتفعيل الخاصية Identity وانا استخدم الاجراءات المخزنة

وهذا هو الاجراء المخزن

ALTER proc [dbo].[UPDATE_Realestate]
@Realestate_ID int,
@Owner_ID int,
@Realestate_Name varchar(50),
@Realestate_Address varchar(50),
@Realestate_Notes varchar(250),
@Realestate_IMAGE image

AS

UPDATE [dbo].[Tbl_Realestate]
   SET [Owner_ID] = @Owner_ID
      ,[Realestate_Name] = @Realestate_Name
      ,[Realestate_Address] = @Realestate_Address
      ,[Realestate_Notes] = @Realestate_Notes
      ,[Realestate_IMAGE] = @Realestate_IMAGE
      
 WHERE Realestate_ID=@Realestate_ID

وهذا الدالة في ملف الكلاس

  public void UPDATE_Realestates(int Owner_ID, string Realestate_Name, string Realestate_Address, string Realestate_Notes, byte[] Realestate_IMAGE)
        {
            DAL.DataAccessLayer DAL = new DAL.DataAccessLayer();
            DAL.Open();
            SqlParameter[] param = new SqlParameter[5];
            param[0] = new SqlParameter("@Owner_ID", SqlDbType.Int);
            param[0].Value = Owner_ID;
            param[1] = new SqlParameter("@Realestate_Name", SqlDbType.VarChar, 50);
            param[1].Value = Realestate_Name;
            param[2] = new SqlParameter("@Realestate_Address", SqlDbType.VarChar, 50);
            param[2].Value = Realestate_Address;
            param[3] = new SqlParameter("@Realestate_Notes", SqlDbType.VarChar, 250);
            param[3].Value = Realestate_Notes;
            param[4] = new SqlParameter("Realestate_IMAGE", SqlDbType.Image);
            param[4].Value = Realestate_IMAGE;

            DAL.ExecuteCommand("UPDATE_Realestates", param);
            DAL.Close();

وهذا الكود في زر التحديث

   private void btnAdd_Click(object sender, EventArgs e)
        {
            if(btnAdd.Text=="إضافة")
            {
                MemoryStream ms = new MemoryStream();
                pbox.Image.Save(ms, pbox.Image.RawFormat);
                byte[] byteImage = ms.ToArray();
                Real.Add_Realestate(Convert.ToInt32(CBoxOwner.SelectedValue), txtRealestateName.Text, txtRealestateAddress.Text
                    , txtRealestateNotes.Text, byteImage);
                MessageBox.Show("تمت الاضافة بنجاح", "حفظ", MessageBoxButtons.OK, MessageBoxIcon.Information);
           }
            else if (btnAdd.Text == "تحديث")
            {
                MemoryStream ms = new MemoryStream();
                pbox.Image.Save(ms, pbox.Image.RawFormat);
                byte[] byteImage = ms.ToArray();
                Real.UPDATE_Realestates(Convert.ToInt32(CBoxOwner.SelectedValue), txtRealestateName.Text, txtRealestateAddress.Text
                    , txtRealestateNotes.Text, byteImage);
                MessageBox.Show("تمت التحديث بنجاح", "تحديث", MessageBoxButtons.OK, MessageBoxIcon.Information);
               
            }
            txtRealestateName.Text = string.Empty;
            txtRealestateAddress.Text = string.Empty;
            txtRealestateNotes.Text = string.Empty;
        }

        private void button1_Click(object sender, EventArgs e)
        {
            OpenFileDialog ofd = new OpenFileDialog();
            ofd.Filter = "ملفات الصور |*.JPG; *.PNG; *.GIF; *.BMP";
            if (ofd.ShowDialog() == DialogResult.OK)
            {
                pbox.Image = Image.FromFile(ofd.FileName);
            }
        }

وشكراً

#2
m_b كتب:

الاخوه الاعزاء

السلام عليكم

 

عندي مشلة في تحديث البيانات باستخدام رقم id ترقيم تلقائي وتفعيل الخاصية Identity وانا استخدم الاجراءات المخزنة

وهذا هو الاجراء المخزن

ALTER proc [dbo].[UPDATE_Realestate]
@Realestate_ID int,
@Owner_ID int,
@Realestate_Name varchar(50),
@Realestate_Address varchar(50),
@Realestate_Notes varchar(250),
@Realestate_IMAGE image

AS

UPDATE [dbo].[Tbl_Realestate]
   SET [Owner_ID] = @Owner_ID
      ,[Realestate_Name] = @Realestate_Name
      ,[Realestate_Address] = @Realestate_Address
      ,[Realestate_Notes] = @Realestate_Notes
      ,[Realestate_IMAGE] = @Realestate_IMAGE
      
 WHERE Realestate_ID=@Realestate_ID

وهذا الدالة في ملف الكلاس

  public void UPDATE_Realestates(int Owner_ID, string Realestate_Name, string Realestate_Address, string Realestate_Notes, byte[] Realestate_IMAGE)
        {
            DAL.DataAccessLayer DAL = new DAL.DataAccessLayer();
            DAL.Open();
            SqlParameter[] param = new SqlParameter[5];
            param[0] = new SqlParameter("@Owner_ID", SqlDbType.Int);
            param[0].Value = Owner_ID;
            param[1] = new SqlParameter("@Realestate_Name", SqlDbType.VarChar, 50);
            param[1].Value = Realestate_Name;
            param[2] = new SqlParameter("@Realestate_Address", SqlDbType.VarChar, 50);
            param[2].Value = Realestate_Address;
            param[3] = new SqlParameter("@Realestate_Notes", SqlDbType.VarChar, 250);
            param[3].Value = Realestate_Notes;
            param[4] = new SqlParameter("Realestate_IMAGE", SqlDbType.Image);
            param[4].Value = Realestate_IMAGE;

            DAL.ExecuteCommand("UPDATE_Realestates", param);
            DAL.Close();

وهذا الكود في زر التحديث

   private void btnAdd_Click(object sender, EventArgs e)
        {
            if(btnAdd.Text=="إضافة")
            {
                MemoryStream ms = new MemoryStream();
                pbox.Image.Save(ms, pbox.Image.RawFormat);
                byte[] byteImage = ms.ToArray();
                Real.Add_Realestate(Convert.ToInt32(CBoxOwner.SelectedValue), txtRealestateName.Text, txtRealestateAddress.Text
                    , txtRealestateNotes.Text, byteImage);
                MessageBox.Show("تمت الاضافة بنجاح", "حفظ", MessageBoxButtons.OK, MessageBoxIcon.Information);
           }
            else if (btnAdd.Text == "تحديث")
            {
                MemoryStream ms = new MemoryStream();
                pbox.Image.Save(ms, pbox.Image.RawFormat);
                byte[] byteImage = ms.ToArray();
                Real.UPDATE_Realestates(Convert.ToInt32(CBoxOwner.SelectedValue), txtRealestateName.Text, txtRealestateAddress.Text
                    , txtRealestateNotes.Text, byteImage);
                MessageBox.Show("تمت التحديث بنجاح", "تحديث", MessageBoxButtons.OK, MessageBoxIcon.Information);
               
            }
            txtRealestateName.Text = string.Empty;
            txtRealestateAddress.Text = string.Empty;
            txtRealestateNotes.Text = string.Empty;
        }

        private void button1_Click(object sender, EventArgs e)
        {
            OpenFileDialog ofd = new OpenFileDialog();
            ofd.Filter = "ملفات الصور |*.JPG; *.PNG; *.GIF; *.BMP";
            if (ofd.ShowDialog() == DialogResult.OK)
            {
                pbox.Image = Image.FromFile(ofd.FileName);
            }
        }

وشكراً

#3

ايش المشكلة طيب ؟

#4

السلام عليكم

المشكلة اذا خليت الشرط برقم ID  تأتي رساله لايمكن تحديث رقم Realestate_ID   واذا خليت الشرط Realestate_Name يحدث جميع السجلات

#5

add this  line

param[5] = new SqlParameter("Realestate_ID", SqlDbType.Int);
            param[5].Value = Realestate_ID;

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…