PDA

View Full Version : کد نویسی یا روش های دیگر ؟ (برای کار با database)



jas1387
شنبه 07 فروردین 1389, 12:48 عصر
سلام دوستان

من بین این سه راهی گیر کرده ام ( برای نوشتن برنامه هام )

1.استفاده از کد نویسی
2.استفاده از ویزارد
3.استفاده از linq

شما کدام روش را توصیه می کنید و چرا ؟

Amir Oveisi
شنبه 07 فروردین 1389, 13:09 عصر
سلام
بنده استفاده از LINQ و Entity Framework (در .net 3.5 sp1 و .net 4 ) رو توصیه می کنم.

اطلاعات بیشتر رو با جستجو در سایت میتونین به دست بیارید.

موفق باشید

ali-software
شنبه 07 فروردین 1389, 13:30 عصر
به نطر من کد نویسی که بهتره.

jas1387
شنبه 07 فروردین 1389, 13:42 عصر
ممنون از دوستان بابت پاسخ هاشون

لطفا دلایل خود را برای برتری هر کدام مطرح کنید

باز هم ممنون

keivan mousavi
شنبه 07 فروردین 1389, 13:50 عصر
وقتی شما از روش ویزاردی استفاده میکنید تمام username و password در داخل یک فایل XML قرار میگیره و اونوقت یک بچه 5 ساله هم میتونه سرور رو هک کنه

من شخصاً LINQ رو توصیه نمیکنم چون با وجود performance که داره سرعت رو پایین میاره (البته سرعت برنامه رو ولی سرعت کد نویسی رو افزایش میده) ولی در بعضی موارد مثلاً package نویسی واقعاً به درد میخوره

کد نویسی یکی از بهترین راهایی هستش که شما میتونید برای نوشتن برنامه ها استفاده کنید اما همونطور که جناب bermooda گفتن Entity Framework هم یکی از بهترین گزینه ها هستش performance بالایی داره اون محدودیتی که در کد نویسی (البته میتونی این محدودیت رو از بین ببری ولی مستلزم هزینه زیادی هستش) و LINQ هستش رو نداره مثلاً شما در Entity Framework میتونید تمام عملیات update , delete , insert , select که در برنامه انجام میشود رو در اختیار کاربران قرار دهید ولی تایید نهایی رو به یک کاربر بدید

jas1387
شنبه 07 فروردین 1389, 13:58 عصر
حالا چگونه از روش کد نویسی استفاده کنم که از تولید کد های اضافی جلو گیری شود

استفاده از استار پروسی جر را چگونه توصیه می کنید ؟

keivan mousavi
شنبه 07 فروردین 1389, 14:09 عصر
Stored Procedures یکی از بهترین روشها برای نوشتن برنامه هاستند چون که کدهای Stored Procedures به صورت کدهای دودویی نگه داشته میشه و سرعت بسیار بالایی داره و در پروژه ها حتماً باید از Stored Procedures استفاده کرد

منظورتون رو از کدهای اضافی نمیفهمم
ولی اگر میخواهید برنامه از سرعت و performance بالایی برخوردار باشه باید از اصل Object Oriented پیروی کنید

jas1387
شنبه 07 فروردین 1389, 14:28 عصر
میشه بیشتر توضیح بدهید ( ممنون می شوم )

keivan mousavi
شنبه 07 فروردین 1389, 16:27 عصر
چیز قابل عرضی دیگه وجود نداره اگر چون Stored Procedures کدهای پیش فرضی هستند که فقط برای عملیات update , delete , insert , select به کار میروند وفقط برای تسریع در سرعت در این عملیاتها به وجود آمدند

jas1387
شنبه 07 فروردین 1389, 17:38 عصر
Stored Procedures
ولی اگر میخواهید برنامه از سرعت و performance بالایی برخوردار باشه باید از اصل Object Oriented پیروی کنید

میشه در مورد مطلب بالا بیشتر توضیح بدهید؟

teardrop
شنبه 07 فروردین 1389, 21:28 عصر
به نظر من كد نويسي انعطاف بالاتري ميده

green_pm
شنبه 07 فروردین 1389, 21:34 عصر
Entity Framework چه روشی است؟

Amir Oveisi
یک شنبه 08 فروردین 1389, 02:40 صبح
Entity Framework چه روشی است؟

ADO .NET Entity Framework یک ORM برای دات نت هست که با .NET Framework 3.5 Service Pack 1 و Visual Studio 2008 Service Pack 1 عرضه شد و دیتابیس های رابطه ای رو در لایه بالاتر بصورت شی گرا/رابطه ای نشون میده. برای اطلاعات بیشتر:

http://en.wikipedia.org/wiki/ADO.NET_Entity_Framework

http://msdn.microsoft.com/en-us/library/aa697427%28VS.80%29.aspx

موفق باشید

jas1387
یک شنبه 08 فروردین 1389, 13:02 عصر
سلام دوستان

