我有一个名为“ovhidhan_e_word”的数据库,它有一个名为的表Table1
,其中包含重复的行。但我想将其复制Table1
到另一个名为“ovidhan”的数据库下的另一个表中dic
。但这次我不想重复行.我用这个代码:
string english_w = "";
SqlConnection mssql_con = new System.Data.SqlClient.SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=C:\Users\Imon-Bayazid\Documents\ovhidhan_e_word.mdf;MultipleActiveResultSets=true;Integrated Security=True;Connect Timeout=30;User Instance=True");
SqlConnection con2 = new System.Data.SqlClient.SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=C:\Users\Imon-Bayazid\Documents\ovidhan.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True");
mssql_con.Open();
SqlCommand mssql_cmnd = new System.Data.SqlClient.SqlCommand("SELECT * from Table1", mssql_con);
SqlDataReader rd = mssql_cmnd.ExecuteReader();
while (rd.Read())
{
english_w = rd.GetString(0);
con2.Open();
SqlCommand cmnd2 = new System.Data.SqlClient.SqlCommand("select * from dic where english=@h",con2);
cmnd2.Parameters.AddWithValue("@h",english_w);
SqlDataReader r = cmnd2.ExecuteReader();
if (r.Read())
{ }
else {
SqlCommand c = new System.Data.SqlClient.SqlCommand("insert into dic values(@k)", con2); ;
c.Parameters.AddWithValue("@k", english_w);
c.ExecuteNonQuery();
}
con2.Close();
}
mssql_con.Close();
但它显示异常“已经有一个打开的 DataReader 与此命令关联,必须先关闭。” 在“ c.ExecuteNonQuery(); ”行上
我该如何解决这个问题???另一个问题如何从 mssql 中的表中删除重复的行?