PDA

View Full Version : مشکل با دستور try/catch



morteza_1234m
پنج شنبه 03 اردیبهشت 1388, 23:15 عصر
try
{

string source = "Server=(127.0.0.1);Database=PaperList;User ID=" + textBox1.Text + ";password=" + textBox2.Text + ";";
SqlConnection conn = new SqlConnection(source);
conn.Open();
conn.Close();
panel1.Visible=false;
tabControl1.Visible = true;
tabControl1.Left = Form2.ActiveForm.Left;
tabControl1.Top = Form2.ActiveForm.Top;
tabControl1.Width = Form2.ActiveForm.Width-20;
tabControl1.Height = Form2.ActiveForm.Height-95;



}
catch
{
MessageBox.Show("نام کاربری یا رمز عبور شما اشتباه است");
textBox1.Text = "";
textBox2.Text = "";
}
دوستان من یک کد مثل بالا نوشته بودم کهتا چند روز پیش به درستی ازم رمز عبور و نام کاربری می گرفت با بانک اس کیو الم چک می کرد وهمه چیز درست بود.
ولی یک دفعه بدون اینکه من رمز بانک رو عوض کنم همش قسمت دوم بانک اجرا می شد چه درست می بود رمز عبور چه غلط
مجبور شدم فقط به خاطر همین موضوع یک بار دیگه پروژه ام را باز سازی کنم در یک پروژه جدید
حالا امروز بر عکس شده و چه درست و چه غلط باشه رمز عبور قسمت اول این کد اجرا می شه و به فرم بعد می ره
واقعا این چه کاریه که C# و Visual studio یرمون میاره مردیم دیگه

rnm123
پنج شنبه 03 اردیبهشت 1388, 23:28 عصر
شاید در بازسازی پروژه ات نام کنترلها تغییر یلفته . آنها را چک کرده ای ببینی درست است یا نه؟

SMRAH1
پنج شنبه 03 اردیبهشت 1388, 23:54 عصر
سلام

اگر هر اتفاق غیر مترقبه ای توی قسمت try بیافتد،قسمت catch اجرا میشه.این اتفاق می تونه در مورد اتصال به پایگاه داده باشه یا ساخت کنترل و ....بهتره قسمت catch رو به این شکل تغییر بدی

catch (Exception exc)
{
MessageBox.SHow(exc.Message);
}

تا حداقل دلیل خطای رخ داده شده رو بفهمی.
در ضمن Debug کردن هم مال همین وقتهاست که دقیقا بدونی برنامه در هر خط چه وضعیتی داره و اگر غیر معقول بود بتونی دلیلش رو پیدا کنی.

موفق باشی

morteza_1234m
جمعه 04 اردیبهشت 1388, 10:11 صبح
موضوع اینه که الان مشکلی نداره و قسمت TRY اجرا میشه در حالی که رمز عبور و نام کاربری را اشتباه وارد می کنم و باید در اتصال مشکل داشته باشه ولی انگار نه انگار که من دارم اشتباه وارد می کنم همه چیز اجرا میشه

morteza_1234m
جمعه 04 اردیبهشت 1388, 12:06 عصر
دوستان تورا به خدا کمک کنید این C# نامرد چرا اینطوریه بدون اینکه من کاری بکنم دیگه هیچکدوم از اشیا و رنگ و پنل و ... را نشون نمیده
اخه چه دردشه این نامرد هر دفعه یک بامبول سرم در میاره

rnm123
جمعه 04 اردیبهشت 1388, 23:42 عصر
اگر توی تمام برنامه هات این کارها را میکنه احتمالا در خود vs مشکلی پیش آمده و باید آنرا repair کنی ( برای نمونه یک پروژه جدید ایجاد کن و کمی اشیا در آن ایجاد کن و موضوع را تست کن) ولی اگر فقط در این پروژه ات این خطا ها را میدهد باید دقیقا بگی چه خطاهایی میدهد ( در پنجره خطاها ) قرار دادن یک کنترل شخصی مشکل دار در فرم برای خود من باعث شد کل پروژه ام بهم بخورد و ساعت ها صرف باز سازی آن کنم ( آن هم با مصیبت زیاد)

seven7777777
شنبه 05 اردیبهشت 1388, 09:59 صبح
دوست خوبم سلام

string source = "Server=(127.0.0.1);Database=PaperList;User ID=" + textBox1.Text + ";password=" + textBox2.Text + ";";
یکی اینکه چرا password رو با p نوشتی باید با P بنویسی ( البته احتمالا تا حالا اینو درست کردی )

دوم اینکه حتما یکبار خطاهایی که میده رو با MessageBox برای خودت بگیر و اینجا بذار .
سوم اینکه اگه برات سخت نیست پروژه هات رو تو یه فولدر دیگه کپی کن و VS رو دوبره نصب کن یا همونو Repair کن .
چهارم اینکه از Component یا Dll خاصی تو پروژت استفاده کردی ؟
پنجم اینکه به خدا توکل کن حتما درست میشه !!!:قلب:

morteza_1234m
شنبه 05 اردیبهشت 1388, 11:01 صبح
ارور نمیده ولی هر چی که تو صفحه گذاشتم نشون نمیده
در ضمن مشکل رشته هم حل شد

seven7777777
شنبه 05 اردیبهشت 1388, 11:25 صبح
اگه در پروژت کنترل هاتو توی یه چیزی مثل پنل یا گروه ریختی ، حتما چک کن که تصادفا Visible ها False نشده باشند .
همین طور Visble کنترل هات . چون وقتی Visible پنلی false باشه ، کنترلی که روش قرار می گیره این خواص رو به ارث می بره !!!