PDA

View Full Version : استفاه از متد ExecuteScalar()



mehdio
سه شنبه 28 تیر 1390, 19:52 عصر
سلام من یک برنامه به زبان C# نوشتم که نمره دانشجویی که شماره دانشجویی اش 456 است را در متغیر y قرار می دهد اما در صورتی که دانشجوی مورد نظر وجود نداشته باشد error می دهد چطور می توانم کاری کنم که این error را ندهد و به جایش یک پیام مناسب بدهد
کد برنامه:
SqlConnection objConnection = new SqlConnection("Data Source=computer1;Initial Catalog=mehdi;Integrated Security=True");
SqlCommand objCommand = new SqlCommand();
objCommand.Connection = objConnection;
objCommand.CommandText = "select namre from table_2 where number='456'";
objConnection.Open();
int y=(int) objCommand.ExecuteScalar();
objConnection.Close();

Esmail Solhkhah
سه شنبه 28 تیر 1390, 19:53 عصر
از try catch استفاده کنید

gilas1368
سه شنبه 28 تیر 1390, 22:03 عصر
مي تونيد از كد زير بجاي 2 كد آخرتون استفاده كنين



DataTable dt=new DataTable();
da.fill(dt);
if(dt.rows.count>0)
{
دستوراتي كه بايد اجرا بشن
}
Else
{
پيام مناسب رو نمايش بدين
}

فقط da شيء ايجاد شده از dataadaptorه


موفق باشيد

myazdani
سه شنبه 28 تیر 1390, 22:31 عصر
مي تونيد از كد زير بجاي 2 كد آخرتون استفاده كنين



DataTable dt=new DataTable();
da.fill(dt);
if(dt.rows.count>0)
{
دستوراتي كه بايد اجرا بشن
}
Else
{
پيام مناسب رو نمايش بدين
}

فقط da شيء ايجاد شده از dataadaptorه


موفق باشيد

با اجازه دوست خوبم gilas1368 يه نكته در جهت تكميل كردن پاسخ ايشون

با توجه به اينكه حتما شماره دانشجويي كليداصلي است پس خروجي شما قطعا يك كورد مي باشد.تو قسمتي كه نوشتن "دستوراتي كه بايد اجرا شود" يعني وقتي خروجي رو تو ديتا تيبل ريختي با دستور زير مي توني به مقدار مورد نظرت دسترسي پيدا كني

Y=Convert.ToInt32(dt.Rows[0]["namre"]);


مويد باشيد