このプログラムは既に作成されており、@IN に基づいて別のテーブルを更新する更新 SQL ステートメントを追加する必要があります。SQL コマンドを宣言した後、実行するにはどうすればよいですか? 他の SQL コマンドと同じ SQLConnection を使用できますか? このプログラムが行うことは、ファイル内で個人と呼ばれるリストに解析し、そこから SQL のフィールドを更新することです。最初の SQL は既に記述されていましたが、正しく実行されているように見えますが、今は UpdtHasInv SQL を実行する必要があり、実際に更新を実行するコードを取得する必要があります。
私がこれまでに持っているものは次のとおりです。
static void InsertCustomData(Collection<Individuals> individuals)
{
#region
string insertsql = "";
insertsql = @"Insert into IND (IND_ID, ITEM_NAME, INDL_ITEM_VALUE, XPTIM)
select IND_ID, '{0}' as Item, '{1}' as val, (current timestamp - curtime)"
FROM IND
where IN = @IN";
// this is SQL I added for update
**UpdtHasInv = @"UPDATE Ind
SET HAS_I = -1
WHERE IN = @IN";**
#endregion
using (DB2Connection conn = DB2Helper.getConnection())
{
DB2Command cmd = conn.CreateCommand();
cmd.CommandTimeout = 600;
cmd.Parameters.Add("@IN", "");
if (conn.State == ConnectionState.Closed)
{
conn.Open();
}
foreach (Individuals individual in individuals)
{
cmd.Parameters["@IN"].Value = individual.In;
foreach (CustomData customData in individual.CustomData)
{
cmd.CommandText = string.Format(insertIndsql, customData.Data.Key, customData.Data.Value);
「cmd.CommandText = UpdtIsInv;」と書くだけでよいでしょうか。これらの行の後:
foreach (Individuals individual in individuals)
{
cmd.Parameters["@IN"].Value = individual.in