1

SQL Server に一度に複数の行を格納したいと考えています。複数の行のコンテンツを格納している 1 つのリスト データ型を取得しました。ここで、このリストを直接 SQL Server に渡したいと思います。forループを使用して値を1つずつ挿入したくありません。リスト全体をパラメータとしてストアド プロシージャに渡すにはどうすればよいですか?

4

2 に答える 2

0

コンマ区切りの文字列を使用して、SQL 側で解析できます。これが最速の解決策であるため、c# 側でループを実行しているときに接続が開かれることはありません。

于 2013-07-01T10:35:42.383 に答える
-1

Batch Updateまたはの概念を使用するか、SQLBulkCopyまたは Array を Parameter として に渡すことができますCommand Object

XML形式のデータを に渡すこともできますSQL Server Stored Procedure

または、以下のように挿入用に複数の追加文字列を作成する最も簡単な方法:

 string sqlText = "INSERT INTO Person VALUES ( '" + txtPersonId1.Text.Trim() + "',' " +  txtPersonName1.Text + "'); "; 
    sqlText += "INSERT INTO Person VALUES ( '" + txtPersonId2.Text.Trim() + "',' " +  txtPersonName2.Text + "'); "; 
    sqlText += "INSERT INTO Person VALUES ( '" + txtPersonId3.Text.Trim() + "',' " +  txtPersonName3.Text + "'); "; 
    sqlText += "INSERT INTO Person VALUES ( '" + txtPersonId4.Text.Trim() + "',' " +  txtPersonName4.Text + "'); "; 

これらのメソッドはすべてここで説明されています。

于 2013-07-01T10:58:38.147 に答える