الاخوه الاعزاء
السلام عليكم
عندي مشلة في تحديث البيانات باستخدام رقم 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);
}
}وشكراً