Где ошибка в SQL - запросе? - MySQL
Формулировка задачи:
... query = "insert into servise.orders (receipt_date, mulfunction, mark, payment_amount, owners_id, devices_id, state_id) values('" + Receipt_date + "','" + Mulfunction + "','" + Mark + "','" + Sum + "','" + id_owner + "','" + WorkToDivices() + "','" + SearchStartState() + "'); SELECT LAST_INSERT_ID()"; cmd = new MySqlCommand(query, connection); connection.Open(); id_order = (int)cmd.ExecuteScalar();//тут выводит Exeption: заданное приведение является недопустимым. ...
id_order = (int)cmd.ExecuteScalar();
Решение задачи: «Где ошибка в SQL - запросе?»
textual
Листинг программы
id_order = (int)(ulong)cmd.ExecuteScalar();
Объяснение кода листинга программы
- В данном коде выполняется SQL-запрос.
- Результатом выполнения запроса является единственное значение, которое сохраняется в переменной id_order.
- Переменная id_order имеет тип данных int, что предполагает, что в нее будет сохранено целочисленное значение.
- Перед выполнением запроса используется метод ExecuteScalar, который получает первый результат на выходе и возвращает его как объект DataReader.
- Для получения целочисленного значения используется приведение типа данных (int)(ulong)cmd.ExecuteScalar().
- Значение, полученное из DataReader, приводится к типу ulong, что предполагает, что оно может быть больше максимального значения int.
- Затем значение приводится к типу int, что предполагает, что оно не будет превышать максимального значения int.
- Результат приведения типов сохраняется в переменной id_order.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д