我試圖從兩個單獨的表中顯示數據到數據網格視圖,我知道它可能不是爲此目的而設計的,但我確信有一種方法停止它產生多個重複的行,如下所示;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 = new SqlCommand(「SELECT Distinct BookingId,Date,PatientId,Firstname,Surname FROM Bookings,Patients」,connection);'你也可以做一個子選擇或使用Where子句..很多選項在這裏 – MethodMan 2015-02-11 19:35:07
似乎你的SQL不是你想要的。也許你正在'Bookings.PatientId'上尋找'INNER JOIN'到'Patients.PatientId'(假設你的模式支持這個)? – wgraham 2015-02-11 19:35:13
「重複」行是什麼意思?如果正在比較所有值,我在截圖中看不到任何重複內容。 – 2015-02-11 19:36:01