ali190
جمعه 18 آذر 1390, 11:40 صبح
با سلام و عرض خسته نباشید
در نمونه زیر که از یک پروژه Vb6 نشئت گرفته شده است رکودها توسط یک حلقه به دیتابیس افزوده میشود
بیایید نگاهی به این کد بندازیم:
Dim i As Integer
For i = 1 To 100
Adodc1.Recordset.AddNew()
Me.Adodc1.Recordset.Fields("name").Value = "m" & i
Me.Adodc1.Recordset.Fields("famil").Value = "f" & i
Me.Adodc1.Recordset.Fields("sen").Value = i
ز()
Next i
توسط یک حلقه مقادیری به فیلدهای name ، famil، sen اضافه میشود
همانطور که مشاهده میشود ابتدا توسط دستور Adodc1.Recordset.AddNew ابتدا یک رکورد جدید در جدول ایجاد میگردد ، سپس فیلدهای name ، famil، senمقدار دهی میگردند و در آخر توسط دستور Adodc1.Recordset.Update جایگاه رکوردها در دیتابیس تثبیت میگردد(Save)
در حین عمل عملیات ثبت رکورد ملاحظه میکنید که اسکرول DataGrid به سمت پایین حرکت میکند
حال اگر بخواهیم این عملیات رو در .Net پیاده سازی کنیم قضیه چظور میشود؟
آیا حتماً میبایست توسط یک Insert Query رکوردها در هر بار به بانک تزریق شود؟(آیا متدی شبیه به Add New در Ado.net هم وجود دارد؟)
آیا دستوری مشابه Adodc1.Recordset.Fields("name").Value جهت دسترسی به هر فیلدی از یک رکوردست وجود دارد؟
آیا در هر بار عملیات افزودن رکورد
dt.Clear()
ad.Fill(dt, "table1")
DataGrid .DataSource = dt
DataGrid .DataMember = dt.Tables(0).TableName
آیا استفاده از این دستور به لحاظ برنامه نویسی به صرفه هست؟
یعنی ابتدا دیتاست خالی شود و سپس مجدداً توسط آداپتر پر گردد؟
در این حالت حالت Auto Scroll حفظ نمیشود
چون در هر بار گرید توسط دستور بالا رفرش میگردد و فوکوس به روی اولین رکورد میرود.
آیا این عملیات اسکرول هم باید توسط خودمان شبیه سازی گردد؟
ممنون
یاعلی
در نمونه زیر که از یک پروژه Vb6 نشئت گرفته شده است رکودها توسط یک حلقه به دیتابیس افزوده میشود
بیایید نگاهی به این کد بندازیم:
Dim i As Integer
For i = 1 To 100
Adodc1.Recordset.AddNew()
Me.Adodc1.Recordset.Fields("name").Value = "m" & i
Me.Adodc1.Recordset.Fields("famil").Value = "f" & i
Me.Adodc1.Recordset.Fields("sen").Value = i
ز()
Next i
توسط یک حلقه مقادیری به فیلدهای name ، famil، sen اضافه میشود
همانطور که مشاهده میشود ابتدا توسط دستور Adodc1.Recordset.AddNew ابتدا یک رکورد جدید در جدول ایجاد میگردد ، سپس فیلدهای name ، famil، senمقدار دهی میگردند و در آخر توسط دستور Adodc1.Recordset.Update جایگاه رکوردها در دیتابیس تثبیت میگردد(Save)
در حین عمل عملیات ثبت رکورد ملاحظه میکنید که اسکرول DataGrid به سمت پایین حرکت میکند
حال اگر بخواهیم این عملیات رو در .Net پیاده سازی کنیم قضیه چظور میشود؟
آیا حتماً میبایست توسط یک Insert Query رکوردها در هر بار به بانک تزریق شود؟(آیا متدی شبیه به Add New در Ado.net هم وجود دارد؟)
آیا دستوری مشابه Adodc1.Recordset.Fields("name").Value جهت دسترسی به هر فیلدی از یک رکوردست وجود دارد؟
آیا در هر بار عملیات افزودن رکورد
dt.Clear()
ad.Fill(dt, "table1")
DataGrid .DataSource = dt
DataGrid .DataMember = dt.Tables(0).TableName
آیا استفاده از این دستور به لحاظ برنامه نویسی به صرفه هست؟
یعنی ابتدا دیتاست خالی شود و سپس مجدداً توسط آداپتر پر گردد؟
در این حالت حالت Auto Scroll حفظ نمیشود
چون در هر بار گرید توسط دستور بالا رفرش میگردد و فوکوس به روی اولین رکورد میرود.
آیا این عملیات اسکرول هم باید توسط خودمان شبیه سازی گردد؟
ممنون
یاعلی