Я пытаюсь отобразить данные из двух отдельных таблиц в виде сетки данных, я знаю, что это может быть не предназначено для этой цели, хотя я уверен, что есть способ чтобы остановить его создание нескольких повторяющихся строк, как показано ниже;C# удалять дублированные строки в виде сетки данных
Вот код для извлечения данных (я намерен включить фильтр или конкретный поисковый запрос позже, как заметил в коде, что является сегодня день);
private void FillPatients()
{
SqlConnection connection = new SqlConnection();
//DateTime timeNow = DateTime.Now;
//string format = "MMM ddd d HH:mm yyyy";
try
{
connection.ConnectionString = connectionPath;
connection.Open();
SqlCommand cmd = new SqlCommand("SELECT BookingId, Date, PatientId, Firstname, Surname FROM Bookings, Patients", connection);
//cmd.Parameters.AddWithValue("@Date", timeNow.ToString(format));
SqlDataAdapter dap = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
dap.Fill(dt);
BindingSource bs = new BindingSource();
bs.DataSource = dt;
dgv.DataSource = bs;
dap.Update(dt);
DialogResult dlgResult;
dlgResult = MessageBox.Show(
"Patients loaded",
"Patients",
MessageBoxButtons.OK,
MessageBoxIcon.Information,
MessageBoxDefaultButton.Button1);
}
catch (SqlException sql)
{
MessageBox.Show(sql.Message);
}
finally
{
connection.Close();
connection.Dispose();
}
}
Почему бы не изменить ваш запрос, чтобы выбрать 'DISTINCT' также где находится вторая таблица, которую вы выбираете из ..? если это все хранится в одной таблице, то «Distinct» может вернуть то, что вам нужно, как это 'SqlCommand cmd = новый SqlCommand (« SELECT Distinct BookingId, Date, PatientId, Firstname, Surname FROM Bookings, Patients », connection);' также вы можете сделать sub select или использовать предложение Where .. здесь много параметров – MethodMan
Похоже, что ваш SQL не совсем то, что вы хотите. Возможно, вы ищете 'INNER JOIN' на' Bookings.PatientId' '' Patients.PatientId' (если ваша схема поддерживает это)? – wgraham
Что вы подразумеваете под «дублирующими» строками? Я не вижу дубликатов в ваших скриншотах, если сравнивать все значения. –