假设有一个表格仅包含ID, Name, Company
和RealID
。
我想将一行复制到另一行。例如:
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中将一行复制到另一行。
感谢您的帮助
答案 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