我會避免使用StringBuilder
(這是我假設你現在正在使用),而使用一個List<string>
爲您所需的存儲
。
通過這種方式,您可以將所有SQL語句添加到此列表中,然後決定在一批中發送到服務器或文件的多少個SQL語句,或者任何分裂它的原因。
換句話說,這裏就是我會做:
list.Add("INSERT INTO enquete_antwoord (enquete_vraag_ID, enquete_antwoord, kdv_ID, semesterstart, semestereind, semester) VALUES ('" + reader2["enquete_vraag_ID"].ToString() + "', '" + antwoord + "', '" + id + "', 2013-12-12, 2014-12-12, 1)");
list.Add("INSERT INTO enquete_antwoord (enquete_vraag_ID, enquete_antwoord, kdv_ID, semesterstart, semestereind, semester) VALUES ('" + reader2["enquete_vraag_ID"].ToString() + "', '" + antwoord + "', '" + id + "', 2013-12-12, 2014-12-12, 1)");
list.Add("INSERT INTO enquete_antwoord (enquete_vraag_ID, enquete_antwoord, kdv_ID, semesterstart, semestereind, semester) VALUES ('" + reader2["enquete_vraag_ID"].ToString() + "', '" + antwoord + "', '" + id + "', 2013-12-12, 2014-12-12, 1)");
...
string first100 = string.Join(Environment.NewLine, list.Take(100));
string next100 = string.Join(Environment.NewLine, list.Skip(100).Take(100));
.. and so on, (use a loop for this though)
其他說明:
- 你寫的日期在SQL是錯誤的,你需要將它們寫出來與琴絃的方式正確的格式
- 請確保您添加必要的保證,使您不打開自己的注入式攻擊,因爲將SQL語句和值連接爲字符串時總是有機會。
'什麼,我需要拆分是最後一個)「'工作? - 我不明白,你能不能給期望的結果 –
@KonradMorawski好str爲「 – Daan
」你的意思是唯一的發生)「(作爲它的最後一個)如果是這樣,爲什麼要分裂,如果它存在那麼你知道它的價值)」 – Nico