م
شكور اخى على شرحك المميز واسمح لى ان اقول اننى استفدت من الاكواد فى التعامل مع الاكسس
ولى طلب بعد اذنك
ا
نا احتاج الى التعامل مع السيكوال سيرفر من خلال البراميتر استوربروسدجير
لدى جدول اخترت منه ما احتاج اظهاره فى استوردبروسدجير سيكوال سيرفر
كود :
ALTER proc [dbo].[get_itmes]
@ID varchar (50)
as
SELECT [ID_PRODUCT]as'رقم المنتوج'
,[LABEL_PRODUCT]as 'وصف المنتج'
,[QTE_IN_STOCK]as 'الكمية المخزنة'
,[PRICE] as 'الثمن'
,[ID_CAT] as 'المخزن'
from PRODUCTS
where ID_PRODUCT=@ID
الترتيب فى الجدول السيكوال
0 و 1 و 2 و 3 و 5 وقد تجاهلت الرقم 4 الذى يحتوى على صوره المنتج
وقد انشأت كلاس خاص بالايتم فى الفيجوال استديو
كود :
public DataTable get_itmes(string ID)
{
DAl.DataAccessLayer DAL_Cal = new DAl.DataAccessLayer();
DAL_Cal.open();
DataTable dt = new DataTable();
SqlParameter [] param = new SqlParameter [1];
param [0] = new SqlParameter("@ID",SqlDbType.VarChar,50);
param [0].Value= ID;
dt = DAL_Cal.Read_SelectData("get_itmes", param);
DAL_Cal.close();
return dt;
توضيح بالنسبه للداتا اكسس لاير فيه كود برمجى Read_delectData اكتب اليك اخى الكود البرمجى الذى كتبته
كود :
public DataTable Read_SelectData(string Stored_Procedure, SqlParameter[] Param)
{
// امر انشاء الاجراء المخزن sqlcommand
SqlCommand sqlCmd = new SqlCommand();
// stored_procedure هو الاجراء المخزن
//COMMAND TYPE نوعه الاجراء المخزن
sqlCmd.CommandType = CommandType.StoredProcedure;
// التكســـت الذى سيتعامل مع الاجراء المخزن
sqlCmd.CommandText = Stored_Procedure;
// اسم الاتصال الذى سيتعامل معه الموجود به كل التفاصيل للدخول لقاعده البيانات
sqlCmd.Connection = sql_OPENconnect;
// نعمل تحقق من الممكن وجود بارميترات ومن الممكن لا توجد بقاعد
// اذا كان البراميتر موجوده سنقوم باضافتها
// وان لم تكن موجوده سينفذ الامر مباشرتا
// if نتحقق بقاعده
if (Param != null) // اذا كانت الاجاء المخزن غير فارغ اى يحتوى على باراميتر
// نضيفها كلها ولذلك نحتاج الى تكرار لاننا لا نفرف عدد الاجراء المخزن
{
// i<Param.Length مهناها لاخر بارام موجود
for (int i = 0; i < Param.Length; i++)
{
sqlCmd.Parameters.Add(Param[i]);
}
}
// قراءه البيانات الناتجه عن الاجراء المخزن
// (sqlCmd) المكلف بقراءته يكون داخل الاقواس
SqlDataAdapter da = new SqlDataAdapter(sqlCmd);
// لازم يقراء البيانات فى داتا تابل
DataTable dt = new DataTable();
// تعبئه الداتا تابل عبر الداتا ادبتر
da.Fill(dt);
// اخيرا الحصول على نتيجه الاجراء المخزن ووضعه فى الداتا تابل
return dt;
}
الان لدى فورم به داتا جريد فيو احتاج الى اكواد استدعاء الصنف الى الداتا جريد فيو من خلال ما ذكرت
هذا البرنامج اتدرب فيه لكى اتوسح فيه جزء جزء ان شاء الله
ارجو توضيح اى خطأ عندى اخى الكريم
وعلى فكره انا احب البرمجه بنسبه اكثر من 100%
وشكراااااااااااااااا لمجهودك وتعبك معى .......