PDA

View Full Version : درخواست راهنمایی برای نمایش پسورد در سی شارپ



012132
چهارشنبه 18 اردیبهشت 1392, 12:21 عصر
با سلام . من توی قسمت لاگین پروژه ام ، یه قسمت برای بازیابی رمز عبور بوسیله نام کاربری و ایمیل گذاشتم . با استفاده از یه datatable که با نام سرچ ساختم ، مقادیر را چک کرده و در صورتی که درست باشد برگشت می دهم . فقط مشکلی که هست اینه که می خوام اگر مقدار درست بود ، بدون هیچ واسطه ای ، مقدار پسورد در داخل txt_password قرار بگیره . اما چیزی به نام datasource در تکست باکس وجود ندارد . به همین من از یک رابط تست کردم یعنی با استفاده از یک ، دیتا گرید ویو مشکل حل میشه ، اما من نمی خوام که دیتا گرید ویو داشته باشم و می خوام که مقدار مستقیماً داخل textbox قرار بگیره . لطفاً راهنماییم کنین .

لازم به ذکر که از معماری سه لایه استفاده می کنم .

اینم از کدهام : (برای قسمت Search)


public DataTable recover_info()
{
DataTable dt = new DataTable();
OleDbCommand oc = new OleDbCommand();
oc.CommandText = "select password from login_tbl where username=@username and email_addr=@email_addr";
//book_name = "%" + book_name + "%";
//book_name = "%" + book_name + "%";
//book_name = "%" + book_name + "%";
oc.Parameters.AddWithValue("@username", username);
oc.Parameters.AddWithValue("@email_addr", email_addr);
database db = new database();
db.Connect();
dt = db.DoCommand(oc);
db.DisConnect();
return dt;[/LEFT]


اینم از کد داخل فرم :


u_class.username = txt_username.Text;
u_class.email_addr = txt_emailaddr.Text;

dg1.DataSource = u_class.recover_info();
txt_password.Text = Convert.ToString(dg1.CurrentCell.Value).ToString() ;

لطفاً راهنماییم کنین !

alexmcse
چهارشنبه 18 اردیبهشت 1392, 12:29 عصر
یک متغییر استاتیک تعریف کن و مقدار بدست آمده را برابر متغییر قرار بده و در برنامه
متغییر استاتیک را برابر تکست باکس قرار بده

Tiam121
چهارشنبه 18 اردیبهشت 1392, 12:38 عصر
txt_password.Text =dt.rows[0][password Cellnum]..ToString();

012132
چهارشنبه 18 اردیبهشت 1392, 21:31 عصر
یک متغییر استاتیک تعریف کن و مقدار بدست آمده را برابر متغییر قرار بده و در برنامه
متغییر استاتیک را برابر تکست باکس قرار بده

لطفا اگه ممکنه یه با یه مثال توضیح بدید .

012132
چهارشنبه 18 اردیبهشت 1392, 21:34 عصر
txt_password.Text =dt.rows[0][password Cellnum]..ToString();

دوست عزیز dt من ، داخل کلاس u_class هست . وقتی که select می کنم انجام میشه اما می خوام بدون استفاده از data gried view مقدار فقط داخل تکست باکس نمایش داده بشه .

بعدشم اینکه من به نام دستور که در اینجا recover_info هست دسترسی دارم نه به خود dt .

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

Tiam121
پنج شنبه 19 اردیبهشت 1392, 14:39 عصر
وقتی از کلاس استفاده میکنی باید یک پراپرتی از نوع دیتاتیبل تعریف کنی و اون رو با مقدار برگشتی متد recover_info پر کنی بعد میتونی از دستوری که من بالا گذاشتم استفاده کنی(این واسه استفاده با کلاس)
اما بون کلاس کافیه دستورات متدrecover_info رو جایگزین کنی اونجایی که میخوای ازشون استفاده کنی و بعد دوباره از دستور بالا استفاده کنی

omidamiry
پنج شنبه 19 اردیبهشت 1392, 15:00 عصر
با دقت به دستوری که نوشتید فقط انتصاب بدید

وقتی کوری مینویسید جواب بصورت جدول برگشت داده میشود چون این جدول شما مطمئن هستید که یه سطر داره فقط کافیه شماره ستون رو بدونی


textbox.text=recover_info(usernamevalue).table.row[0][X].tostring();


X همان شماره ستون در بانک اطلاعاتیه

موفق باشی