SQL サーバーから情報を取得し、車に関する情報を表示するコードがあります。
問題は、データが表示されているが重複していることです。SQL データには重複はありませんが、リスト ボックスには同じデータが 2 回表示されています。
コードは次のとおりです。
private void Show_Click(object sender, EventArgs e)
{
SqlConnection conn = new SqlConnection("Data Source=XXXX");
DataTable dt = new DataTable();
SqlDataAdapter SDA = new SqlDataAdapter("SELECT Number_Plate,Registered_Keeper,Make,Model,Year_Of_Make,Colour,Engine_Size,Transmission,Fuel_Type FROM datatable WHERE Number_Plate like '%" + label1.Text + "%'", conn);
SDA.Fill(dt);
if (SDA.Fill(dt) == 0)
{
button5.Visible = false;
button4.Visible = true;
label11.Visible = true;
Show.Visible = false;
button3.Visible = true;
Make.Visible = false;
Model.Visible = false;
Year_Of_Make.Visible = false;
Colour.Visible = false;
Engine_Size.Visible = false;
Transmission.Visible = false;
Fuel_Type.Visible = false;
Registered_Keeper.Visible = false;
Plate.Visible = false;
label2.Visible = false;
label3.Visible = false;
label4.Visible = false;
label5.Visible = false;
label6.Visible = false;
label7.Visible = false;
label8.Visible = false;
label9.Visible = false;
label12.Visible = false;
}
else
{
Plate.DataSource = dt;
Plate.DisplayMember = "Number_Plate";
Make.DataSource = dt;
Make.DisplayMember = "Make";
Model.DataSource = dt;
Model.DisplayMember = "Model";
Year_Of_Make.DataSource = dt;
Year_Of_Make.DisplayMember = "Year_Of_Make";
Colour.DataSource = dt;
Colour.DisplayMember = "Colour";
Engine_Size.DataSource = dt;
Engine_Size.DisplayMember = "Engine_Size";
Transmission.DataSource = dt;
Transmission.DisplayMember = "Transmission";
Fuel_Type.DataSource = dt;
Fuel_Type.DisplayMember = "Fuel_Type";
Registered_Keeper.DataSource = dt;
Registered_Keeper.DisplayMember = "RegIstered_Keeper";
Show.Visible = false;
button3.Visible = true;
}
}
注: SQL でデータを追加すると、主キーに約 20 の数字が欠落しているため、データは 20 台ですが、新しいデータを追加すると、主キーは約 50 になります。