PDA

View Full Version : سوال: مشکل تبدیل object به int



A3ed.BlackHat
سه شنبه 17 فروردین 1395, 07:16 صبح
سلام

میخوام با استفاده از کد زیر نوع object رو به int تبدیل کنم

int indexOstan = Convert.ToInt32(CityCMBP.SelectedValue);
int indexOstan1 = Convert.ToInt32(nametypeCMBP.SelectedValue)


موقع اجرا ارور زیر رو میده
http://up.vbiran.ir/uploads/43059145978556521376_4-4-2016%208-10-08%20PM.jpg


این دو خط کد رو تو این قسمت استفاده میکنم

uninameCMBP.Refresh();
uninameCMBP.ResetText();
DataTable mytable = new DataTable();

int indexOstan = Convert.ToInt32(CityCMBP.SelectedValue);
int indexOstan1 = Convert.ToInt32(nametypeCMBP.SelectedValue);
try
{
SqlDataAdapter da = new SqlDataAdapter("Select id,nameuni from Tlb_university Where City_ID=@City and typeuni_id=@Typeuni ", sqlConnection);
da.SelectCommand.CommandType = CommandType.Text;
da.SelectCommand.Parameters.AddWithValue("@City", indexOstan);
da.SelectCommand.Parameters.AddWithValue("@Typeuni", indexOstan1);
da.Fill(mytable);
uninameCMBP.DataSource = mytable;
uninameCMBP.DisplayMember = "nameuni";
uninameCMBP.ValueMember = "id";
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
این کد هم تست کردم موقع اجرا ارور میده


int indexOstan = (int)this.CityCMBP.SelectedValue;
int indexOstan1 = (int)this.nametypeCMBP.SelectedValue;

http://up.vbiran.ir/uploads/5901145978912930292_4-4-2016%209-09-48%20PM.jpg

با این کد راحت به String تبدیل میکنم ولی برای تبدیل به int نمیشه

int id = (int)this.nametypeCMBP.SelectedValue;
MessageBox.Show(Convert.ToString(id));

alireza4474
سه شنبه 17 فروردین 1395, 08:29 صبح
سلام اگه توجه کنی توی اولین ارور داره میگه مقدار اشتباهی رو برای تبدیل به int داری به برنامه میدی مقداری هم که داری یه مقدار مشخص نیست داری یه سطر کامل از اطلاعات(dataRow) رو بهش میدی این ارور هم اینجور موقع رخ میده که مقدار اشتباهی رو داری تبدیل میکنی

A3ed.BlackHat
سه شنبه 17 فروردین 1395, 08:45 صبح
سلام اگه توجه کنی توی اولین ارور داره میگه مقدار اشتباهی رو برای تبدیل به int داری به برنامه میدی مقداری هم که داری یه مقدار مشخص نیست داری یه سطر کامل از اطلاعات(dataRow) رو بهش میدی این ارور هم اینجور موقع رخ میده که مقدار اشتباهی رو داری تبدیل میکنی
سلام
دقیق متوجه نشدم باید چیکار کنم
میشه بیشتر توضیح بدین؟

alireza4474
چهارشنبه 18 فروردین 1395, 14:49 عصر
این دوتا متغیر که داری تبدیلشون میکنی چین؟
int indexOstan = Convert.ToInt32(CityCMBP.SelectedValue);

int indexOstan1 = Convert.ToInt32(nametypeCMBP.SelectedValue)




اول بگو این دو تا چین تا خدمتت عرض کنم چیکار باید بکنی

A3ed.BlackHat
چهارشنبه 18 فروردین 1395, 15:15 عصر
سلام مشکل رو از طریق add watch فهمیدم
وقتی که فرم لود میشد چون مقدار شهر و نوع دانشگاه خالی بود ارور میداد و نمیتونست تبدیل کنه
یه متغیر از نوغ bool تعریف کردم و یه شرط گذاشتم که اگه مقدار داشت یا لود شده بود بیاد تبدیل رو انجام بده