ممنون از پاسخ هاتون ، من تصمیم گرفتم که از کدنویسی استفاده کنم ولی خیلی سوال در این مورد دارم که امیدوارم به من کمک کنید( به من کمک می کنید؟ )

تا آنجا که من می دونم سناریو کار بدین شکل است که ما باید که رشته ارتباطی به دیتابیس داشته باشیم
و بعد یک دستور بنویسیم (sql ) که وقتی ارتباط برقرار است ( ارتباط با دیتابیس ) دستور اجرا شود و نتیجه اجرایی دستور درون DataAdapter قرار میگیرد که DataAdapter نتیجه را به DataSet انتساب می کند که حالا می توان با این DataSet اطلاعات را هر جا که بخواهیم نمایش دهیم (درون دیتاگرید ، تکس باکس و...)

ممنون می شوم که اگر جای اشتباه گفته ام به من گوش زد کنید.

FastCode
دوشنبه 09 فروردین 1389, 00:42 صبح
سلام دوستان

ممنون از پاسخ هاتون ، من تصمیم گرفتم که از کدنویسی استفاده کنم ولی خیلی سوال در این مورد دارم که امیدوارم به من کمک کنید( به من کمک می کنید؟ )

تا آنجا که من می دونم سناریو کار بدین شکل است که ما باید که رشته ارتباطی به دیتابیس داشته باشیم
و بعد یک دستور بنویسیم (sql ) که وقتی ارتباط برقرار است ( ارتباط با دیتابیس ) دستور اجرا شود و نتیجه اجرایی دستور درون DataAdapter قرار میگیرد که DataAdapter نتیجه را به DataSet انتساب می کند که حالا می توان با این DataSet اطلاعات را هر جا که بخواهیم نمایش دهیم (درون دیتاگرید ، تکس باکس و...)

ممنون می شوم که اگر جای اشتباه گفته ام به من گوش زد کنید.
اشتباه گفتید.
شما باید یک کانکشن داشته باشید, دستورات رو به اون بفرستید, و با sqldatareader اطلاعات رو بخونید و در غالب کلاس های خودتون ذخیره کنید و بعد هر کاری دوست دارید با اون کلاسها بکنید.
و مطمئن باشید که کاری نیست که نتونید با اونها بکنید.

من همین امروز یک گزارش رو هم با دیتاست و هم بایک سری کلاس از sql گرفتم.
و باید بگم که تمام تلاشم رو کردم ولی باز هم نتونستم با دیتاست جلوی OutOfMemoryException رو بگیرم.

jas1387
دوشنبه 09 فروردین 1389, 01:44 صبح
با sqldatareader اطلاعات رو بخونید و در غالب کلاس های خودتون ذخیره کنید و بعد هر کاری دوست دارید با اون کلاسها بکنید.
.

منظور شما از کلاس ها چی هست ؟ لطفا بیشتر توضیح بدید

keivan mousavi
دوشنبه 09 فروردین 1389, 12:44 عصر
میشه در مورد مطلب بالا بیشتر توضیح بدهید؟

ببخشید من این تایپیک رو ندیدم
یکی از دلایلی که مایکروسافت ویژوآل استادیو رو روی اصل Object Oriented قرارداد برای بالا بردن کارایی برنامه ها بودش چون متعقد بود همانطور که انسان رشد تدریجی دارد با استفاده از Object Oriented ما میتوانیم نرم افزارهای خودمون رو به دون تغییرات اساسی گسترش بدهیم

jas1387
دوشنبه 09 فروردین 1389, 13:10 عصر
یکی از دلایلی که مایکروسافت ویژوآل استادیو رو روی اصل Object Oriented قرارداد برای بالا بردن کارایی برنامه ها بودش چون متعقد بود همانطور که انسان رشد تدریجی دارد با استفاده از Object Oriented ما میتوانیم نرم افزارهای خودمون رو به دون تغییرات اساسی گسترش بدهیم

اگه براتون امکان دارد درباره Object Oriented بیشتر توضیح بدید ؟

Object Oriented چیست ؟

keivan mousavi
دوشنبه 09 فروردین 1389, 13:22 عصر
شما یک انسان را در یک اجتماع تصور کن این انسان دارای یکسری صفات هستش مانند قد وزن شکل و این انسان دارای یکسری رفتار هم هستش مانند اینکه گریه میکند میخندد ناراحت میشود خوشحال میشود و از همه مهتر این انسان تولید مثل میکند و یکسری از خصوصیات اخلاقیش رو به انسان دیگر منتقل میکند یعنی وراثت دارد به مجموعه این توصیفات Object Oriented یا شیءگرایی گفته میشود

Amir Oveisi
دوشنبه 09 فروردین 1389, 14:52 عصر
برای اطلاع بیشتر در مورد Object Oriented (شی گرا) مطلب زیر رو حتما بخونید چون بدون دونستن این موضوع برنامه نویسی با .NET بی معنی خواهد بود.

http://en.wikipedia.org/wiki/Object-oriented_programming