05-04-13, 10:35 PM
السلام عليكم
من فضلكم احتاج مساعدة فى عمل تحديث لجدول بقاعدة البيانات عن طريق DataGridView
حيث أننى أستخدم ستورد بروسيدجر وكنت إستخدم الكود التالى فى تسجيل البيانات الموجودة بالداتا جريد بقاعدة البيانات ولكنى عند عمل نفس الكود مع تغيير الستورد بروسيدجر بالخاص بعملية Update وجدت انه يقوم بتحديث جميع البيانات الموجودة بالجدول والمرتبطة بالكود المطلوب البحث عنه فقمت بإضافة شرط إسم البيان المطلوب تعديله فى الستورد بروسيدجر ايضا لكى اقوم بتحديث السطر المراد فقط ولكن لا يتم التحديث الأن ؟؟
كود الستورد بروسيدجر
الكود المستخدم للتعديل فى الشاشة
حيث اننى استدعيها من ملف Dll وهذا هو كوده MyFun
من فضلكم احتاج مساعدة فى عمل تحديث لجدول بقاعدة البيانات عن طريق DataGridView
حيث أننى أستخدم ستورد بروسيدجر وكنت إستخدم الكود التالى فى تسجيل البيانات الموجودة بالداتا جريد بقاعدة البيانات ولكنى عند عمل نفس الكود مع تغيير الستورد بروسيدجر بالخاص بعملية Update وجدت انه يقوم بتحديث جميع البيانات الموجودة بالجدول والمرتبطة بالكود المطلوب البحث عنه فقمت بإضافة شرط إسم البيان المطلوب تعديله فى الستورد بروسيدجر ايضا لكى اقوم بتحديث السطر المراد فقط ولكن لا يتم التحديث الأن ؟؟
كود الستورد بروسيدجر
كود :
@Group_ID int,
@Item_Desc nvarchar(200),
@Item_Prices FLOAT
as
update Monthly_Data_Out
set
Item_Desc = @Item_Desc,
Item_prices = @Item_Prices
where Group_ID = @Group_ID AND Item_Desc = @Item_Desc
الكود المستخدم للتعديل فى الشاشة
كود :
// بيانات مصاريف أساسية
for (var i = 0; i <= DGV_Out.RowCount - 1; i++)
{
MyFun.FireStoredProcedure("Update_Monthly_Data", new SqlParameter("@Group_ID", MyFun.id),
new SqlParameter("@Item_Desc", DGV_Out.Rows[i].Cells["Item_Desc_Col"].Value.ToString()),
new SqlParameter("@Item_prices", DGV_Out.Rows[i].Cells["Item_prices_Col"].Value.ToString()));
}
حيث اننى استدعيها من ملف Dll وهذا هو كوده MyFun
كود :
public DataTable FireDataTable_StoredProcedure(string StoredProcedureName, params SqlParameter[] arrParam)
{
SqlParameter firstOutputParameter = null;
if (cn.State == ConnectionState.Closed) cn.Open();
dt = new DataTable();
cmd.Connection = cn;
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = StoredProcedureName;
cmd.CommandTimeout = cn.ConnectionTimeout;
if (arrParam != null)
{
foreach (SqlParameter param in arrParam)
{
cmd.Parameters.Add(param);
if (param.Direction == ParameterDirection.Output && param.SqlDbType == SqlDbType.Int)
{
firstOutputParameter = param;
}
}
}
try
{
ad.SelectCommand = cmd;
ad.Fill(dt);
cmd.Parameters.Clear();
return dt;
}
catch (Exception)
{
return dt;
}
}
فهل من الممكن مساعدتى فى كيفية تحديث البيانات فى قاعدة البيانات ؟