PDA

View Full Version : سوال: دریافت اطلاعات کاربر از جدول و نمایش در textbox



YasserDivaR
سه شنبه 20 بهمن 1394, 13:10 عصر
سلام من یه برنامه ای دارم که چندین کاربر ازش استفاد میکنن
بانک my sql

هر کار بری که ثبت نام میکنه و چطوری اطلاعاتش رو توی فرم نشون بدوم که بتونه اطلاعات ش رو مشاهده کنه و در صورت تمایل ویرایش بده

پیشا پیش تشکر از اساتید خودم:قلب:

vB.N3T
سه شنبه 20 بهمن 1394, 13:45 عصر
سلام یه روشش اینه که هر کاربری که ثبت نام میکنه یه شماره سناسایی بهش اختصاص بدی که فقط واسه اون کاربر باشه (کلید اصلی)
بعد داخل فرمی که میخایی نمایش بدی یه سلک به شرط شماره شناسایی میزنی و اطلاعات رو نمایش میدی
برای ویرایش هم میتونی اقدام کنی چون ایدی رو داری برای ویراش

YasserDivaR
سه شنبه 20 بهمن 1394, 14:22 عصر
سلام یه روشش اینه که هر کاربری که ثبت نام میکنه یه شماره سناسایی بهش اختصاص بدی که فقط واسه اون کاربر باشه (کلید اصلی)
بعد داخل فرمی که میخایی نمایش بدی یه سلک به شرط شماره شناسایی میزنی و اطلاعات رو نمایش میدی
برای ویرایش هم میتونی اقدام کنی چون ایدی رو داری برای ویراش


ID توی دیتا بیس برا هر کاربر مشخص میشه بصورت خودکار
ولی موندم از چه کدی استفاده کنم که برا هر کاربر مشخص باشه
نمونه کد در درسترس دارین

این کد خطا میده توقسمت reader = cmd.ExecuteReader();


textBox1.Text = string.Empty;

MySql.Data.MySqlClient.MySqlConnection cnn = new MySql.Data.MySqlClient.MySqlConnection("server=localhost;User Id=root;database=dbname;charset=utf8;");
MySql.Data.MySqlClient.MySqlDataAdapter da = new MySql.Data.MySqlClient.MySqlDataAdapter("select * from user", cnn);
cnn.Open();
MySql.Data.MySqlClient.MySqlCommand cmd = new MySql.Data.MySqlClient.MySqlCommand("SELECT * FROM user", cnn);
MySql.Data.MySqlClient.MySqlDataReader reader = cmd.ExecuteReader();
reader = cmd.ExecuteReader();

