您好我尝试将多行从表复制到另一行,如下所示:
DataSet dt2 = new DataSet();
SqlDataAdapter SDA2 = new SqlDataAdapter("SELECT text,castka FROM zajsluz WHERE akce='" + tentoradek + "' and rocnik='" + klientClass.Rocnik() + "'", spojeni);
SDA2.Fill(dt2);
spojeni.Close();
string sqlcom2 = "INSERT INTO zajsluz(akce,text,castka,rocnik) values (@akce,@text,@castka,@rocnik)";
SqlCommand sc2 = new SqlCommand(sqlcom2, spojeni);
sc2.Parameters.AddWithValue("@akce", zakce.Text);
sc2.Parameters.AddWithValue("@rocnik", klientClass.Rocnik());
sc2.Parameters.AddWithValue("@text", dt2.Tables["zajsluz"].Columns["text"]);
sc2.Parameters.AddWithValue("@castka", dt2.Tables["zajsluz"].Columns["castka"]);
spojeni.Open();
sc2.ExecuteNonQuery();
spojeni.Close();
但我得到了这个:
在执行sc2.Parameters.AddWithValue("@text", dt2.Tables["zajsluz"].Columns["text"]);
答案 0 :(得分:3)
您需要insert . . . select
形式的insert
。结构看起来像:
INSERT INTO zajsluz(akce, text, castka, rocnik)
SELECT @skce, text, castka, @rocnik
FROM zajsluz
WHERE akce='" + tentoradek + "' and rocnik='" + klientClass.Rocnik() + "'"
您需要插入变量的值以获得所需的值。