نمایش نتایج 1 تا 3 از 3

نام تاپیک: کمک در رفع خطای Input String was not in a correct format

  1. #1

    Question کمک در رفع خطای Input String was not in a correct format

    با سلام خدمت دوستان
    من در برنامه ام که در پلتفرم WindowsFormApplication به زبان C#‎‎‎‎‎ هست, دیتابیس برنامه هم SQL Server است. در یکی از فرم های برنامه, از دو تا کمبوباکس استفاده کردم .
    کمبوباکس اول: اسامی استان ها رو از جدول استان ها واقع در دیتابیس برنامه می گیره .
    کمبوباکس دوم: در این کمبوباکس, میخوام وقتی یکی از اسامی استان ها رو انتخاب کردم, لیست شهرهای همان استان رو نشون بده . برای مثال وقتی میخوام استان تهران رو انتخاب کنم , لیست شهرهای استان تهران رو در کمبوباکس دوم نشون بده تا بتونیم یکی از شهرها رو انتخاب کنیم.
    برنامه رو نوشتم ولی نمیدونم چرا در کد زیر خطا میده و پیام خطا رو هم نوشتم:
     int stateid = Convert.ToInt32(combobox1.SelectedValue.ToString()  );

    خطای زیر رو میده :
    Input String was not in a correct format
    از کد زیر هم استفاده کردم ولی بازم همون پیام خطای بالایی رو میده.
     int stateid = int.Parse(combobox1.SelectedValue.ToString());

    از دوستان خواهش می کنم که در این مورد به من کمک کنن. نمیدونم چرا خطا میده؟
    خیلی خیلی ممنونم از لطف و محبتتون.

    کد لود استان ها:

    private void refreshdata()
    {
    con.ConnectionString = strCon;
    con.Open();
    SqlCommand cmd = new SqlCommand();
    cmd.CommandType = CommandType.Text;
    cmd.Connection = con;
    cmd.CommandText = "Select * From tbl_State";
    SqlDataAdapter da = new SqlDataAdapter();
    da.SelectCommand = cmd;
    DataTable dt = new DataTable();
    da.Fill(dt);
    con.Close();
    dr = dt.NewRow();
    dr.ItemArray = new object[] { 0, "-- انتخاب استان--" };
    dt.Rows.InsertAt(dr, 0);
    cmbState.DataSource = dt;
    cmbState.DisplayMember = "StateName";
    cmbState.ValueMember = "ID";
    }

    اینم از کد لود شهرها:

    private void refreshCity(int StateId)
    {
    con.ConnectionString = strCon;
    con.Open();
    SqlCommand cmd = new SqlCommand();
    cmd.CommandType = CommandType.Text;
    cmd.Connection = con;
    cmd.CommandText = "Select * From tbl_City Where ID_State = @Id_State";
    cmd.Parameters.AddWithValue("@Id_State", StateId);
    SqlDataAdapter da = new SqlDataAdapter();
    da.SelectCommand = cmd;
    DataTable dt = new DataTable();
    da.Fill(dt);
    con.Close();
    dr = dt.NewRow();
    dr.ItemArray = new object[] { 0, "-- انتخاب شهر--" };
    dt.Rows.InsertAt(dr, 0);
    cmbCity.DataSource = dt;
    cmbState.DisplayMember = "CityName";
    cmbState.ValueMember = "ID";
    }

    اینم از کد رویداد SelectedIndexChanged کمبوباکس انتخاب استان

    if (cmbState.SelectedValue.ToString() != null)
    {
    int stateid = Convert.ToInt32(cmbState.SelectedValue.ToString()) ;
    refreshCity(stateid);
    }
    آخرین ویرایش به وسیله Mahmoud.Afrad : دوشنبه 01 خرداد 1396 در 19:21 عصر

  2. #2
    مدیر بخش آواتار ژیار رحیمی
    تاریخ عضویت
    مهر 1386
    محل زندگی
    تهران
    پست
    1,095

    نقل قول: کمک در رفع خطای Input String was not in a correct format

    سلام
    شما کدهای select کردن شهرهای هر استان را در رویداد SelectedIndexChanged کامبوباکس استان نوشتی و Index صفر آن را "-- انتخاب استان--" گذاشتی که باید در رویداد مورد نظر این انتخاب چک شود و در صورت انتخاب کدهای select شهر انجام نشود.(برای Index های بزرگتر از صفر کد اجرا شود).

    if (cmbState.SelectedValue.ToString() != null && cmbState.SelectedIndex>0)
    {
    int stateid = Convert.ToInt32(cmbState.SelectedValue.ToString()) ;
    refreshCity(stateid);
    }
    First,solve the problem then write the code

  3. #3

    نقل قول: کمک در رفع خطای Input String was not in a correct format

    جناب ژیار رحیمی عزیز خیلی ازتون ممنونم. مشکلم حل شد. دستتون درد نکنه.خیلی خیلی ممنونم از لطف و محبتتون.

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •