質問編集履歴
3
回答された方に感謝しています。そして、出来たコードを書き留めておきます。
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
さらに改良
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
ちょっとやり方を変えてみました。
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
|
+
```
|