У меня есть имена клиентов в поле со списком, который связан с данными SQL.Мне нужно добавить еще одного клиента в поле со списком под названием «Новый клиент».Я знаю, как это сделать, используя наборы данных, но не знаю, как это сделать.Мне нужно добавить новый экземпляр класса модели данных клиента с «новым клиентом» и ID = -1.
Я пытался создать метод, который создает «новый клиент», но он всегда перезаписывает данные SQL, мне нужно каким-то образом объединить новый клиент с данными, которые были установлены SQL.
Code to get SQL data into the Client data model.
var clients = new ObservableCollection<Client>();
try
{
using (SqlConnection conn = new SqlConnection(connectionString))
{
conn.Open();
if (conn.State == System.Data.ConnectionState.Open)
{
using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = "select CLIENT_ID, CLIENT_NAME, EMAIL, ADDRESS_LINE_1, ADDRESS_LINE_2, ADDRESS_LINE_3, ADDRESS_LINE_4, POSTCODE, TELEPHONE_NUMBER from CLIENT";
{
using (SqlDataReader reader = cmd.ExecuteReader())
{
while (reader.Read())
{
var client = new Client
{
clientID = reader.GetInt32(0),
clientName = reader.GetString(1),
clientEmail = reader.GetString(2),
add1 = reader.GetString(3),
add2 = reader.GetString(4),
add3 = reader.GetString(5),
add4 = reader.GetString(6),
postcode = reader.GetString(7),
telephoneNumber = reader.GetString(8)
};
clients.Add(client);
}
}
}
}
}
return clients;
}
}
Код для добавления «Нового клиента»:
public ObservableCollection<Client> newClientRow()
{
var clients = new ObservableCollection<Client>();
var client = new Client
{
clientID = -1,
clientName = "New Client",
clientEmail = "f",
add1 = "f",
add2 = "R",
add3 = "l",
add4 = "F",
postcode = "f",
telephoneNumber = "01244"
};
clients.Add(client);
return clients;
}
Код для привязки данных в поле со списком:
public ObservableCollection<Client> Source
{
get
{
daClient daClient = new daClient();
newClientRow();
return daClient.GetClients((App.Current as App).ConnectionString);
}
}
Я получаю только те данные, которые были созданы изSQL, мне нужен "новый клиент" для объединения.