2013-10-16 89 views
-2

你好,我需要分割的字符串,例如字符串:如何在最後括號拆分C#中的字符串

str.Append("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)").ToString(); 

什麼,我需要拆分是最後一個)」

但我可以」牛逼把它分解:

string[] commands = str.Split(new string[] { ")"" }, StringSplitOptions.None); 
+3

'什麼,我需要拆分是最後一個)「'工作? - 我不明白,你能不能給期望的結果 –

+0

@KonradMorawski好str爲「 – Daan

+0

」你的意思是唯一的發生)「(作爲它的最後一個)如果是這樣,爲什麼要分裂,如果它存在那麼你知道它的價值)」 – Nico

回答

3

我會避免使用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) 

其他說明:

  1. 你寫的日期在SQL是錯誤的,你需要將它們寫出來與琴絃的方式正確的格式
  2. 請確保您添加必要的保證,使您不打開自己的注入式攻擊,因爲將SQL語句和值連接爲字符串時總是有機會。
1

這將肯定

string[] commands = str.Split(new string[] { @")""" }, StringSplitOptions.None); 
相關問題