PDA

View Full Version : ثبت لحظه ای در دیتابیس



Jamshid.Bastani
شنبه 07 بهمن 1391, 19:45 عصر
با سلام.

من یک برنامه ای دارم که دارای قسمت ثبت نام است. این قسمت دارای 4 مرحله است.

اگر شخصی وارد مرحله اول شده و نام و نام خانوادگی و ... خود را وارد کرده و سپس بر روی دکمه مرحله بعد( مرحله دوم ) کلیک کند به مرحله بعد می رود. اما اگر در مرحله دوم بر روی دکمه برگشت کلیک کنید دیگر اطلاعات وارد شده در مرحله اول نمایش داده نمی شود.

چگونه می توان این اطلاعات را تا مرحله آخر ثبت نام حفظ کرده و در آخر یک تاییدیه نشان داده و با کلیک بر روی یک دکمه ثبت نهایی در دیتابیس صورت پذیرد.

مثال : مرحله ثبت نام سایت سازمان سنجش آموزش کشور ( با هربار برگشت هنوز اطلاعات وجود داشته و پس از نشان دادن نهایی اطلاعات و زدن دکمه اطلاعات ثبت می گردد ) -- نکته : البته برنامه من وب بیس نیست.


سپاس

Jamshid.Bastani
یک شنبه 08 بهمن 1391, 11:53 صبح
سلام . فکر کنم کسی منظورم رو متوجه نشد با اجازتون متن رو کمی زیاد تر کردم و توضیح بیشتری دادم.

سپاس

danialafshari
یک شنبه 08 بهمن 1391, 12:05 عصر
سلام دوست عزیز
برای این کار شما می تونید یک کلاس ایجاد کنید و محتویات وارد شده توسط کاربر رو در متغیر ها کلاس ذخیره کنید
و یک فرم به فرم ها اضافه کن که تائیدیه باشد و کل اطلاعات را یکجا نشان دهد و با زدن دکمه ثبت اطلاعات فرم تائیدیه ثبت شوند
البته برای ذخیره ی اطلاعات به صورت موقتی هم می تونی از Setting.Setting استفاده کنی مطالبش در سایت فراوانه
موفق باشید

Jamshid.Bastani
یک شنبه 08 بهمن 1391, 12:21 عصر
سپاس فراوان.

امکانش هست برام یک مثال بزنید و یا لینک تاپیک یا .... بدید ؟؟

بسیار بسیار ممنونم.

danialafshari
یک شنبه 08 بهمن 1391, 12:35 عصر
سلام

یک مثال از Class.cs
class Class1
{
public string firstName;
public string lastName;
public Class1 FirstName(string firstname)
{
this.firstName = firstname;
return this;
}
public Class1 LastName(string lastname)
{
this.lastName = lastname;
return this;
}
}

