c#和SQL数据复制
本文关键字:复制 数据 SQL | 更新日期: 2023-09-27 18:04:50
我的代码是从SQL server中提取信息并显示有关汽车的信息。
问题是数据被显示但是被重复了。SQL Data没有重复,但列表框显示相同的数据两次。
代码如下:
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。
好吧,你做了两次SDA.Fill(dt)
。试着去掉if前一行中的那个
...
SqlDataAdapter SDA = ...
if (SDA.Fill(dt) == 0)
...
您调用SDA.Fill(dt);
两次,一次在外部,一次在if语句内,
SDA.Fill(dt)被调用了2次,尝试将其更改为dt。数& lt;1