View Full Version : سوال: تنظیم خاصیتInheritance Modifier در vb.net
R_Rajaee_Rad
شنبه 13 شهریور 1389, 20:34 عصر
سلام
برای دسترسی به داده ها از طریق Linq یه مشکل دارم
بعد از اضافه کردن کلاس و درگ کردن جدول برای اینکه بتونیم عمل درج رو انجام بدیم باید خاصیت Inheritance Modifier را روی چه گزینه ای تنظیم کنیم که این عمل انجام شود؟
چون روی هر سه گزینه تنظیم میکنم خطا میده
الان این گزینه روی NotInheritable تنظیم هست و خط قرمز ارور میده
سایر گزینه ها اگر تنظیم بشه خط ابی خطا میده
با تشکر..
Dim Bank As New MDCDataContext()
Dim ins As New Kala
ins.id = Val(txtID.Text)
ins.name = txtID.Text
ins.type = cmbType.Text
ins.memo = txtMemo.Text
Bank.Kalas.InsertAllOnSubmit(ins)
Bank.SubmitChanges()
R_Rajaee_Rad
یک شنبه 14 شهریور 1389, 16:49 عصر
یعنی کسی اینجا با vb و linq کار نمی کنه؟
masoodinfo
یک شنبه 14 شهریور 1389, 18:58 عصر
سلام
برای دسترسی به داده ها از طریق Linq یه مشکل دارم
بعد از اضافه کردن کلاس و درگ کردن جدول برای اینکه بتونیم عمل درج رو انجام بدیم باید خاصیت Inheritance Modifier را روی چه گزینه ای تنظیم کنیم که این عمل انجام شود؟
چون روی هر سه گزینه تنظیم میکنم خطا میده
الان این گزینه روی NotInheritable تنظیم هست و خط قرمز ارور میده
سایر گزینه ها اگر تنظیم بشه خط ابی خطا میده
با تشکر..
Dim Bank As New MDCDataContext()
Dim ins As New Kala
ins.id = Val(txtID.Text)
ins.name = txtID.Text
ins.type = cmbType.Text
ins.memo = txtMemo.Text
Bank.Kalas.InsertAllOnSubmit(ins)
Bank.SubmitChanges()
سلام دوست عزیز Inheritance Modifier من None هست و کد من :
Dim db As New DataBaseLinqDC
bime.tend = Trim(Bimeaksa.txtend.Text)
bime.price = Val(Bimeaksa.txthagh.Text)
db.Bimes.InsertOnSubmit(bime)
db.SubmitChanges()
R_Rajaee_Rad
یک شنبه 14 شهریور 1389, 19:33 عصر
الان دقیقا من همین کد رو نوشتم
اما این خط رو خطا میده
[code]Bank.Kalas.InsertAllOnSubmit(ins)
اینم متن خطا
Error 1 Data type(s) of the type parameter(s) in method 'Public Sub InsertAllOnSubmit(Of TSubEntity As TEntity)(entities As System.Collections.Generic.IEnumerable(Of TSubEntity))' cannot be inferred from these arguments. Specifying the data type(s) explicitly might correct this error. C:\Users\Sharp\Documents\Visual Studio 2008\Projects\Disk\Disk\Form1.vb 16 9 Disk
Alireza_Salehi
یک شنبه 14 شهریور 1389, 22:51 عصر
شما اومدی یک شی به نام ins از نوع Kala ساختی و به جای متد InsertOnSubmit از InsertAllOnSubmit استفاده کردی. خوب معلومه که کار نمیکنه.
متدی که شما استفاده کردی یک لیست IEnumerable لازم داره نه یک شی.
R_Rajaee_Rad
دوشنبه 15 شهریور 1389, 03:50 صبح
شما اومدی یک شی به نام ins از نوع Kala ساختی و به جای متد InsertOnSubmit از InsertAllOnSubmit استفاده کردی. خوب معلومه که کار نمیکنه.
متدی که شما استفاده کردی یک لیست IEnumerable لازم داره نه یک شی.
خیلی متشکر دوست گرامی
یه سوال دیگه داشتم
برای اینکه جدول انتخاب بشه و توی گرید به کاربر نشون داده بشه باید اون رو به اصطلاح select کرد
اینم کد مربوط به select که توی این برنامه هست
Dim dc As New mdcDataContext
Dim s = From m In dc.Kalas _
Select m
Me.DataGridView1.DataSource = s
حالا به نظر شما درسته که که این کد در from_load تابع نوشته بشه تا کاربر هر بار ورود به برنامه دکمه Select رو کلیک نکنه؟
یا بعد از اعمال عملیات های تغییراتی(حذف-اضافه-ویرایش) برای رفرش شدن گرید و نمایش اون به کاربر استفاده بشه؟
راه حل استاندارد چیه؟
Alireza_Salehi
دوشنبه 15 شهریور 1389, 17:50 عصر
معمولا وقتی فرم برای اولین بار (همون form_load) نمایش داده میشه لیست رو اتوماتیک پر میکنند. البته با این شرط که تعداد رکورد های زیاد نباشه که نمایش فرم با تاخیر مواجه بشه.
در هر حالتی که داده ها تغییر کنند باید اطلاعات از نو نمایش داده شوند. که همون سه حالت (حذف-اضافه-ویرایش) رو شامل میشه.
R_Rajaee_Rad
سه شنبه 16 شهریور 1389, 17:55 عصر
معمولا وقتی فرم برای اولین بار (همون form_load) نمایش داده میشه لیست رو اتوماتیک پر میکنند. البته با این شرط که تعداد رکورد های زیاد نباشه که نمایش فرم با تاخیر مواجه بشه.
در هر حالتی که داده ها تغییر کنند باید اطلاعات از نو نمایش داده شوند. که همون سه حالت (حذف-اضافه-ویرایش) رو شامل میشه.
پس به نظر شما کاربر اگر خواست اطلاعات ذخیره شده از قبل رو ببینه(مثلا مشتریهاش) بهتره بعد از لود فرم, به صورت دستی اطلاعات نمایش داده بشه یعنی با زدن یک دکمه چون امکان داره حجم اطلاعات زیاد باشه و لود فرم کند باشه
درست متوجه شدم؟
راه اتوماتیک بدون کند شدن سرعت لود وحود نداره؟
Alireza_Salehi
چهارشنبه 17 شهریور 1389, 19:56 عصر
معمولا در یک برنامه که برای یک اداره، سازمان یا حتی یک بقالی! نوشته میشه، فرض بر اینه که یک کارمند با هدفی پشت کامپیوتر میشینه، مثلا حسابدار یک شرکت یا منشی یک مطب یا پذیرش یک بیمارستان و ...
هر کدوم اینها طبق شرح وظایفشون به یکسری از عملکردهای برنامه به صورت لحظه ای نیاز دارن.
مثلا تو یک مطب ، منشی نیاز داره لیست پذیرش رو در هر لحظه ببینه و با کمترین فعالیت تغییرات مورد نیاز رو در اون ایجاد کنه (حذف ویزیت، افزودن ویزیت، تغییر در ویزیت، تشکیل پرونده جدید و...) وقتی منش وارد سیستم میشه باید نیاز های پرکاربردش به صورت اتوماتیک براش مهیا باشه. بنابراین صفحه ای که بیشترین نیاز بهش وجود داره باید صفحه اصلی باشه(با توجه به نقش کاربر).
مثلا ویزیت های امروز اتوماتیک براش لیست بشه. تعداد کل ویزیت ها، ویزیت های انجام شده و انجام نشده با هر تغییری اتوماتیک براش حساب بشه.
لیست به صورت اتوماتیک روی اولین ویزیت بعدی فوکو س کنه و الی آخر....
یک نرم افزار قراره کارها رو راحت تر کنه و نیاز به یاداشت گذاشتن و کاغذ رو حذف کنه اگر نرمافزارتون باعث عذاب بشه یا در کنارش نیاز به کاغذ حذف نشه فروش نمیره.
سریع ترین راه دریافت و نمایش اطلاعات استفاده از ترکیب DataReader و StoredProcedure است.
R_Rajaee_Rad
جمعه 19 شهریور 1389, 17:57 عصر
معمولا در یک برنامه که برای یک اداره، سازمان یا حتی یک بقالی! نوشته میشه، فرض بر اینه که یک کارمند با هدفی پشت کامپیوتر میشینه، مثلا حسابدار یک شرکت یا منشی یک مطب یا پذیرش یک بیمارستان و ...
هر کدوم اینها طبق شرح وظایفشون به یکسری از عملکردهای برنامه به صورت لحظه ای نیاز دارن.
مثلا تو یک مطب ، منشی نیاز داره لیست پذیرش رو در هر لحظه ببینه و با کمترین فعالیت تغییرات مورد نیاز رو در اون ایجاد کنه (حذف ویزیت، افزودن ویزیت، تغییر در ویزیت، تشکیل پرونده جدید و...) وقتی منش وارد سیستم میشه باید نیاز های پرکاربردش به صورت اتوماتیک براش مهیا باشه. بنابراین صفحه ای که بیشترین نیاز بهش وجود داره باید صفحه اصلی باشه(با توجه به نقش کاربر).
مثلا ویزیت های امروز اتوماتیک براش لیست بشه. تعداد کل ویزیت ها، ویزیت های انجام شده و انجام نشده با هر تغییری اتوماتیک براش حساب بشه.
لیست به صورت اتوماتیک روی اولین ویزیت بعدی فوکو س کنه و الی آخر....
یک نرم افزار قراره کارها رو راحت تر کنه و نیاز به یاداشت گذاشتن و کاغذ رو حذف کنه اگر نرمافزارتون باعث عذاب بشه یا در کنارش نیاز به کاغذ حذف نشه فروش نمیره.
سریع ترین راه دریافت و نمایش اطلاعات استفاده از ترکیب DataReader و StoredProcedure است.
از اینکه سوالات من رو خیلی دقیق جواب دادید واقعا ممنونم
پس نتیجه گرفتیم این راهی که اطلاعات گرید به صورت اتوماتیک برای کاربر بعد از لود فرم نمایش داده میشه استاندرد نیست چون اگر حجمش بره بالا کند میشه
و همچنین برای Refresh شدن دیتاگرید بعد از اضافه-حذف-ویرایش هم کارایی لازم رو نداره
شما روش دریافت و نمایش اطلاعات استفاده از ترکیب DataReader و StoredProcedure رو معرفی کردید که بهترین روشه
میشه یه مثال کاربردی اما ساده و مختصر بزنید؟؟
چون این قضیه اتوماتیک بودن خیلی خیلی برام مهمه
تشکر
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.