質問編集履歴

3

回答された方に感謝しています。そして、出来たコードを書き留めておきます。

2018/10/07 15:57

投稿

FacePanel
FacePanel

スコア48

test CHANGED
File without changes
test CHANGED
@@ -165,3 +165,49 @@
165
165
  // なお、tableには、ArticlesというTableのデータがすべて格納されていますので、接続状態などは問題なさそうです。
166
166
 
167
167
  ```
168
+
169
+
170
+
171
+ ```C#
172
+
173
+
174
+
175
+ public void DeleteUpdateTime(DataTable table)
176
+
177
+ {
178
+
179
+ string sTable = table.TableName;
180
+
181
+ using (SqlConnection conn = new SqlConnection(GetConnectionString(StrNote)))
182
+
183
+ using (SqlDataAdapter da = new SqlDataAdapter(SelectTable(sTable), conn))
184
+
185
+ {
186
+
187
+ cmd = new SqlCommand("UPDATE Articles SET UpdateTime = null;", conn);
188
+
189
+
190
+
191
+ da.UpdateCommand = cmd;
192
+
193
+
194
+
195
+ // Forループを使わずに、あっさりとすべての行のUpdateTime列をnullにできるともっといいけど。
196
+
197
+ for (int i = 0; i < table.Rows.Count - 1; i++)
198
+
199
+ {
200
+
201
+ articleTable.Rows[i]["UpdateTime"] = DBNull.Value;
202
+
203
+ }
204
+
205
+
206
+
207
+ da.Update(table);
208
+
209
+ }
210
+
211
+ }
212
+
213
+ ```

2

さらに改良

2018/10/07 15:57

投稿

FacePanel
FacePanel

スコア48

test CHANGED
File without changes
test CHANGED
@@ -122,7 +122,7 @@
122
122
 
123
123
  ```
124
124
 
125
- // 下記のように、ちょと変えてみましたが、やはりだめでした。
125
+ // さらに下記のように、DataSetを追加して、また、要らないと思われるコードを削ってみましたが、やはりだめでした。
126
126
 
127
127
  ```C#
128
128
 
@@ -142,13 +142,9 @@
142
142
 
143
143
  {
144
144
 
145
- conn.Open();
145
+ // conn.Open();
146
146
 
147
147
  da.Fill(ds, sTable);
148
-
149
- cmd = new SqlCommand(SelectTable(sTable));
150
-
151
- da.SelectCommand = cmd;
152
148
 
153
149
 
154
150
 
@@ -166,4 +162,6 @@
166
162
 
167
163
  }
168
164
 
165
+ // なお、tableには、ArticlesというTableのデータがすべて格納されていますので、接続状態などは問題なさそうです。
166
+
169
167
  ```

1

ちょっとやり方を変えてみました。

2018/10/07 14:08

投稿

FacePanel
FacePanel

スコア48

test CHANGED
File without changes
test CHANGED
@@ -121,3 +121,49 @@
121
121
 
122
122
 
123
123
  ```
124
+
125
+ // 下記のように、ちょっと変えてみましたが、やはりだめでした。
126
+
127
+ ```C#
128
+
129
+ public void DeleteUpdateTime(DataTable table)
130
+
131
+ {
132
+
133
+ // 今度は、こうやって非接続型での処理を使用との意向を明確にするため、DataSetを明示してみましたが、やはりだめでした。
134
+
135
+ DataSet ds = new DataSet();
136
+
137
+ string sTable = table.TableName;
138
+
139
+ using (SqlConnection conn = new SqlConnection(GetConnectionString(databasename)))
140
+
141
+ using (SqlDataAdapter da = new SqlDataAdapter(SelectTable(sTable), conn))
142
+
143
+ {
144
+
145
+ conn.Open();
146
+
147
+ da.Fill(ds, sTable);
148
+
149
+ cmd = new SqlCommand(SelectTable(sTable));
150
+
151
+ da.SelectCommand = cmd;
152
+
153
+
154
+
155
+ cmd = new SqlCommand("UPDATE Articles SET UpdateTime = null;", conn);
156
+
157
+
158
+
159
+ da.UpdateCommand = cmd;
160
+
161
+
162
+
163
+ da.Update(table);
164
+
165
+ }
166
+
167
+ }
168
+
169
+ ```