Member 13298316 Ответов: 1

Я получил ошибку " входная строка была не в правильном формате."


У меня возникла эта проблема, когда я отправлял свою продажу , данные были введены в таблицу, но мы получили это сообщение об ошибке на странице, мы хотим увидеть сообщение в поле catch на нашем экране.
Пожалуйста, решите мою проблему и пришлите мне правильный код.

Что я уже пробовал:

using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Data.SqlClient;
public partial class Index : System.Web.UI.Page
{
    JRDSQL jsql = new JRDSQL();
    JRDPopup jpop = new JRDPopup();
   // SqlConnection con = new SqlConnection(@"Data Source=103.209.144.175,1434; Initial Catalog=apbills_Anay;UId=apbills_Anay;Pwd=Lootbazzar@12345;");
  SqlConnection con = new SqlConnection(@"Data Source=DESKTOP-LCOBDHV\SQLEXPRESS;Initial Catalog=anay_master;Integrated Security=true;");
       
    protected void Page_Load(object sender, EventArgs e)
    {
        bool blogin = false;
        if (Session["SID"] != null)
        {
            if (Convert.ToInt32(Session["SID"].ToString()) > 0)
            {
                blogin = true;
            }
        }
        if (blogin == true)
        {
            if (!IsPostBack)
            {

            }
        }
        else
        {
            Response.Redirect("Login.aspx", false);

        }

        //Checking Connection State and opening if closed
        if (con.State == ConnectionState.Closed)
        {
            con.Open();
        }
        if (!Page.IsPostBack)
        {

            //Call countries DropDownList on page load event
            BindCountry();
                fillDDSMN();
            
        }
    }
    protected void ddlcountry_SelectedIndexChanged(object sender, EventArgs e)
    {
        try
        {
            int locationId = Convert.ToInt32(ddlcountry.SelectedValue);      
            //Select all States corresponding to the selected Country
            SqlDataAdapter adp = new SqlDataAdapter("select * from tbdealerlist where locationid= " +locationId + "Order by dealer_Name", con);
            DataSet ds = new DataSet();
            adp.Fill(ds);
            ddlstate.DataSource = ds;
            ddlstate.DataTextField = "Dealer_Name";
            ddlstate.DataValueField = "Dealer_Id";
            
            ddlstate.DataBind();
            ddlstate.Items.Insert(0, new ListItem("--Select--", "0"));
            
        }
        catch (Exception ex)
        {
            //Printing any exception if occcured.
            Response.Write("Error occured: " + ex.Message.ToString());
        }
        finally
        {
            //Close the connection
            con.Close();
        }      
    }

    
    //protected void ddlstate_SelectedIndexChanged(object sender, EventArgs e)
    //{
    //    try
    //    {
    //        int Dealer_Id = Convert.ToInt32(ddlstate.SelectedValue);
    //        //Select all Cities corresponding to the selected State
    //        SqlDataAdapter adp = new SqlDataAdapter("select * from tbdealerlist where Dealer_id=" + Dealer_id, con);
    //        DataSet ds = new DataSet();
    //        adp.Fill(ds);           
    //        ddlCity.DataSource = ds;
    //        ddlCity.DataTextField = "City_Name";
    //        ddlCity.DataValueField = "City_id_pk";
    //        ddlCity.DataBind();
    //        ddlCity.Items.Insert(0, new ListItem("--Select--", "0"));
    //    }
    //    catch (Exception ex)
    //    {
    //        Response.Write("Error occured : " + ex.Message.ToString());
    //    }
    //    finally
    //    {
    //        con.Close();
    //    }       
    //}

