ساختن کانکشن SQL توسط کاربر در C#
--سلام
اول از همه اونهایی که کمک میکنن تشکر میکنم
من یک نمیچه برنامه نویس تازه کار هستم که هنوز 2ماه هم از شروع کارم نگذشته و هیچ کلاسی هم نرفتم پس از کدهای پیچیده زیاد سر در نمیارم پس خواهش میکنم از ارجا به سایت های خارجی یا رفرنس که از فلان دستور یا روش استفاده کن خود داری کنید چون امثال من خیلی زیادن و اکثر برنامه نویسها از اونجا که می خوان برنامشون کاربر پسند باشه برنامه رو جوری می نویسن که کاربر به راحت ترین شکل ممکن از برنامشون استفاده کنه پس اگه میشه با یک مثال کامل و یا یک پروژه نمونه یا اگه امکانش بود هر 2 باهم جواب سوالم رو بدین باز هم ممنون از وقتی که میگذارید. اما سوال:
فرض کنید من یک پروژه دارم با 2 فرم و یک دیتا بیس.
فرم اصلی که اطلاعات رو قراره کاربر توش ثبت ویرایش حذف و عملیات مربوط به دیتابیس رو انجام بده مثل عکس
فرم دوم که سوال من در مورد همین فرم هست فرمی که کاربر قراره اطلاعات دیتابیس رو تو اون ثبت کنه مثل عکس:
حالا من یک کلاس دارم که توش کانکشن استرینگ ثبت شده یک کلاس دارم که تیبل و فیلدهای دیتا بیسم توش ثبت شده که برای هر باتن و یا فرم های دیگه که بعدا اضافه میشه مجبور به ساختن کانکشن نشم و هر بار فقط از کلاس فراخوانی کنم.
ولی هنوز نمیفهمم که چطوری این ها رو تو فایل کانفیگ ذخیره کنم البته نو یک فایل تکست ذخیره کردم و تو خود همون فرم فراخوانی کردم ولی نمیدونم چطور تو کلاس به صورت کانکشنم فراخوانی کنم رمز نگاریش مشکلی نداره بعدا خودم انجام میدم ولی فعلا واسه راحتی کار انجام ندادم میشه یه نمونه مثال کامل یا یه پروژه برام بذارید که کاری که من میگم رو انجام بده؟ و یا میشه تو همین پروژه برام درستش کنید البته من تو این پروژه کلاسها رو تعریف نکردم خواهش میکنم جوری توضیح بدین تا بتونم تو کلاس فراخوانی کنم این کانکشن رو حتی اگه فقط تو فرم اصلی بتونید برام فراخوانیش کنید خودم میبرمش تو کلاس
9 پاسخ
ممنون از وقتی که گذاشتین
قبلا هم گفتم من تازه کارم کسی چیزی نخواسته خودم به ذهنم رسیده و خواستم همچین آپشنی وجود داشته باشه چون تو اکثر نرم افزارهای ایرانی این گزینه وجود نداره که کاربر خودش بتونه تنظیمات سرور خودش رو وارد کنه یا مجبوری به برنامه نویس بگی مشخصات سرورم اینه یا طبق مشخصاتی که تو برنامه هست کار کنی یا یکی از شرکت اون برنامه بیاد تنظیم کنه یه جورایی یوزر فرندلی نیست خودم هم چون مبتدی هستم و از کدهای پیچیده سر در نمیارم اینجوری پیش رفتم برای هش کردن یا مخفی کردن این فایل متنی مشکلی ندارم مشکلم فراخوانی تکست تو کلاسه
من اطلاعات کانکشن رو از یک فرم گرفتم توی یه فایل به اسم maysam1.txt ذخیره کردم یعنی تو اون فایل خط اول نوشته شده:
Data Source=maysam;Initial Catalog=DtaConnection;Integrated Security=True
حاا نمیدونم چطور تو کلاس کانکشنم بیارمش جای کانکشن استرینگ یعنی اینجا:
public string ConnectionString = "Data Source=.;Initial Catalog=DtaConnection;Integrated Security=True";
چطور اون خط رو باید بگم همیشه بیاد جای نوشته داخل دابل کوتیشن که تو یک کلاس هستش همین
من کلاس رو هم نوشتم فراخوانی هم کردم فقط تو جا گذاری مشکل پیدا کردم میشه کمکم کنید؟
http://cnmeysam.persiangig.comC%20sharpConnection.zip/download
کسی نیست جواب بده؟
دوست عزیز عکس ها رو به درستی Upload نکردی .
سلام ممنون از جوابتون ولی کاش با دقت می خوندین گفتم راه حل ندین من این راه رو بلدم ولی نمیدونم چطور کد نویسیش کنم یعنی نمیدونم چطور ذخیره و بعد از ذخیره تو کلاس فراخوانی کنم گفتم که یا نمونه کد بذارین با توضیح یا یه پروژه نمونه بذارید ممنون از وقتی که گذاشتین
با کلی بدبختی فایل رو درست کردم هم ذخیره کردم هم فراخوانی میشه یکی کمک کنه بگه چطور تو یک کلاس کانکشن استرینگی که تو فایل تکست ذخیره کردم فراخوانی و ازش استفاده کنم؟
باید با استفاده از FileStream توی فایل بنویسید و ذخیره کنید البته فایلتون text نباشه و باینری باشه تا به راحتی با باز کردن فایل از طریق اکسپلورر ویندوز کاربران غیرمجاز نتونن مسیر و رمز دیتابیس رو بخونن.
شما راهنمای استفاده از تابع فایل استریم توی سی شارپ رو اگه مطالعه کنی متوجه میشی که هم می تونی با فایل استریم توی فایل بنویسی هم از فایل بخونی. حالا این عملیات رو میتونی براش کلاس تعریف کنی و استفاده کنی. و برای کلاس فایل دو تا تابع بنویسی که یکی پارامتری میگیره و توی فایل مینویسه و دیگری تابعی که محتوای فایل رو می خونه و به متغیر کلاست که می تونه همون کانکشن استرینگ باشه نسبت بده.
یه سوال: پروژه ای به این شکل رو خودتون تعریف کردید یا استادی، شرکتی ، ....؟ منظورم اینه که خواستید ایده ای برای قابل استفاده مجدد (reusable) بودن نرم افزار بدید یا نه کلا اینطوری از شما خواسته شده؟
عکسها رو درست کردم خودم هم نمونه ناقص همین پروژه رو واسه دانلود گذاشتم یکی یه نگاهی بندازه یک راه حلی کمکی چیزی بده لطفا