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

سؤال فى تعديل البيانات ولكن عاجل

بدأه shosho842000 في 25 أكتوبر 2009 · 0 رد · 364 مشاهدة · في ADO.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1

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

يوجد لدى مشكلة فى التعديل حيث يوجد جدول ادارات وبيه حقل الرقم والاسم والمدير وعند التعديل يقبل تعديل الاسم والمدير ولكن لا يقبل تعديل رقم الادارة لماذا حيث اننى وضعته pk

الكود بالاتى

 Dim rowindex As Integer = DataGridView1.SelectedRows(0).Cells(0).Value
			Dim name, super As String
			Dim id As Integer
			id = DataGridView1.Rows.Item(x).Cells(0).Value
			name = DataGridView1.Rows.Item(x).Cells(1).Value
			super = DataGridView1.Rows.Item(x).Cells(2).Value
			cmd.Connection = cn
			cmd.CommandType = CommandType.StoredProcedure
			cmd.CommandText = "updatedept"
			cmd.Parameters.Clear()
			cmd.Parameters.Add("@id", SqlDbType.Int).Value = id
			cmd.Parameters.Add("@name", SqlDbType.VarChar).Value = name
			cmd.Parameters.Add("@super", SqlDbType.VarChar).Value = super
			cmd.Parameters.Add("@oldid", SqlDbType.Int).Value = rowindex
			cmd.ExecuteNonQuery()

هنا اقوم بجلب رقم الادارة القديم واحفظه فى متغير rowindex حيث ان هذا الرقم هو المستخدم بدلالته التعديل ويظهر الخطاء الاتى

Index was out of range. Must be non-negative and less than the size of the collection. Parameter name: index

وهذا هو الprocedure

ALTER PROCEDURE [dbo].[updatedept]

-- Add the parameters for the stored procedure here

@id int,

@name varchar(50),

@oldid int,

@super varchar(50)

AS

BEGIN

-- SET NOCOUNT ON added to prevent extra result sets from

-- interfering with SELECT statements.

SET NOCOUNT ON;

-- Insert statements for procedure here

update dept set

id=@id,name=@name,super=@super

where id=@oldid

END

وشكرااااااااااااا

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