SQL-将行从表复制到具有修改值的表

本文关键字:修改 复制 SQL- | 更新日期: 2023-09-27 18:29:57

你好,我正试图将多行从表复制到另一个表,如下所示:

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"]); 时,对象引用未设置为对象的实例

SQL-将行从表复制到具有修改值的表

您需要insertinsert . . . select形式。结构看起来像:

INSERT INTO zajsluz(akce, text, castka, rocnik)
    SELECT @skce, text, castka, @rocnik 
    FROM zajsluz
    WHERE akce='" + tentoradek + "' and rocnik='" + klientClass.Rocnik() + "'"

您需要插入变量的值才能得到您想要的值。