السلام عليكم ورحمة الله وبركاته
أرجو منكم المساعدة في حل المشكلة التالية وهي :
لدي stored procedure له الصيغة التالية :
ALTER procedure [dbo].[insertreport] @wardianumber int,
@period nvarchar(50),
@wardia_date nvarchar(50),
@wardiamanager nvarchar(50),
@machinename nvarchar(200),
@machine_status nvarchar(50),
@machine_notice nvarchar(500)=null
as
insert into wardiatable (wardianumber,period,wardia_date,wardiamanager,machinename,machine_status,machine_notice)
values (@wardianumber,@period,@wardia_date,@wardiamanager,@machinename,@machine_status,@machine_notice)
وضمن الفورم كتبت الكود التالي :
sqlCommand1.Connection = sqlConnection1;
sqlCommand1.CommandType = CommandType.StoredProcedure;
sqlCommand1.CommandText = "insertreport";
sqlConnection1.Open();
for (int i=0;i<dataGridView1.RowCount;i++)
{
sqlCommand1.Parameters.Add("@wardianumber", SqlDbType.Int).Value = comboBox1.SelectedItem;
sqlCommand1.Parameters.Add("@period", SqlDbType.NVarChar, 50).Value = comboBox3.SelectedItem;
sqlCommand1.Parameters.Add("@wardia_date", SqlDbType.NVarChar, 50).Value = dateTimePicker1.Value;
sqlCommand1.Parameters.Add("@wardiamanager", SqlDbType.NVarChar, 50).Value = comboBox2.SelectedItem;
sqlCommand1.Parameters.Add("@machinename", SqlDbType.NVarChar, 200).Value = dataGridView1.Rows.Cells[0].Value;
sqlCommand1.Parameters.Add("@machine_status", SqlDbType.NVarChar, 50).Value = dataGridView1.Rows.Cells[1].Value;
sqlCommand1.Parameters.Add("@machine_notice", SqlDbType.NVarChar, 500).Value = dataGridView1.Rows.Cells[2].Value;
sqlCommand1.ExecuteNonQuery();
}
وعند تنفيذ البرنامج تظهر الرسالة التالية : Procedure or function insertreport has too many arguments specified
وحتى عند إلغاء الحلقة for يتم التنفيذ مرة واحدة وإذا طلبت منه التنفيذ مرة أخرى تظهر نفس الرسالة
الرجاء المساعدة العاجلة وجزاكم الله كل خير