Я новичок в этом виде узора я задаюсь вопросом, почему я получаю сообщение об ошибкеОбновление базы данных MySQL с помощью MVP Pattern
«не может преобразовать DBNull к другим типам»
я знаю мой код не работает, поэтому он возвращает некоторые нулевые значения в _view, любую помощь? im получение этой он-лайн модели.CustomerID = _view.CustomerID;
Model
public class CustomerModel
{
private string _customerid;
public string CustomerID;
{
get { return _customerid; }
set { _customerid = value; }
}
private string _orderstatus;
public string OrderStatus
{
get { return _orderstatus; }
set { _orderstatus = value; }
}
public void UpdateOrderStatus()
{
var connSettings = ConfigurationManager.ConnectionStrings["DB"];
{
string CN = connSettings.ConnectionString;
MySqlConnection conn = new MySqlConnection(CN);
MySqlCommand cmd = new MySqlCommand("update customerorders set order_status = @value where customerid = @customerid", conn);
conn.Open();
cmd.Parameters.AddWithValue("@customerid", _customerid);
cmd.Parameters.AddWithValue("@value", _orderstatus);
cmd.ExecuteNonQuery();
}
}
}
Interface
public interface ICustomer
{
void SetPresenter(CustomerPresenter presenter);
void UpdateCustomerOrderStatus(CustomerModel record);
string CustomerID { get; set; }
string OrderStatus { get; set; }
}
Presenter
public class CustomerPresenter
{
ICustomer _view;
CustomerModel _model = new CustomerModel();
public void CustomerPresenter(ICustomer view)
{
_view = view;
}
private void updateCustomerOrderStatus(CustomerModel model)
{
model.CustomerID = _view.CustomerID;
model.OrderStatus = _view.OrderStatus;
}
public void Save()
{
updateCustomerOrderStatus(CustomerModel model)
this._view.UpdateCustomerOrderStatus(CustomerModel record);
}
}
CustomerForm
public partial class frmCustomer: Form, ICustomer
{
CustomerPresenter _presenter
public void SetPresenter(CustomerPresenter presenter)
{
_presenter = presenter
}
public string CustomerID
{
get { return this.txtCustomerID.Text; }
set { txtCustomerID.Text = value; }
}
public string OrderStatus
{
get { return this.txtOrderStatus.Text; }
set { txtOrderStatus.Text = value; }
}
public void UpdateCustomerOrderStatus(CustomerModel record)
{
record.CustomerID = txtCustomerID.Text;
record.OrderStatus = txtOrderStatus.Text;
}
private void btnSave_Click(object sender, EventArgs e)
{
_presenter.Save();
}
}
В какой момент кода вы получаете исключение? –
здесь модель.CustomerID = _view.CustomerID; – Nevi
Ваш код четко указывает, что объект '_view' объявлен, но не инициализирован. –