从Asp.NET在SQL Server中将行复制到另一个

时间:2012-07-31 20:17:39

标签: c# asp.net

假设有一个表格仅包含ID, Name, CompanyRealID

我想将一行复制到另一行。例如:

ID          Name           Company         RealID

1          Marry           Company A        null
2          Jane            Company B        null
3          Watson          Company C        null
4          Marry           Company A         1
5          Watson          Company C         3

我将通过c#编程语言从asp.net执行此操作。

我的问题是:

在c#中我应该在下面做什么?

Class: UserProfile {ID, Name, Company, RealID}

代码方:

UserProfile userProfile = new UserProfile();
//I have userProfile.ID, userProfile.Name, userProfile.Company and userProfile.RealID
SqlConnection conn = new SqlConnection(sqlConnection);
SqlCommand cmd = new SqlCommand("Select * From UserProfile", conn);
conn.Open();
SqlDataReader dr = cmd.ExecuteReader();
DataTable dt = new DataTable();
dt.Load(dr);

//and with a loop, assignment to UserProfile members such as UserProfile.ID = dr[0][i]...

然后SQL查询将

INSERT (Name, Company, RealID) 
VALUES (UserProfile.Name, UserProfile.Company, UserProfile.RealID)

我搜索这个主题并找到这个: Copying values from another row

但我认为我的情况不同。

或者有什么方法可以缩短这个过程吗?

不久:

我想在asp.net的sql中将一行复制到另一行。

感谢您的帮助

3 个答案:

答案 0 :(得分:2)

看起来你几乎拥有所有代码,为什么你需要一个快捷方式?我不知道快捷方式,如果数据和你的例子一样简单,谁在乎呢!只需阅读并写出来......

答案 1 :(得分:1)

我不确定我是否正确理解了这个问题,但是如果你想将一个表中的行逐行复制到另一个表,你可以使用INSERT INTO,

答案 2 :(得分:1)

如果这只是一行的副本而Id是自动递增的,那么你可能只能用SQL做这个吗?

INSERT INTO UserProfile (Name, Company, RealID) SELECT Name, Company, RealID FROM UserProfile WHERE ID = X

如果有选择更改的值,您也可以替换:

INSERT INTO UserProfile (Name, Company, RealID) SELECT 'New Name', Company, RealID FROM UserProfile WHERE ID = X