Member 12893392 Ответов: 1

Всякий раз, когда я пытаюсь запустить этот код, он говорит: "входная строка была не в правильном формате".


Ниже приведена ошибка I

- я получаю

Ошибка сервера в приложении'/'.

Входная строка была не в правильном формате.

Описание: необработанное исключение возникло во время выполнения текущего веб-запроса. Пожалуйста, просмотрите трассировку стека для получения дополнительной информации об ошибке и о том, где она возникла в коде.

Сведения Об Исключении: Система.FormatException: входная строка была не в правильном формате.

Ошибка Источника:

Необработанное исключение было сгенерировано во время выполнения текущего веб-запроса. Информацию о происхождении и местоположении исключения можно определить с помощью приведенной ниже трассировки стека исключений.

трассировка стека:


[FormatException: входная строка была не в правильном формате.]
Системы.Количество.StringToNumber(String str, numberstyles options, NumberBuffer& number, numberformatinfo info, Boolean parseDecimal) +344
Системы.Количество.ParseInt32(String s, numberstyles style, NumberFormatInfo info) +140
System. Int32. Parse(String s, numberstyles style, iformatprovider provider) +78
Система.Преобразовать.ToInt32 (строковое значение, поставщик IFormatProvider) +53
Система.Строка.Система.В разделе iconvertible.ToInt32 (поставщик IFormatProvider) +37
Система.Преобразовать.ChangeType (Object value, TypeCode typeCode, iformatprovider provider) +528
Системы.Веб.Пользовательского интерфейса.WebControls.Параметр.GetValue (Object value, String defaultValue, TypeCode type, Boolean convertEmptyStringToNull, Boolean ignoreNullableTypeChanges) +219
Системы.Веб.Пользовательского интерфейса.WebControls.Параметр.GetValue(Object value, Boolean ignoreNullableTypeChanges) +136
Системы.Веб.Пользовательского интерфейса.WebControls.Параметр.get_ParameterValue() +86
Системы.Веб.Пользовательского интерфейса.WebControls.ParameterCollection.GetValues (HttpContext context, Control control) +325
Системы.Веб.Пользовательского интерфейса.WebControls.SqlDataSourceView.InitializeParameters(команда DbCommand, параметры ParameterCollection, IDictionary exclusionList) +459
Системы.Веб.Пользовательского интерфейса.WebControls.SqlDataSourceView.ExecuteSelect (аргументы DataSourceSelectArguments) +1488
Системы.Веб.Пользовательского интерфейса.WebControls.Элементе управления listcontrol.OnDataBinding(EventArgs e) +411
Системы.Веб.Пользовательского интерфейса.WebControls.Элементе управления listcontrol.PerformSelect () +65
Системы.Веб.Пользовательского интерфейса.WebControls.BaseDataBoundControl.DataBind() +140
Системы.Веб.Пользовательского интерфейса.WebControls.BaseDataBoundControl.EnsureDataBound() +102
Системы.Веб.Пользовательского интерфейса.WebControls.BaseDataBoundControl.set_RequiresDataBinding(логическое значение) +139
Системы.Веб.Пользовательского интерфейса.WebControls.DataBoundControl.OnDataSourceViewChanged(отправитель объекта, EventArgs e) +47
Системы.Веб.Пользовательского интерфейса.DataSourceView.OnDataSourceViewChanged(EventArgs e) +148
Системы.Веб.Пользовательского интерфейса.WebControls.SqlDataSourceView.SelectParametersChangedEventHandler(Object o, EventArgs e) +68
Системы.Веб.Пользовательского интерфейса.WebControls.ParameterCollection.OnParametersChanged(EventArgs e) +65
Системы.Веб.Пользовательского интерфейса.WebControls.ParameterCollection.CallOnParametersChanged() +65
Системы.Веб.Пользовательского интерфейса.WebControls.Параметр.OnParameterChanged() +43
Системы.Веб.Пользовательского интерфейса.WebControls.Параметр.UpdateValue(HttpContext context, Control control) +194
Системы.Веб.Пользовательского интерфейса.WebControls.ParameterCollection.UpdateValues(HttpContext context, Control control) +146
Системы.Веб.Пользовательского интерфейса.WebControls.ParameterCollection.GetValues (HttpContext context, Control control) +82
Системы.Веб.Пользовательского интерфейса.WebControls.SqlDataSourceView.InitializeParameters(команда DbCommand, параметры ParameterCollection, IDictionary exclusionList) +459
Системы.Веб.Пользовательского интерфейса.WebControls.SqlDataSourceView.ExecuteSelect (аргументы DataSourceSelectArguments) +1488
Системы.Веб.Пользовательского интерфейса.WebControls.Элементе управления listcontrol.OnDataBinding(EventArgs e) +411
Системы.Веб.Пользовательского интерфейса.WebControls.Элементе управления listcontrol.PerformSelect () +65
Системы.Веб.Пользовательского интерфейса.WebControls.BaseDataBoundControl.DataBind() +140
Системы.Веб.Пользовательского интерфейса.WebControls.BaseDataBoundControl.EnsureDataBound() +102
Системы.Веб.Пользовательского интерфейса.WebControls.BaseDataBoundControl.OnPreRender(EventArgs e) +43
Системы.Веб.Пользовательского интерфейса.WebControls.Элементе управления listcontrol.OnPreRender(EventArgs e) +55
Системы.Веб.Пользовательского интерфейса.Контроль.PreRenderRecursiveInternal() +231
Системы.Веб.Пользовательского интерфейса.Контроль.PreRenderRecursiveInternal() +329
Системы.Веб.Пользовательского интерфейса.Страницы.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +5041

