efewfwf Ответов: 1

Привет всем, как решить проблему преобразования не удалось при преобразовании даты и/или времени из символьной строки


при обновлении деталей он показывает, что преобразование не удалось при преобразовании даты и/или времени из символьной строки.

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

использование системы;
использование системы.Коллекции.Общий;
использование системы.ComponentModel;
использование System.Data;
использование системы.Рисование;
использование системы.Рисование.Изображений;
использование системы.ИО;
использование System.Linq;
использование System.Text;
использование системы.Нарезание резьбы.Задачи;
использование системы.Окна.Формы;

пространство имен InventoryManagemetSystem
{
публичное частичное обновление класса : форма
{
SearchByID SearchByIDForm;
DBConnection DBConn;
Изображение изображение;
// string base64String;
int pid;
публичное обновление()
{
метод InitializeComponent();
DBConn = новое соединение DBConnection();
SearchByIDForm = новый SearchByID();
}

частная buttonUpdateProduct_Click недействительным(объект отправителя, EventArgs в электронной)
{
DBConn.ConnectToDatabase();
если (maskedTextBox_PNameUpdate.Текст.Длина и gt; 0 &&усилителя; numericUpDown_PQTYUpdate.Текст.Длина и gt; 0 &&усилителя; dateTimePicker_OUTDateUpdate.Текст.Длина и gt; 0 &&усилителя; comboBox_PCategoryUpdate.Текст.Длина и gt; 0 &&усилителя; textBox_PProfitUpdate.Текст.Длина и gt; 0 &&усилителя; textBox_PPriceUpdate.Текст.Длина и gt; 0 &&усилителя; comboBox_PStatusUpdate.Текст.Длина &ГТ; 0)
{
строка barcode = maskedTextBox_PNameUpdate.Текст;
Растровое изображение растровое изображение = новое растровое изображение(штрих-кодов.Длина * 40, 50);
использование (Graphics graphics = графика.FromImage(растровое изображение))
{
Шрифт ofont = новая система.Рисование.Шрифт("бесплатно 3 из 9", 20);

Точка PointF = новый PointF(2-ой этаж, 2-ой этаж);
SolidBrush solidBrushBlack = новый SolidBrush(цвет.Черный);
SolidBrush solidBrushWhite = новый SolidBrush(цвет.Белый);
графика.FillRectangle(solidBrushWhite, 0, 0, bitmap.Ширина, растровое изображение.Высота);
графика.Шнурок ("||||" + штрих-код+ "|||/", ofont, solidBrushBlack, point);

}
MemoryStream ms = Новый Поток памяти();

растрового изображения.Сохранить(СР, ImageFormat.ПНГ);
растрового изображения.Спасти(Приложение.StartupPath + "\\" + maskedTextBox_PNameUpdate.Текст + "Barcode.jpg");
//imageBytes = ms.Метод toArray();
//base64String = преобразовать.ToBase64String(imageBytes);
изображение = изображение.FromStream(МС);
//сохранить("C:/img.jpg", ImageFormat.Jpeg);
изображение.Сохранить(ms, ImageFormat.Png);

инт к = DBConn.productUpdate(пид, maskedTextBox_PNameUpdate.Текст, инт.Синтаксический анализ(numericUpDown_PQTYUpdate.Текст), Дата-Время.А Теперь-Дата И Время.Синтаксический анализ(dateTimePicker_OUTDateUpdate.Текст), comboBox_PCategoryUpdate.Текст, поплавок.Синтаксический анализ(textBox_PProfitUpdate.Текст), поплавок.Синтаксический анализ(textBox_PPriceUpdate.Текст), comboBox_PStatusUpdate.Текст);
если (k > 0)
{
Ящик для сообщений.Показать("запись обновлена и сгенерирован штрих-код");
//DBConn.getAllProducts();
//searchByIDForm.RefreshGrid();
clearControls();
}
еще
{
Ящик для сообщений.Показать("запись не вставлена");
}
}
еще
{
Ящик для сообщений.Показать("пожалуйста, заполните все поля");
}
}
public void setProductID(int number)
{
номер pid;
}

общественного недействительными setAllControls(изъятия строку, строку pQty, pOutDAte строку, строку pCat, pProfit строку, строку pPrice, строки pStatus)
{
maskedTextBox_PNameUpdate.Текст = изъятия;
numericUpDown_PQTYUpdate.Текст = pQty;
dateTimePicker_OUTDateUpdate.Текст = pOutDAte;
comboBox_PCategoryUpdate.Текст = pCat;
textBox_PProfitUpdate.Text = pProfit;
textBox_PPriceUpdate.Текст = pPrice;
comboBox_PStatusUpdate.Text = pStatus;
}
общественного недействительными clearControls()
{
maskedTextBox_PNameUpdate.Текстовая строка.Пустой;
numericUpDown_PQTYUpdate.Текстовая строка.Пустой;
dateTimePicker_OUTDateUpdate.Текстовая строка.Пустой;
comboBox_PCategoryUpdate.Текстовая строка.Пустой;
textBox_PProfitUpdate.Текстовая строка.Пустой;
textBox_PPriceUpdate.Текстовая строка.Пустой;
comboBox_PStatusUpdate.Текстовая строка.Пустой;
}
частная button1_CloseUpdateForm_Click недействительным(объект отправителя, EventArgs в электронной)
{
этот.Скрыть();
}
частная panel3_Paint недействительным(объект отправителя, объект painteventargs е)
{

}

частная tableLayoutPanel1_Paint недействительным(объект отправителя, объект painteventargs е)
{

}


}
}

1 Ответов

Рейтинг:
2

OriginalGriff

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

Итак, теперь вы входите во вторую стадию разработки (на самом деле это четвертая или пятая, но вы перейдете к более ранним стадиям позже): тестирование и отладка.

Начните с рассмотрения того, что он делает, и как это отличается от того, что вы хотели. Это важно, потому что это дает вам информацию о том, почему он это делает. Например, если программа предназначена для того, чтобы позволить пользователю ввести число, а он удваивает его и печатает ответ, то если ввод / вывод был таким:

Input   Expected output    Actual output
  1            2                 1
  2            4                 4
  3            6                 9
  4            8                16
Тогда совершенно очевидно, что проблема заключается в бите, который удваивает его - он не прибавляет себя к себе или умножает его на 2, он умножает его на себя и возвращает квадрат входного сигнала.
Таким образом, вы можете посмотреть на код, и очевидно, что он находится где-то здесь:
private int Double(int value)
   {
   return value * value;
   }

Как только у вас появится идея, что может пойти не так, начните использовать отладчик, чтобы выяснить, почему. Поместите точку останова в первую строку метода и запустите приложение. Когда он достигнет точки останова, отладчик остановится и передаст управление вам. Теперь вы можете запускать свой код построчно (так называемый "одноступенчатый") и просматривать (или даже изменять) содержимое переменных по мере необходимости (черт возьми, вы даже можете изменить код и повторить попытку, если вам это нужно).
Подумайте о том, что должна делать каждая строка кода перед ее выполнением, и сравните это с тем, что она действительно делала, когда вы использовали кнопку "шаг вперед" для выполнения каждой строки по очереди. Он сделал то, что вы ожидали? Если да, то переходите к следующей строке.
Если нет, то почему? Чем это отличается?
Надеюсь, это поможет вам определить, в какой части этого кода есть проблема и в чем она заключается.
Это навык, и его стоит развивать, поскольку он помогает вам как в реальном мире, так и в развитии. И, как и все навыки, он только улучшается при использовании!