0

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

これは、asp.netからc#プログラミング言語を介して行います。

私の質問は:

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)

私はこの主題を検索し、これを見つけます: 別の行から値をコピーする

しかし、私の場合は違うと思います。

または、このプロセスを短縮する方法はありますか?

まもなく:

asp.netからSQLの1つの行を別の行にコピーしたいと思います。

手伝ってくれてありがとう

4

3 に答える 3

2

ほとんどすべてのコードを持っているように見えますが、なぜショートカットが必要なのですか?ショートカットはわかりません。データがあなたの例のように些細なものであれば、誰が気にしますか。読んで書いてください...

于 2012-07-31T20:22:14.027 に答える
1

質問を正しく理解しているかどうかはわかりませんが、あるテーブルの行を行ごとに別のテーブルにコピーする場合は、INSERTINTOを使用できます。

于 2012-07-31T20:50:13.107 に答える
1

これが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
于 2012-07-31T22:05:41.100 に答える