Soooooooo ...私はインポートしているCSVファイルの内容から更新する必要があるSQL Serverテーブルを持っています。基本的に、キーがセルAの内容と一致するレコードがある場合は、そのレコードの1つのフィールドをセルBの内容で更新します。他の場所で見つかった一部のスニペットから、一時テーブルを作成する必要があります以下のように行う:CSVファイルからSQL Serverテーブルを更新しますか?
protected void UploadBtn_Click(object sender, EventArgs e)
{
string csvPath = Server.MapPath("~/Uploads/") + Path.GetFileName(RadAsyncUpload1.UploadedFiles[0].FileName);
DataTable dt = new DataTable();
dt.Columns.AddRange(new DataColumn[2] { new DataColumn("Customer Ref", typeof(string)),
new DataColumn("Inventory #", typeof(string)),
});
string csvData = File.ReadAllText(csvPath);
foreach (string row in csvData.Split('\n'))
{
if (!string.IsNullOrEmpty(row))
{
dt.Rows.Add();
int i = 0;
foreach (string cell in row.Split(','))
{
dt.Rows[dt.Rows.Count - 1][i] = cell;
i++;
}
}
}
}
}
}
しかし、私はここからどこへ行くのようにかなり困惑を...
何かアドバイス/提案/ポインタをいただければ幸いです!あなたのCSVファイルの内容と常に、
ポール
これは実際にSQLサーバーにデータを挿入する実際の方法ではないと思います... CSVからテーブルにデータを挿入するだけであれば、OPENROWSETを試しましたか?ロジックをSPに入れ、コードから実行することができます。 – asemprini87
@ asemprini87あなたが正しくあなたを理解しているかどうかわかりません...私はデータを挿入していません。 – PaulBinCT2
これは、テーブル値のパラメータのように聞こえるのは、最も簡単な解決策です。必要な2つの列を持つユーザー定義の表型を作成します。次に、DataTableに値をロードします。最後に、このデータのコレクションを受け取って更新を実行するストアドプロシージャを作成します。プロシージャの内部から、他のテーブルと同じようにパラメータを扱うことができます。 –