PDA

View Full Version : مشکل در تابع update در سی شارپ



samirhm
پنج شنبه 04 شهریور 1395, 15:47 عصر
سلام دوستان من برای اپدیت از کد زیر استفاده کردم :
"update tablename set pass="+float.Parse(textbox1.text)+", user="+float.Parse(textbox2.text);
ولی میخوام در صورتی اپدیت انجام بشه که تکست باکس ها خالی نباشند ، شنیدم باید از where استفاده کنم ولی نمیدونم چتوری باید استفاده کنم میشه لطفا کمکم کنید ؟

mr.sirwan
پنج شنبه 04 شهریور 1395, 15:57 عصر
خب دوست عزیز قبل از این دستور یک دستور شرطی ساده بذارین، به این صورت:


if (textbox1.Text.Trim() != string.Empty && textbox2.Text.Trim() != string.Empty)
{
"update tablename set pass=" + float.Parse(textbox1.text) + ", user=" + float.Parse(textbox2.text);
}

hamid_hr
پنج شنبه 04 شهریور 1395, 16:12 عصر
برای تبدیل نوع به یکدیگر میتوانید از TryParse استفده کنید.
این تابع اگر تبدیل با با موفقیت انجام بشه مقدار true و گرنه مقدار false برمیگردونه.
روش استفاده هم به این صورت هست


string s = "99.652";
float f;
bool b = float.TryParse(s, out f);



f میشه مقدار برگردونده شده و b هم صحت داده رو برمیگردونه
حالا شما میتونی شرط بزاری و اگه b برابر با true بود عملیات رو انجام بدی
اینطوری اگه مقادیر غیر عددی هم تو تکس باکس وارد کرده بود میشه کنترل کرد و مقدار ثبت نمیشه

samirhm
جمعه 05 شهریور 1395, 00:51 صبح
ممنون از همه،دوستان،ولی بخشید ایا میشه با where هرم رفت،؟ اگر میشه،لطفا،یک،مثال بزنید !

mr.sirwan
جمعه 05 شهریور 1395, 01:02 صبح
راستی دوست عزیز این دستور شما، کل جدولتون رو update میکنه، حتما باید شرط بذارین و بگین که چه سطری از داده های موجود در این جدول رو میخواین آپدیت کنین بدین صورت:

update tableName set user='', pass ='' where Id=yourRequiredRowId

در غیر اینصورت، اطلاعات مربوط به دو ستون مذکور در تمامی سطرهای جدول از ازبین میرن همگی یک مقدار (مقدار هایی که داخل کوئری میذارین) میگیرن

mrprestige
جمعه 05 شهریور 1395, 01:17 صبح
عرض سلام و ادب ، در تصدیق فرمایشات دوستان ، دوست عزیز بنده باید عرض کنم که اگه میخواید امنیت کدهاتون بالاتر بره بهتر از DataCommand های پارامتر دار استفاده کنید یا از تکنولوژی Linq یا از همه بهتر EntityFramework . اگه با هرکدوم از این ها آشناییتی نداشتید یا نیاز به راهنمایی داشتید بفرمایید تا بنده یا باقی دوستان راهنماییتون کنن .

پیروز و موفق باشید .