簡體   English   中英

C#中的正則表達式

[英]Regular Expressions in C#

我正在嘗試在C#中執行datacontent.executeCommand(“ string”)。 當我嘗試執行插入操作時,遇到了麻煩,因為每次條目中都有一個“單詞”時,我都認為這是一個新列,並且會引發異常。

您如何將'word'轉換為''word''

您可以使用\\來轉義SQL字符串中的字符。 但是,我認為,解決您的問題(以及其他很多問題,如果您從一開始就不這樣做的話,以后會遇到)的最佳解決方案是SQL參數。

正如Tomas和Jason所建議的那樣,最好使用SQLParameters來避免這些問題。

但是,如果需要大量代碼更改並且您需要快速修復,那么我會說:您不需要正則表達式 您只需要做一個string.replace

string query;
...
query.Replace("'", "''");

如果我不能正確理解您的Q,並且您僅需要更改“ word”的實例,則可以執行以下操作:

query.Replace("'word'", "''word''");

我想歡迎您進入SQL注入的美好世界,由於您執行任意字符串,因此用戶可以通過執行惡意SQL劫持數據庫;-)

您確實應該使用參數(如System.Data.SqlClient中的參數)或使用為您生成的LINQ數據模型對象,並在這些參數上設置值,然后提交更改。 讓數據訪問層逸出您的值並保護您免受可能輸入包含SQL語句(例如DELETE * FROM IMPORT_TABLE)之類的文本的用戶的侵害。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM