ورود

نسخه کامل مشاهده نسخه کامل : تعریف رکورد در #C



Mohammad_HNF
30-09-2014, 16:29
سلام دوستان
من به تازه گی برنامه نویسی #C رو شروع کردم اما توی بحث فایل ها و استریم ها مشکل دارم می خواستم بگم که
چطور می شه توی #C رکورد تعریف کرد برای فایل های تصادفی می خوام اگر هم براتون امکان داره یه مثال ساده با توضیح
بدید.
ممنون میشم کمکم کنید :n01:

_H2_
02-10-2014, 17:53
سلام
در این زمان بطور معمول برنامه نویسان نیازی به خواندن و نوشتن فایل ها بطور رکوردی مشابه آنکه در کتوب قدیمی ++C و Basic و... آموزش داده میشود، ندارند.

در حال حاضر برای ذخیره اطلاعات سازماندهی شده دیتابیس های متنوعی داریم، کوچک و بزرگ...
این دیتابیس ها با سادگی، ضمانت، امکانات بیشتر امکان ذخیره سازی و بازیابی تعداد نا محدود جدول های اطلاعاتی با سطرهای بیشمار را میدهد.
وقتی به این جریان پشتیبانی پرس و جو هایی مانند SQL را هم اضافه کنیم باز هم دلایل برای تولید و خواندن مستقیم فایل های رکوردی کمتر میشود.

از گزینه های دیگر ذخیره امروزه میتوان به فرمت XML اشاره کرد که در موارد پیشرفته تر با ZIP شدن هم همراه خواهد شد.
پس برای پروتکل های امروزی دلیل و منطق و کاربرد زیادی برای دسترسی رکوردی نمیتوان یافت.

از گزینه های دیگر هم میتوان سریال کننده ها اشاره کرد که میتوانند هر شی با ارتباطاتش را (به مانند یک گراف) سریالی و دیسریالی کنند.

=====

ولی با این وجود به صرف جنبه تحقیقی و داشتن یک نمونه کد برای پاره ای از موارد ساده struct ای میتوان از کد زیر استفاده کرد.

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

طریقه استفاده

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
موفق باشد.

Mohammad_HNF
04-10-2014, 10:39
ممنون از کمکتون
یه سوال دیگه هم داشتم میخواستم بگم که این کد چه مشکلی داره میخوام اطلاعاتی که وارد تکست باکس ها می کنم
وارد بانک اطلاعاتیم بشه

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
در ضمن کد خط con.Open(); //Line 5 خطا می گیره خواستم که یه مقدار راهنماییم کنید و بگید که چطور مشکلم رو حل کنم
ممنون از کمکتون:n01:

_H2_
05-10-2014, 13:55
سلام
خیلی منطقی به نظر میرسد که شما باید یک اطلاعاتی از دیتابیس مورد نظر خود بدهید، از موارد بسیار مهم مشترک در کار با انواع دیتابیس ها میتوان (SQLServer, Oracle, PstgreSQL و...) میتوان به چهار مولفه اشاره کرد:
محل سرور شامل نام یا IP رایانه ای که دیتابیس در آن قرار دارد.
نام دیتابیس یا سرویس مربوطه، چیزی که دیتابیس شما را از بین چندین دیتابیس روی یک رایانه متمایز کند.
دو مورد هم برای امنیت اطلاعات شامل نام کاربری و گذرواژه

ما به این اطلاعات و پاره دیگری از تنیمات در مجموع ConnectionString میگوییم که یک متن است و در زمان ایجاد یک xxxConnection باید این اطلاعات را بدهیم.

به عنوان نمونه در یک شرایط عادی شبکه ای برای SQLServer همچین رشته ای خواهد شد:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

در یک شرایط خاص و کوچک دیگر، اگر سرور و کلاینت یکی باشد (یعنی روی همان رایانه ای که SQLServer روی آن نصب است کار کنید) و از امنیت یکپارچه ویندوز استفاده کنید، رشته ای مانند زیر کافی خواهد بود:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

نسخه های خاص دیگری از SQLServer داریم که برای مقاصد کوچک تر و جمع و جورتر استفاده میشوند مانند SQLServer Express و یا SQLServer LocalDB که در حال حاضر این آخری همراه VS2012,2013,2014ctp نصب میشود و میتوانید بدون Attach از یک فایل mdf استفاده کرد:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

برای اطلاعات بیشتر در خصوص انواع ConnectionString برای انواع دیتابیس ها میتوانید به سایت connectionstrings.com مراجعه کنید.

=====

اما نحوه استفاده در #C
در یک برنامه واقعی و عملی این تنظیم را بطور معمول در فایل های app.config (برنامه های دسکتاپی) یا web.config (برنامه های وبی) ذخیره میکنیم تا از خارج از کدهای برنامه و هر زمان بتوان چهار پارامتر فوق الذکر را کنترل و عوض کرد...
ولی حالا برای انکه کارتان راه بیافتد و به نتیجه شیرین کار کردن کدهایتان برسید، کد زیر را میتوانید استفاده کنید.


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

=====

در آخر باید عرض کنم که مجموعه دستوراتی که در پست قبلی تان نوشته اید شاید برای شروع کار و چند آزمایش خوب و حتی کافی باشند ولی اگر قصد ادامه دادن برنامه نویسی و تولید و عرضه محصول واقعی را داشته باشید، این دستورات مناسب نبوده و ضمن داشتن مشکلات امنیتی، نگه داری سخت و توسعه و بروزرسانی سخت تری خواهند داشت.
روش و تکنولوژی امروزی مورد استفاده Entity Framework-Code First را پیشنهاد میکند که بسیار ساده و کارآمد امکان تبادل اطلاعات با دیتابیس ها را فراهم میکند و با جستجویی کوچک میتوانید نمونه کدهای فراوانی پیدا کنید.

موفق باشید.