下記のように、DataTableのUpdateTimeカラムの値をADO.NETの非接続方式でnullにしたいと思っていますが、なにぶん初心者で、より良い、あるいは正しい方法を提示していただけるとありがたいと思っています。
内容は、すでに質問させていただきました下記の続きとお考えください。
https://teratail.com/questions/150584
開発環境はMicrosoft Visual Studio Community 2017 Version 15.8.4 です。
一旦、解決済みにしてしまいましたが、実際は未解決でした。
また、非接続型を選択する理由は、その他の処理がすべて非接続型であって、統一性を維持するためです。
全く分かっていないとの正直なお言葉を頂いており、この場を借りて少し勉強したいと思っています。
基本的なADO.NETの非接続による方法に則っているかという点を考慮してお答えいただけますようお願いします。
C#
1 public void DeleteUpdateTime(DataTable table) 2 { 3 string sTable = table.TableName; 4 using (SqlConnection conn = new SqlConnection(GetConnectionString(databasename))) 5 using (SqlDataAdapter da = new SqlDataAdapter(SelectTable(sTable), conn)) 6 { 7 cmd = new SqlCommand("UPDATE Articles SET UpdateTime = null;", conn); 8 9 da.UpdateCommand = cmd; 10 11// ほんとは、ループでなく一括で処理したいけど(WHERE句で変更行を絞っているので、まあいいのかも) 12 foreach(DataRow row in table.Rows) 13 { 14 row["UpdateTime"] = DBNull.Value; 15 } 16 da.Update(table); 17 } 18 } 19
回答2件
あなたの回答
tips
プレビュー