Setting.Setting : لینک (http://barnamenevis.org/showthread.php?295930-%DA%86%DA%AF%D9%88%D9%86%DA%AF%DB%8C-%D8%AA%D8%BA%DB%8C%DB%8C%D8%B1-%D8%AF%D8%B1-%D9%81%D8%A7%DB%8C%D9%84-setting-%D8%AF%D8%B1-%D8%B2%D9%85%D8%A7%D9%86-%D8%A7%D8%AC%D8%B1%D8%A7%DB%8C-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87)

موفق باشی

Jamshid.Bastani
یک شنبه 08 بهمن 1391, 13:17 عصر
با سپاس.

من تست کردم اما نشد.

حتما این طوری هست که باید بالاخره بهش معرفی کنیم که مثلا txtName رو داخل متغییر firstName بریزد.

اما من هر جا می خواهم firstName = txtName.text را وارد کنم خطا می دهد.

سپاس

asghar2008
یک شنبه 08 بهمن 1391, 14:04 عصر
سلام

چرا از کنترل Tabcontrol استفاده نمی کنی؟
به نظر من بهتر از Tabcontrol استفاده کن.رو هر تب 2 تا دکمه بذار(بعدی و قبلی) که با زدن هر دکمه تب مورد نظر رو باز کنه.

endexample
یک شنبه 08 بهمن 1391, 14:10 عصر
سلام
در برنامه های ویندوز با توجه به این که ما سشن نداریم می توانیم خودمان این حالت را شبیه سازی کنیم یعنی شما اطلاعات فرم اوم را به یک ابجکت از کلاس خاص خودش تبدیل و سپس ابجکت را در زمان فراخوانی فرم دوم و قبل از بسته شدن و از بین رفتن آن به متدی در کلاس فرم دورم ارسال میکنیم اون متند کار خاصی انجام نخواهد داد صرفا آبجکت شما را در یک متغیر گلوبال از نوع همان ابجکت ذخیره می کند این روند می تواند به همین صورت ادامه داشته باشد و در نهایت در پایگاه داده ذخیره شود این می تواند ابتدایی ترین حالت استفاده باشد اما می توان از حالات متفاوتی استفاده کرد شما می توانید به سادگی درون یک فایل متنی ذخیره کنید و در پایان کار می توانید فایل متنی و یا محتویان ان را حذف کنید و در پایگاه داده ذخیره نمایید .

danialafshari
یک شنبه 08 بهمن 1391, 15:11 عصر
سلام
بفرمائید :

samadblaj
یک شنبه 08 بهمن 1391, 21:27 عصر
سلام دوست خوبم همینطور که دوست خوبمون danialafshari یک روش رو گفتم...

منم یه روش عملی و زیبا رو بهتون معرفی میکنم که استفاده از Dictionary و arrayها هست.

به سادگی میتونید بهش آیتم خاص رو اضاف و در صورت برگشت با یک شرط به کنترل های موجود الحاق کنید...

و به سادگی ثبت...

using System;
using System.Collections.Generic;

class Program
{
static void Main()
{
Dictionary<int, int> dictionary = new Dictionary<int, int>();

// You can assign with the indexer.
dictionary[1] = 2;
dictionary[2] = 1;
dictionary[1] = 3; // Reassign.

// You can read with the indexer.
// ... If you read an element that doesn't exist, you get an exception.
Console.WriteLine(dictionary[1]);
Console.WriteLine(dictionary[2]);
}
}


Output

3
1

Jamshid.Bastani
دوشنبه 09 بهمن 1391, 17:06 عصر
سلام . سپاس از همگی چون از تک تک راهنمایی هاتون استفاده کردم.

اما یک سوال. من از tabController استفاده کردم. اما می خواهم تنها بتوانند با زدن دکمه بعدی و برگشت بین تب ها جا به جا شوند.

کدوم خصوصیت از تب ها را باید False کنم تا بتوانم این کار را انجام دهم.

ممنونم .

ordebehesht
دوشنبه 09 بهمن 1391, 17:51 عصر
الابته باید متغیر های توی کلاس رو static بگیری تا مقدار رو حفظ کنه

samadblaj
دوشنبه 09 بهمن 1391, 22:31 عصر
سلام

بله با tab کارت و ست کردن مقدار هم خیلی ساده میشه...

با index جابجا شو :
tabControl1.SelectedIndex = 1;

در نظر داشته باش index از صفر شروع میشه

Jamshid.Bastani
دوشنبه 09 بهمن 1391, 23:05 عصر
ممنونم.

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

اما اگر شخص بر روی تب ها کلیک کند دیگر شرط ها اجرا نمی شود.
حال من می خواهم کاری انجام دهم تا کاربر قادر به کلیک کردن تب نباشد و تنها از طریق دکمه ها عمل کند تا شرط ها اجرا گردند.

سپاس

Jamshid.Bastani
چهارشنبه 11 بهمن 1391, 23:12 عصر
آقا من این رو پیدا کردم. اما بلد نیستم استفاده کنم.

http://msdn.microsoft.com/en-us/library/system.windows.forms.tabcontrol.deselecting%28v=vs .80%29.aspx

چه جوریه ؟؟