السلام عليكم ورحمة الله وبركاته ارغب فى ان اسال عن كيفية استخدام sql view فى دوت نت حيث قمت بادراج sql
view قمت بانشائه يتكون من اكثر من table وكود الخاص به هو الاتى
(SELECT dbo.Emp.ID_Emp AS مسلسل, dbo.Emp.Emp_Code AS [كود الموظف], dbo.Salary.Sal_Name AS [نوع المرتب], dbo.Salary.Sal_Value AS [قيمة المرتب],
dbo.Job.job_Title AS [الكادر الوظيفى], dbo.Dep.Dep_Name AS [اسم القسم], dbo.Emp.
Emp_Shift_ID AS [رقم الشف], dbo.Emp.Emp_Hir_Date AS [تاريخ التعيين],
dbo.Emp.Emp_Month_Days AS [عدد ايام العمل], dbo.Emp.Emp_Birth_Date AS [تاريخ
الميلاد], dbo.Emp.Mar_Status_ID AS [جالة الاجتماعية],
dbo.Emp.Mil_Status AS [المعاملة العسكرية], dbo.Emp.Education AS التعليم, dbo.Emp.
Date_qualif AS [تاريخ التخرج], dbo.Emp.Ins_Emp AS [مساهمة العامل],
dbo.Emp.Ins_Cmp AS [مساهمة الشركة], dbo.Emp.Ins_ID AS [الرقم التأمينى], dbo.Emp.
Ins_Amount AS [قيمة التأمين], dbo.Emp.Ins_Fixed,
dbo.Emp.Pass_ID AS [رقم جواز السفر], dbo.Emp.Issued_Pass AS [تاريخ الاستخراج], dbo.
Emp.Emp_ID AS [رقم البطاقة الشخصية],
dbo.Emp.Issued_ID AS [مكان الاستخراخ], dbo.Emp.Ended_Pass AS [تاريخ الانتهاء ], dbo.
Emp.Image AS الصورة, dbo.Emp.Emp_Type AS [ نوع الموظف],
dbo.Emp.First_Name AS [اسم الاول], dbo.Emp.Last_Name AS [الاسم الثانى], dbo.Emp.
Gender AS النوع, dbo.Emp.Contact_Person AS [الشخص المتصل],
dbo.Emp.Con_Per_Phone AS [تليفون المتصل], dbo.Emp.Relation AS العلاقة, dbo.Emp.
Address1 AS [عنوان 1], dbo.Emp.Address2 AS [عنوان 2],
dbo.Emp.Address3 AS [عنوان 3], dbo.Emp.Phone1 AS [تليفون 1], dbo.Emp.Phone2 AS [
تليفون 2], dbo.Emp.Phone3 AS [تليفون 3], dbo.Emp.Mobile AS موبيل,
dbo.Emp.Email AS [بريد اليكترونى], dbo.Emp.Emp_Dep, dbo.Emp.Emp_Job, dbo.Emp.
Emp_Salary_ID
FROM dbo.Salary RIGHT OUTER JOIN dbo.Emp ON dbo.Salary.ID = dbo.Emp.Emp_Salary_ID FULL OUTER JOIN dbo.Dep ON dbo.Emp.Emp_Dep = dbo.Dep.ID_Dep FULL OUTER JOIN ( dbo .Job ON dbo.Emp.Emp_Job = dbo.Job.Job_No,وعند القيام بعملية الادراج من server explorer لمعرفة كيفية التعامل ظهرت رسالة خاصة data adapter مرفعة مع
الرسالة وتم كتابة الكود الاتى بشكل اتوماتيك فى windows generated code
تم فقط اضافة insert command وselect command
وتم اضافة parameters لinsert command
اما بالنسبة data adapter فكانت كالاتى
Me.SqlDataAdapter1.InsertCommand = Me.SqlInsertCommand1
Me.SqlDataAdapter1.SelectCommand = Me.SqlSelectCommand1
Me.SqlDataAdapter1.TableMappings.AddRange(New System.Data.Common.DataTableMapping()
{New System.Data.Common.DataTableMapping("Table", "datagrid_emp", New System.Data.Common.
DataColumnMapping() {New System.Data.Common.DataColumnMapping("مسلسل", "مسلسل"), New
System.Data.Common.DataColumnMapping("كود الموظف", "كود الموظف"), New System.Data.Common.
DataColumnMapping("نوع المرتب", "نوع المرتب"), New System.Data.Common.DataColumnMapping("قيمة
المرتب", "قيمة المرتب"), New System.Data.Common.DataColumnMapping("الكادر الوظيفى", "الكادر الوظيفى
"), New System.Data.Common.DataColumnMapping("اسم القسم", "اسم القسم"), New System.Data.
Common.DataColumnMapping("رقم الشف", "رقم الشف"), New System.Data.Common.DataColumnMapping
("تاريخ التعيين", "تاريخ التعيين"), New System.Data.Common.DataColumnMapping("عدد ايام العمل", "عدد ايام
العمل"), New System.Data.Common.DataColumnMapping("تاريخ الميلاد", "تاريخ الميلاد"), New System.Data
.Common.DataColumnMapping("جالة الاجتماعية", "جالة الاجتماعية"), New System.Data.Common.
DataColumnMapping("المعاملة العسكرية", "المعاملة العسكرية"), New System.Data.Common.
DataColumnMapping("التعليم", "التعليم"), New System.Data.Common.DataColumnMapping("تاريخ التخرج", "
تاريخ التخرج"), New System.Data.Common.DataColumnMapping("مساهمة العامل", "مساهمة العامل"), New
System.Data.Common.DataColumnMapping("مساهمة الشركة", "مساهمة الشركة"), New System.Data.
Common.DataColumnMapping("الرقم التأمينى", "الرقم التأمينى"), New System.Data.Common.
DataColumnMapping("قيمة التأمين", "قيمة التأمين"), New System.Data.Common.DataColumnMapping("
Ins_Fixed", "Ins_Fixed"), New System.Data.Common.DataColumnMapping("رقم جواز السفر", "رقم جواز
السفر"), New System.Data.Common.DataColumnMapping("تاريخ الاستخراج", "تاريخ الاستخراج"), New
System.Data.Common.DataColumnMapping("رقم البطاقة الشخصية", "رقم البطاقة الشخصية"), New System
.Data.Common.DataColumnMapping("مكان الاستخراخ", "مكان الاستخراخ"), New System.Data.Common.
DataColumnMapping("تاريخ الانتهاء ", "تاريخ الانتهاء "), New System.Data.Common.DataColumnMapping("
الصورة", "الصورة"), New System.Data.Common.DataColumnMapping(" نوع الموظف", " نوع الموظف"), New
System.Data.Common.DataColumnMapping("اسم الاول", "اسم الاول"), New System.Data.Common.
DataColumnMapping("الاسم الثانى", "الاسم الثانى"), New System.Data.Common.DataColumnMapping("
النوع", "النوع"), New System.Data.Common.DataColumnMapping("الشخص المتصل", "الشخص المتصل"),
New System.Data.Common.DataColumnMapping("تليفون المتصل", "تليفون المتصل"), New System.Data.
Common.DataColumnMapping("العلاقة", "العلاقة"), New System.Data.Common.DataColumnMapping("عنوان
1", "عنوان 1"), New System.Data.Common.DataColumnMapping("عنوان 2", "عنوان 2"), New System.Data.
Common.DataColumnMapping("عنوان 3", "عنوان 3"), New System.Data.Common.DataColumnMapping("
تليفون 1", "تليفون 1"), New System.Data.Common.DataColumnMapping("تليفون 2", "تليفون 2"), New
System.Data.Common.DataColumnMapping("تليفون 3", "تليفون 3"), New System.Data.Common.
DataColumnMapping("موبيل", "موبيل"), New System.Data.Common.DataColumnMapping("بريد اليكترونى", "
بريد اليكترونى"), New System.Data.Common.DataColumnMapping("Emp_Dep", "Emp_Dep"), New System.
Data.Common.DataColumnMapping("Emp_Job", "Emp_Job"), New System.Data.Common.
DataColumnMapping("Emp_Salary_ID", "Emp_Salary_ID")})})
)(((( اولا ان استفسر عن كيفية الاستفادة وطرق التعامل مع sqlview فى فيجوال بسك دوت نت وكيفية حل مشكلة
عدم القدرة على استخدام سواء من update command أو delete command مع sql data view باستخدام
dataadapter وهل هناك طريقة اخرى غير data adapter يمكن استخدامها حتى يتم التعامل مع sql view ثم لماذا يتم
انشاء .DataTableMapping وما هى وهل تعتبر data table يمكن ربطها مباشرا مع data grid datasource
واخيرا بالمقارنة معstore procedure ما هو الافضل فى الاستخدام مع data set ثم الربط مع (datagrid
)