Member 13396840 Ответов: 2

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


int num = преобразовать.ToInt32(dataGridView1.Строки[я].Ячейки ["студент нет"]. значение.Метод toString());
УМК.Параметры.AddWithValue ("@STUDENT_NO", num);

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

УМК.Параметры.Добавить("@STUDENT_NO", значения sqldbtype.ИНТ).Значение = STUDENT_NO; на этот код я получил сообщение об ошибке ""

Patrice T

"на этом коде я тоже получил ошибку"
Сообщение об ошибке тоже может помочь.

2 Ответов

Рейтинг:
5

Patrice T

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

Это сообщение об ошибке говорит вам, что проблема заключается не в вашем коде, а в значении, которое вы пытаетесь преобразовать.
Единственный способ узнать, что происходит, - это использовать отладчик и проверять переменные в точке сбоя. Как только вы узнаете, какие данные приводят к сбою вашего кода, Вы сможете внести в него изменения.
& lt;обновление>
Когда проблема заключается во вложенном коде, используйте временные переменные, чтобы увидеть, что происходит на каждом уровне вложенности.
< / обновление>

Существует инструмент, который позволяет вам видеть, что делает ваш код, его имя отладчик Это также отличный инструмент обучения, потому что он показывает вам реальность, и вы можете увидеть, какие ожидания соответствуют реальности.
Когда вы не понимаете, что делает ваш код или почему он делает то, что делает, ответ таков: отладчик.
Используйте отладчик, чтобы увидеть, что делает ваш код. Просто установите точку останова и посмотрите, как работает ваш код, отладчик позволит вам выполнять строки 1 на 1 и проверять переменные по мере их выполнения.

Отладчик-Википедия, свободная энциклопедия[^]
Отладка кода C# в Visual Studio-YouTube[^]
Отладчик здесь для того, чтобы показать вам, что делает ваш код, и ваша задача-сравнить его с тем, что он должен делать.
В отладчике нет никакой магии, он не находит ошибок, он просто помогает вам. Когда код не делает того, что ожидается, вы близки к ошибке.


Рейтинг:
20

Dave Kreskowiak

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

Пустая ячейка, пустая строка или значение DbNull не преобразуются ни в одно целое число, даже в 0. Теперь вам нужно выяснить, почему эта ячейка не имеет ожидаемого значения.