PDA

View Full Version : ساخت پروژه با C#



ashena2
سه شنبه 23 فروردین 1390, 16:18 عصر
سلام خدمت همه دوستان عزيز
من ميخوام يه نرم افزار طراحي كنم. تاحدودي هم با c# آشنايي دارم و چيزهايي كه براي اين كار نياز دارم اينها هستند:
زبان C#
يك گزارش گير بسيار قوي و منعطف
پايگاه داده خوب
بايد بگم كه من مدت زيادي هست كه از دنياي برنامه نويسي دور بودم اما ميخوام با قدرت شروع كنم.
اين نرم افزار را بايد تا يك هفته ديگه تحويل بدم
من فقط با C# و اندكي با sql آشنايي دارم.اگه روشهاي جديد برنامه نويسي ميشناسيد كه به من كمك كنند بسيار ممنون ميشم معرفي كنيد.نميدونم نيازي به تكنولوژيهايي همچون linq و يا گزارشگيرها هست يا نه؟
نرم افزار زياد بزرگ نيست.اما جستجو و گزارشگير قوي ميخواد.اگه ميشه هم تو اين فاصله ياد بگيرم و هم نرم افزار را طراحي كنم خيلي دوست دارم از تكنولوژيهاي جديد استفاده كنم
با تشكر فراوان

f4rib0rz
سه شنبه 23 فروردین 1390, 17:57 عصر
خب چون می خوای برنامه رو یه هفته ای تحویل بدی فکر نکنم وقت کنی که بخوای چیزایی جدیدی مثلا مثل linq رو بری دنبالش ولی حتما معماری سه لایه رو یاد بگیر (یا شاید بلدی:لبخند:) خیلی حجم کار رو میاره پایین .
برای گزارش گیریstimal report واقعا کامل و قدرتمند....
موفق باشی.

ashena2
سه شنبه 23 فروردین 1390, 18:09 عصر
خب چون می خوای برنامه رو یه هفته ای تحویل بدی فکر نکنم وقت کنی که بخوای چیزایی جدیدی مثلا مثل linq رو بری دنبالش ولی حتما معماری سه لایه رو یاد بگیر (یا شاید بلدی:لبخند:) خیلی حجم کار رو میاره پایین .
برای گزارش گیریstimal report واقعا کامل و قدرتمند....
موفق باشی.
ممنون دوست عزيز.راهنماييتون خيلي برام مفيد بود
بله من برنامه هام را با معماري چند لايه مينوشتم فكر كنم با چند ساعت كار كردن همش يادم بياد.
در مورد linq سوالي برام پيش اومده، اگه از اين تكنولوژي استفاده كنم ديگه نيازي به پايگاه داده اي مثل sql نيست؟
و اينكه كار اصليش چي هست؟
چيزي براي آموزش stimal report دارين؟

احتمالا حين طراحي مزاحم شما بشم .با تشكر

