我会避免使用 a StringBuilder
(这是我假设你现在正在使用的),而是使用 aList<string>
作为你想要的存储。
这样,您可以将所有 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 语句和值作为字符串连接在一起时,总是有机会。