    protected void BindCountry()
    {

        try
        {

            SqlDataAdapter adp = new SqlDataAdapter("select * from Location order by location", con);
            DataSet ds = new DataSet();
            adp.Fill(ds);
            ddlcountry.DataSource = ds;
            ddlcountry.DataTextField = "Location";
            ddlcountry.DataValueField = "LocationId";
            
            ddlcountry.DataBind();
            ddlcountry.Items.Insert(0, new ListItem("--Select--", "0"));
            ddlstate.Items.Insert(0, new ListItem("--Select--", "0"));
            //ddlCity.Items.Insert(0, new ListItem("--Select--", "0"));
        }
        catch (Exception ex)
        {
            Response.Write("Error occured : " + ex.Message.ToString());
        }
        finally
        {
            con.Close();
        }
        
    }
    private void fillDDSMN()
    {
        SqlParameter[] paramdg = {new SqlParameter("@Mode","product")
            };
        jpop.PopupCombo(DDSMN, "sp_Registration", paramdg);
    }
    protected void submit_Click(object sender, EventArgs e)
    {
        try
        {

            SqlParameter[] paramsave = { new SqlParameter("@Mode","sale"),
                                     //  new SqlParameter("@saledate",txtsldate.Text.Trim()),
                                       new SqlParameter("@sale_Invoice",txtslinvoice.Text.Trim()),
                                       new SqlParameter("@Dealer_Name",ddlstate.SelectedValue),
                                       new SqlParameter("@SProduct_name",DDSMN.SelectedValue),
                                        new SqlParameter("@Model_name",DDSMN.SelectedValue),
                                       new SqlParameter("@SProduct_Qty",txtslmdlqty.Text.Trim()),
                                       new SqlParameter("@sale_rate",txtslrate.Text.Trim()),
                                       //new SqlParameter("@Scredit",nmbcrd.Text.Trim()),
                                        new SqlParameter("@Scash",nmbcsh.Text.Trim()),
                                       // new SqlParameter("@Scash",nmbcsh.Text.Trim()),
                                        //new SqlParameter("@Product_cat",ddSMC.SelectedValue), 
                                         new SqlParameter("daily_scash",nmbcsh.Text.Trim()),
                                         //new SqlParameter("Daily_Scredit",nmbcrd.Text.Trim()),
                                   };
     
           

            int id = 0;
            id = jsql.execStoredProcudure("sp_sale", paramsave);

            if (id > 0)
            {
                JRDMessage.UserMessage(this, "Data submitted successfully !!!");

            }
        }
        catch (Exception ex)
        {
            JRDMessage.UserMessage(this, ex.Message);
        }
    }




    }

PIEBALDconsult

Вам нужно выяснить, какое значение вызвало ошибку.

1 Ответов

Рейтинг:
1

OriginalGriff

"Входная строка была не в правильном формате" - это не ошибка, которую мы можем исправить для вас-это говорит о том, что все, что вы пытаетесь преобразовать, не соответствует спецификации для типа данных, в которые вы конвертируете. Например, если вы конвертируете в целое число и передаете "Привет", или "1 кг", или "17,8", то вы получите ошибку. Или если вы конвертируете в DateTime и передаете дату, которая находится в неправильной культуре-например, dd/MM/yy, когда она ожидает MM/dd / yy, - вы также иногда получите ту же ошибку.

Начните с того, что вообще не используйте Convert: если вы храните целое число в сеансе, извлеките его как целое число, а не через ToString. Если это пользовательский ввод, используйте TryParse или TryParseExact для преобразования значений (и сообщения о проблемах пользователю).

Но поскольку это ошибки преобразования данных, связанные с ними, мы не можем помочь вам исправить их-у нас нет никакого доступа к данным, которые вы пытаетесь преобразовать, только у вас.
Поэтому используйте отладчик и выясните, какое значение вы пытаетесь преобразовать в какое. Затем вернитесь назад, чтобы узнать, как это стало недопустимым значением.

Извините, но мы не можем сделать это для вас!


Member 13298316

{Система.FormatException: входная строка была не в правильном формате.
в системе.номер.StringToNumber(String str, numberstyles options, NumberBuffer& number, numberformatinfo info, Boolean parseDecimal)
в системе.номер.ParseInt32(String s, numberstyles style, NumberFormatInfo info)
в системе.Строка.Система.В разделе iconvertible.ToInt32 (поставщик IFormatProvider)
в системе.Преобразовать.ToInt32(значение объекта)
в JRDSQL.execStoredProcudure(строка strProcName, объектов sqlparameter[] arProcParams) в c:\Users\SANSKRITI\Desktop\apbills\App_Code\App_Code\JRDSQL.cs:line 121
в Index.submit_Click(объект отправителя, EventArgs В Е) в c:\Users\SANSKRITI\Desktop\apbills\Index.aspx.cs:line 169}





на дегаггере у нас есть вот это

OriginalGriff

Это не отладчик, это деталь исключения. Используйте отладчик, чтобы посмотреть на содержимое, которое вы передаете для преобразования, и увидеть именно то, что вы пытаетесь преобразовать - это не целое число в виде строки!