Я пытаюсь написать простое приложение GUI, которое будет загружать данные клиента из класса Customer при нажатии кнопки retrieve. Эти данные затем сохраняются в объекте Customer при нажатии кнопки сохранения.C#: Необработанные исключения при преобразовании из String в DateTime
я нашел через тестирование, что мои ясные и извлечения кнопки работают, как и ожидалось, но я получаю следующее сообщение об ошибке при нажатии на кнопку сохранения:
необработанное исключение произошло в вашем приложении. Если вы нажмете «Продолжить», приложение проигнорирует эту ошибку и попытается продолжить. Если вы нажмете «Выход», приложение немедленно закроется.
Строка не была признана действительной DateTime. Существует неизвестное слово, начинающееся с индекса 4.
Я наклеил свой код ниже. Буду признателен за любые разъяснения, которые вы могли бы предоставить. Заранее спасибо!
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace simple_GUI
{
public partial class Form1 : Form
{
Customer myCustomer = new Customer(); //Declare an instance of the customer class within my Windows form
public Form1()
{
InitializeComponent();
}
private void saveButton_Click(object sender, EventArgs e)
{
myCustomer.Id = Convert.ToInt32(customerIDTextBox.Text); //How to handle exceptions within my conversions?
myCustomer.Name = fullNameTextBox.Text;
myCustomer.Address = addressTextBox.Text;
myCustomer.Email = emailTextBox.Text;
myCustomer.Phone = Convert.ToDouble(phoneNumberTextBox.Text);
myCustomer.AddDate = Convert.ToDateTime(addressTextBox.Text);
myCustomer.TotalTransactions = Convert.ToInt32(totalTransactionsTextBox.Text);
}
private void retrieveButton_Click(object sender, EventArgs e)
{
customerIDTextBox.Text = Convert.ToString(myCustomer.Id);
fullNameTextBox.Text = myCustomer.Name;
addressTextBox.Text = myCustomer.Address;
emailTextBox.Text = myCustomer.Email;
phoneNumberTextBox.Text = Convert.ToString(myCustomer.Phone);
addDateTextBox.Text = Convert.ToString(myCustomer.AddDate);
totalTransactionsTextBox.Text = Convert.ToString(myCustomer.TotalTransactions);
}
private void clearButton_Click(object sender, EventArgs e)
{
customerIDTextBox.Text = "";
fullNameTextBox.Text = "";
addressTextBox.Text = "";
emailTextBox.Text = "";
phoneNumberTextBox.Text = "";
addDateTextBox.Text = "";
totalTransactionsTextBox.Text = Convert.ToString("");
}
}
}
Что такое текст addressTextBox (может быть, это ключ: преобразовать адресную строку в datetime)? Ошибка очень ясна: строка не была признана действительной DateTime – prime23
И я предлагаю вам использовать элемент управления DateTimePicker, чтобы ввести дату ввода пользователя, а не текстовое поле – prime23
, какой формат вы используете для своего поля даты? – ecampver