while (reader.Read())
{
textBox1.Text = reader.GetString(reader.GetOrdinal("UserName");


}

شهابسلطانی
سه شنبه 20 بهمن 1394, 15:14 عصر
اول textbox رو به فرم اضافه کن
بعد یه دیتا گرید اصافه کن
بعد توی رویداد دابل کلیک dataGrid کد ریز رو بنویس:

TextBox1.text=dataGridViwe.currentRow.Cells["FildName"].value.tostring();

حالا با دابل کلیلک کردن بر روی هر سطر اطلاعات اون رو تویTextBox نشون میده
بعد یه button اضافه کن زیر اون کد ویرایش(update) رو بنویس و بعد هم رویداد load فرم رو فراخوانی کن
به این صورت:
sqldataAdapter sda=new sqldataAdapter("update FildName set TableName where FildName=@FildName",con);
sda.selectcommand.parameters.AddWithValue("@FildName",TextBox.Text);
حالا هم رویداد load رو بنویس مثلا:
sqldataAdater sda=new sqldataAdapter("select * from TAbleName",con);
dataTable dt=new dataTable();
sda.Fill(dt);
dataGridViWe.datasource=dt;

حالا نتیجه اینجوری میشه:
1- با دابل کلیک توی textbox اطلاعات نشون داده میشه
2-ویرایش رو انجام بدید
3- سپس با فشردن دکمه button عملیات ویرایش انجام میشه
4- و در نهایت رویداد load دوباره اجرا میشه و dataGrid به روز رسانی میشه
امیدوارم به دردتون بخوره

YasserDivaR
سه شنبه 20 بهمن 1394, 18:33 عصر
اول textbox رو به فرم اضافه کن
بعد یه دیتا گرید اصافه کن
بعد توی رویداد دابل کلیک dataGrid کد ریز رو بنویس:

TextBox1.text=dataGridViwe.currentRow.Cells["FildName"].value.tostring();

حالا با دابل کلیلک کردن بر روی هر سطر اطلاعات اون رو تویTextBox نشون میده
بعد یه button اضافه کن زیر اون کد ویرایش(update) رو بنویس و بعد هم رویداد load فرم رو فراخوانی کن
به این صورت:
sqldataAdapter sda=new sqldataAdapter("update FildName set TableName where FildName=@FildName",con);
sda.selectcommand.parameters.AddWithValue("@FildName",TextBox.Text);
حالا هم رویداد load رو بنویس مثلا:
sqldataAdater sda=new sqldataAdapter("select * from TAbleName",con);
dataTable dt=new dataTable();
sda.Fill(dt);
dataGridViWe.datasource=dt;

حالا نتیجه اینجوری میشه:
1- با دابل کلیک توی textbox اطلاعات نشون داده میشه
2-ویرایش رو انجام بدید
3- سپس با فشردن دکمه button عملیات ویرایش انجام میشه
4- و در نهایت رویداد load دوباره اجرا میشه و dataGrid به روز رسانی میشه
امیدوارم به دردتون بخوره

تشکر از شما
ولی من میخوام واسه هر شخص مال خودش رو ببینه
نه مال همه کاربرا رو
دیتا گرد ویوو رو ترجیحا توی اینجا نباید استفاده بشه

شهابسلطانی
سه شنبه 20 بهمن 1394, 19:44 عصر
تشکر از شما
ولی من میخوام واسه هر شخص مال خودش رو ببینه
نه مال همه کاربرا رو
دیتا گرد ویوو رو ترجیحا توی اینجا نباید استفاده بشه

میتونی یه کلید شناسایی بذاری و DataGrid رو hide کنی
و فرد با وارد کردن کد شناسایی خودش اطلاعاتش بیاد توی TextBox بشینه
از دستور where به خوبی میتونی اینجا بهره گیری کنید
سوالی بود در خدمتم
موفق باشید

YasserDivaR
سه شنبه 20 بهمن 1394, 20:21 عصر
میتونی یه کلید شناسایی بذاری و DataGrid رو hide کنی
و فرد با وارد کردن کد شناسایی خودش اطلاعاتش بیاد توی TextBox بشینه
از دستور where به خوبی میتونی اینجا بهره گیری کنید
سوالی بود در خدمتم
موفق باشید

کد شناسایی نمیخوام
میخوام بر حسب نام کاربری باشه که ثبت نام کرده
میشه یه نمونه کد بدین با استفاده از دستورات بالا که نوشتم

ممنون عزیز

YasserDivaR
چهارشنبه 21 بهمن 1394, 10:09 صبح
دوستان عزیز کسی جوابی نداره

YasserDivaR
چهارشنبه 21 بهمن 1394, 14:20 عصر
دوستان این فیلتر گذاری هست کد نویسیش چطوریه

vB.N3T
پنج شنبه 22 بهمن 1394, 00:36 صبح
دوست عزیز احتمالا شما یه فرم ورود اعضا باید داشته باشید
که کاربر نام کاربری و رمز عبور رو وارد میکنه و لاگین میکنه
شما میتونید با همون نام کاربری یه سلکت بزنی و اطلاعاتش رو بهش نمایش بدی در دیتا گرید
و بعد از اون میتونی به تعداد فیلد ها تکس باکس قرار بدی و وقتی کاربر در سطر دیتا گرید کلیک کرد اطلاعاش در تکس باکس ها نمایش داده بشه و بعد کد های ویرایش رو بنویسید