السلام عليكم
اخواني الاعزاء اقوم حاليا ببناء برنامج لاستلام و تسليم قطع الصيانات لاحدى الشركات
و يحوي البرنامج على زبائن و موردين و موظفين و إيصالات شحن و تصنيف للمواد و غيرها من الحقول الضرورية
لكن هناك عددة اسئلة
كما تعلمون هناك عدة نوافذ و اتبع مبدأ ان الاتصال يفتح لمرة وحدة فقط عن النافذة الرئيسية و الباقي النوافذ تأخذ هذا الاتصال و هو مفتحوح فهل هذه الطريقة صحيحة ام لا
2 - انا استخدم app.config و هو الذي يحوي على بيانات الاتصال فهل هذا صحيح
و هل يوجد طريقة اصح اكثر في بيانات الاتصال و كيفة العمل معها مع النوافذ المتعددة
و ايضا في هذه الطريقة اعاني انه عند فتح البرنامج او كل ما يتم فتح نافذة يتم الجمود مدة ثواني ثم يفتح النافذة فلماذا ؟؟؟
و السؤال الاخر
عند تنصيب البرنامج على حاسب الزبون فكيف يمكنني رفع قواعد البيانات على سيرفر الزبون و ان كان هناك بيانات قديمة و تم اعادة تنصيب البرنامج مرة اخرى بعد ما تم فرمتة الجهاز كيف يمكن رفع قواعد بيانات قديمة
و السؤال الاخير
SqlCommand cc = null;
cc = new SqlCommand("SELECT CardMaintenance.ID,CardMaintenance.IDCustomers as 'رقم الزبون'," +
"Customers.Name as 'أسم الزبون',CardMaintenance.FUnit as 'المادة', CardMaintenance.Unit as 'الموديل', " +
"CardMaintenance.SirealNumber as 'رقم التسلسلي', CardMaintenance.Note2 as 'إجرائات الصيانة'" +
"FROM CardMaintenance INNER JOIN" +
"Customers ON CardMaintenance.IDCustomers = Customers.ID", s);
SqlDataReader r = cc.ExecuteReader();
DataSet ds = new DataSet();
DataTable dt = new DataTable("MyTable");
ds.Tables.Add(dt);
dt.Columns.Add("ID", typeof(int));
dt.Columns.Add("رقم الزبون", typeof(int));
dt.Columns.Add("أسم الزبون", typeof(string));
dt.Columns.Add("المادة", typeof(string));
dt.Columns.Add("الموديل", typeof(string));
dt.Columns.Add("رقم التسلسلي", typeof(string));
dt.Columns.Add("إجرائات الصيانة", typeof(string));
while (r.Read())
{
dt.Rows.Add(r["ID"].ToString());
dt.Rows.Add(r["رقم الزبون"].ToString());
dt.Rows.Add(r["أسم الزبون"].ToString());
dt.Rows.Add(r["المادة"].ToString());
dt.Rows.Add(r["الموديل"].ToString());
dt.Rows.Add(r["رقم التسلسلي"].ToString());
dt.Rows.Add(r["إجرائات الصيانة"].ToString());
}
dataGridView1.DataSource = ds;
dataGridView1.DataMember = "MyTable";
r.Close();لماذا عندما اقوم بالتنفيذ تظهر هذه الرسالة مع العلم ان الاستعلام صحيح 100%
Incorrect syntax near the keyword 'ON'.
على ما اظن ان المشكلة من SqlDataReader r = cc.ExecuteReader();
لاننا هنا نتعامل مع اكثر من جدول في قاعدة البيانات
لكن لم اصل إلى حل المشكلة إلى الان
و اسف ان كانت الاسئلة طويلة بعد الشيء
و جزاكم الله كل خير