Информация о версии: Microsoft .NET Framework версия:4.0.30319; ASP.NET версия:4.6.1055.0

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

Это код C#, который я использую:

использование системы;
использование системы.Коллекции.Общий;
использование System. Linq;
использование системы.Сеть;
используя системы.Веб.ИП;
используя системы.Веб.Пользовательского интерфейса.WebControls;
используя системы.Сведения;
используя системы.Данных.Поставщики sqlclient;
использование системы.Конфигурация;
использование системы.ИО;


общественный разделяемого класса _default : на системы.Веб.Пользовательского интерфейса.Страницы
{
//string constr = ConfigurationManager.ConnectionStrings ["constr"].Параметр connectionString;
//SqlConnection con = новый SqlConnection();
//Sqlcommand, который комми = новый sqlcommand, который();

protected void Page_Load(отправитель объекта, EventArgs e)
{

}

охраняемых недействительными btnsubmit_Click(объект отправителя, EventArgs в электронной)
{
string constr = ConfigurationManager.ConnectionStrings ["constr"].Параметр connectionString;
using (SqlConnection con = new SqlConnection(constr))
{
используя (команда sqlcommand cmd и = новая команда sqlcommand("Insert_User_db"))
{
использование (SqlDataAdapter sda = new SqlDataAdapter())
{
УМК.CommandType = CommandType.Хранимая процедура;
УМК.Параметры.AddWithValue("@Company", txtcomp. Text. Trim());
УМК.Параметры.AddWithValue ("@FirstName", txtfname. Text. Trim());
УМК.Параметры.AddWithValue ("@LastName", txtlname. Text. Trim());
УМК.Параметры.AddWithValue ("@Email", txteml. Text. Trim());
УМК.Параметры.AddWithValue ("@Mobile", txtmob. Text. Trim());
УМК.Параметры.AddWithValue ("@Phone", txtalt. Text. Trim());
УМК.Параметры.AddWithValue ("@Address", txtadd. Text. Trim());
УМК.Параметры.AddWithValue ("@State", ddlstate. Text. Trim());
УМК.Параметры.AddWithValue("@City", ddlcity. Text. Trim());
УМК.Параметры.AddWithValue("@PinCode", txtpin. Text. Trim());
УМК.Параметры.AddWithValue ("@SecAnswer", txtsite. Text. Trim());
УМК.Подключение = кон;
против.Открыть();
против.Закрывать();
//Ответ.Писать("<сценарий&ГТ; подробности('успешно отправлен!!')&ЛТ;/скрипт>");
//Ответ.Перенаправление ("Customers. aspx");
}
}
}
}
}

1 Ответов

Рейтинг:
1

Pete O'Hanlon

Проблема в том, что когда вы используете AddWithValue, как вы здесь, компонент database engine должен определить базовый тип данных, и это не всегда работает. Лучшим способом сделать это было бы использовать что-то вроде этого:

cmd.Parameters.Add("@PinCode", SqlDbType.Integer).Value = pinValue;
Теперь вы можете заметить, что Я заменил txtpin.Текст с переменной-это потому, что txtpin.Текст может содержать числовое значение none, и вы должны были проверить его заранее, чтобы убедиться, что это приемлемое значение.