payman_xxp
سه شنبه 23 فروردین 1390, 19:28 عصر
سلام
با تشکر از دوست خوبم f4rib0rz (http://barnamenevis.org/member.php?137586-f4rib0rz)، فکر کنم اشتباه لپپی شده.
اسم این ابزار گزارش گیری stimul هستش.
زحمت آموزشش هم دوست خوبه دیگم ezamnejad (http://barnamenevis.org/member.php?49996-ezamnejad) کشیدن در لینک زیر:
دانلود کنید : آموزش Stimul Report (http://barnamenevis.org/showthread.php?211659-%D8%AF%D8%A7%D9%86%D9%84%D9%88%D8%AF-%DA%A9%D9%86%DB%8C%D8%AF-%D8%A2%D9%85%D9%88%D8%B2%D8%B4-Stimul-Report)

موفق باشید.

jaykob
سه شنبه 23 فروردین 1390, 19:41 عصر
ممنون دوست عزيز.راهنماييتون خيلي برام مفيد بود
بله من برنامه هام را با معماري چند لايه مينوشتم فكر كنم با چند ساعت كار كردن همش يادم بياد.
در مورد linq سوالي برام پيش اومده، اگه از اين تكنولوژي استفاده كنم ديگه نيازي به پايگاه داده اي مثل sql نيست؟
و اينكه كار اصليش چي هست؟
چيزي براي آموزش stimal report دارين؟

احتمالا حين طراحي مزاحم شما بشم .با تشكر

سلام دوست عزیز

در رابطه با LINQ باید خدمتتون عرض کنم حتما دنبال یادگیریش برید در کل برای شروع اصلا چیز سختی نیست . من در پروژه هام از linq استفاده می کنم اما به دلیل اینکه لینک به اندازه ado جا نیوفتاده منابعش یک کم کمتره ولی انعطاف جالبی داره به نظر من و کوئری که می زنید سطح بالاتر هستش . برای استفاده هم فقط کافیه که کلاسش رو اضافه کنید و دیتابیس رو انتقال بدید به کلاس با عمل درگ ان دراپ و کلاس را نمونه سازی و استفاده کنید .

از استفاده از سیستم چند لایه هم غافل نشید که بسیار مفید است

SianiD
سه شنبه 23 فروردین 1390, 19:50 عصر
سلام .
دوست عزیز ساده ترینش همون Crystal Report هست از نظر قدرت هم خوبه . پایگاه داده هم اگر sql بلدی که دیگه حرفی نیست پایگاه داده قوی و کاملی هست دیگه .
ولی در کل به نظر من اول موضوع نرم افزار و یه DFD از کارت آماده کن بسته به نیازت و مهارت های خودت ابزارت رو انتخاب کن. اگر از Crystal Report آموزش خواستی بگو تا بذارم واست

ashena2
سه شنبه 23 فروردین 1390, 22:54 عصر
بسيار ممنونم از دوستان عزيز.واقعا شرمنده كردين ، اصلا انتظار نداشتم.
از اونجا كه با C# و SQL آشنايي دارم با اين دو ابزار كارم را انجام ميدم و براي گزارشگيري هم از كريستال ريپورت استفاده ميكنم.البته طرح را روي كاغذ آماده كردم و اميدوارم مشكلي پيش نياد.موفق و مويد باشيد

f4rib0rz
چهارشنبه 24 فروردین 1390, 00:39 صبح
ممنون دوست عزيز.راهنماييتون خيلي برام مفيد بود
بله من برنامه هام را با معماري چند لايه مينوشتم فكر كنم با چند ساعت كار كردن همش يادم بياد.
در مورد linq سوالي برام پيش اومده، اگه از اين تكنولوژي استفاده كنم ديگه نيازي به پايگاه داده اي مثل sql نيست؟
و اينكه كار اصليش چي هست؟
چيزي براي آموزش stimal report دارين؟

احتمالا حين طراحي مزاحم شما بشم .با تشكر
اموزش stimul repoert که یه سرچ کوچیک هم تو سایت هم تو گوگل بزنی کلی مطلب پیدا می کنی...
linq هم باید بگم تقریبا میشه گفت تنها مزیتش نسبت به ado اینه که میتونی object , xml هم query بگیری من باهاش کار کردم ولی بیشتر از همون ado استفاده می کنم خیلی باهاش رونتر کد میزنم ...
موفق باشی...

f4rib0rz
چهارشنبه 24 فروردین 1390, 00:39 صبح
سلام
با تشکر از دوست خوبم f4rib0rz (http://barnamenevis.org/member.php?137586-f4rib0rz)، فکر کنم اشتباه لپپی شده.
اسم این ابزار گزارش گیری stimul هستش.

درسته اشتباه تایپیدم stimal :بامزه:

ashena2
پنج شنبه 25 فروردین 1390, 16:46 عصر
ميخوام يه دستور بنويسم كه كار زير را انجام بده:
فرض كنيد 5 تا تكس باكس داريم و مي خوايم از اون براي جستجو در پايگاه داده استفاده كنيم
حالا سوال اينجاست، وقتي كاربر هركدوم از اون تكس باكسها را خالي بزاره ديگه اون فيلد از جستجو حذف بشه يعني ديگه محدوديتي براي اون فيلد نباشه و همه عبارات داخل پايگاه را كه مربوط به خودش هست را شامل بشه و اگه به عنوان مثال كاربر هيچ فيلدي را هم وارد نكنه با فشردن دكمه جستجو كل پايگاه در گريد ويو نشان داده بشه
پايگاه داده من sql 2000 است
با تشكر

hadi-z
پنج شنبه 25 فروردین 1390, 18:55 عصر
سلام

میتونی اگه text box هات خالی بودن از اونا تو جستجو استفاده نکنی

if (textbox.text == null){

}

ashena2
پنج شنبه 25 فروردین 1390, 19:11 عصر
سلام

میتونی اگه text box هات خالی بودن از اونا تو جستجو استفاده نکنی

if (textbox.text == null){

}


بسيار ممنون كه پاسخ دادين.يعني بايد دستور select را چطور بنويسم؟

hadi-z
پنج شنبه 25 فروردین 1390, 19:18 عصر
فکر کنم این کمکت کنه:

http://www.codeproject.com/KB/cs/simple_movie_database.aspx

http://www.dreamincode.net/forums/topic/33874-how-to-display-sql-search-result-in-a-textbox/

ashena2
پنج شنبه 25 فروردین 1390, 19:44 عصر
هنوز متوجه نشدم بايد چيكار كنم
لطفا اگه ميدونيد خودتون كد را در اين تاپيك بنويسيد.
و اينكه ميشه در دستور select قسمت where از دستورات شرطي و شمارنده ها استفاده كرد؟
با تشكر فراوان

hadi-z
پنج شنبه 25 فروردین 1390, 20:07 عصر
نیازی نیست با دستورات sql این کارو بکنید

DataTable sample;
private void Form1_Load(object sender, EventArgs e)
{

sample = new DataTable(); //Sample Data
sample.Columns.Add("id", typeof(string));
sample.Columns.Add("name", typeof(string));
sample.Rows.Add("1", "apple");
sample.Rows.Add("2","acer");
sample.Rows.Add("3","alpha");
sample.Rows.Add("4","beat");
sample.Rows.Add("5","ball");
sample.Rows.Add("6","cat");
sample.Rows.Add("7","catch");
sample.Rows.Add("10", "zebra");

listView1.View = View.Details;
listView1.Columns.Add("id");
listView1.Columns.Add("name");

addItems();

textBox1.TextChanged += new EventHandler(textBox1_TextChanged);
}

void textBox1_TextChanged(object sender, EventArgs e)
{
addItems();
}

private void addItems()
{
listView1.Items.Clear(); //Clear all the Data in the ListView
foreach (DataRow row in sample.Rows)
{
if (row["name"].ToString().StartsWith(textBox1.Text)) //If the cell value is start with the value in the TextBox
{
ListViewItem item = new ListViewItem(row["id"].ToString());
item.SubItems.Add(row["name"].ToString());
listView1.Items.Add(item); //Add this row to the ListView
}
}

ashena2
پنج شنبه 25 فروردین 1390, 20:28 عصر
مي بخشين hadi-z عزيز من چندين ساله كه برنامه ننوشتم و همه چيز نسبتا يادم رفتته .البته اگه راهنمايي كنيد يادم مياد
ميشه لطف كنيد يه توضيح مختصر در باره كد بالا بدين،بسيار ممنونم از پاسخهاي شما

hadi-z
پنج شنبه 25 فروردین 1390, 23:12 عصر
بله
به ترتیب از بالا توضیح میدم:

در Form1_Load یه DataTable با نام sample تعریف شده را با یک سری داده پر کردیم
که سطر ها و ستون هاش مشخصه

بعد رویداد TextChanged رو برای textBox1 تعریف میکنیم و در این رویداد هم قرار میدیم که با تغییر متن textBox1 تابع addItems() کار کنه

حالا خود addItems() هم کارش جست و جو در listview برای اون کلمه ای است که در textBox1 وجود داره

((حالا اگه بازم ابهام هست بفرمایید))

ashena2
جمعه 02 اردیبهشت 1390, 08:02 صبح
مشكل جستجو را حل كردم
حالا ميخوام بعد از اينكه كل اطلاعات پايگاه داده را در گريد ويو نشان دادم جلوي هر ركورد از گريد ويو يه لينك با عنوان ويرايش باز بشه.
خوب تا اينجا مشكلي نيست
اما
از آنجا كه بعضي از اطلاعات كه براي پر كردن فرم استفاده كردم از نوع چك با كس ، كمبو باكس و راديو باتن بودند، بايد پس از كليك روي لينك يا دكمه ويرايش آن ركورد در در صفحه اي جديد باز بشه تا همه عناصر توسط همون كنترلهايي كه ايجاد شدن نمايش داده بشه تا بتونم به درستي عمل ويرايش را انجام بدم
لطفا راهنمايي كنيد خيلي برام مهمه
اگه راه بهتري هم ميشناسيد براي رفع اين مشكل بفرماييد
با تشكر