string ReceiveMessagecom1 = "INSERT INTO 歷史記錄 (時間,操作) VALUES('" + DateTime.Now.ToLocalTime().ToString() + "' ,' " + ReceiveMessage + " ' )";比如這個如何讓ReceiveMessage 這個變數中寫的是一串代碼,但是可以完全不改變的輸入到資料庫中儲存起來
uj5u.com熱心網友回復:
使用mediumtext欄位型別然后就是傳入時如果字串含雙引號,單引號,記得轉義
uj5u.com熱心網友回復:
傳入內容不確定你先拿這個試試string ReceiveMessage = UPDATE `旅大16-3` SET 桿件組對完成標志= '報檢中' WHERE 單管號 = 'DO-LDB01-35254-02' AND 管線號 ='2\"-DO-35254-A2BZ-HT05' AND 焊口號 = 'FW-5'看看怎么能成功執行
uj5u.com熱心網友回復:
竟然還沒有解決,感覺你沒去想出這個問題原因,然后再解決對應問題,我直接寫給你吧string ReceiveMessage = "UPDATE `旅大16-3` SET 桿件組對完成標志= ''報檢中'' WHERE 單管號 = ''DO-LDB01-35068-02'' AND 焊口號 = ''FW-10'' AND 管線號 =''-DO-35068-A2BZ-HT35''";
string ReceiveMessagecom1 = "INSERT INTO 歷史記錄 (時間,操作) VALUES('" + DateTime.Now.ToLocalTime().ToString() + "' ,' " + ReceiveMessage + " ' )";
使用拼接sql字串,就需要自己處理特殊字符,而你這里的特殊字符就是 '
如果你不想處理特殊字符,就必須使用引數SqlParameter
string ReceiveMessage = "UPDATE `旅大16-3` SET 桿件組對完成標志= '報檢中' WHERE 單管號 = 'DO-LDB01-35068-02' AND 焊口號 = 'FW-10' AND 管線號 ='-DO-35068-A2BZ-HT35'";
string ReceiveMessagecom1 = "INSERT INTO 歷史記錄 (時間,操作) VALUES(@CTime ,@ReceiveMessage)";
List<SqlParameter> param = new List<SqlParameter>() {
new SqlParameter("@CTime",DateTime.Now),
new SqlParameter("@ReceiveMessage", ReceiveMessage);
};
//或者 MySqlCommand cmd; cmd.Parameters.AddWithValue("@CTime", DateTime.Now);
uj5u.com熱心網友回復:
不思考問題,就算你這次解決,下次遇到這問題還是一樣不會uj5u.com熱心網友回復:
資料庫中的管線號是2"-DO-35013-A2BZ-HT05-B但是通過到變數中不知道怎么就變成了2\"-DO-35013-A2BZ-HT05-B多了一個\這個怎么解決啊
uj5u.com熱心網友回復:
問題好像出在這個轉譯部分,別的代碼里面變數中管線號不帶雙引號的都能通過,有雙引號的就沒有一個成功的,不知道怎么解決uj5u.com熱心網友回復:
大佬知道怎么解決不uj5u.com熱心網友回復:
特殊字符,需要轉義,在vs里也一樣,你覺得這個字串 string a="2"-DO-35013-A2BZ-HT05-B" 對不對uj5u.com熱心網友回復:
應該就是這里和我的\" " + ReceiveMessage + " \"導致的問題,a的值為2"-DO-35013-A2BZ-HT05-B的話是對的,但是VS中要轉譯所以string a="2"-DO-35013-A2BZ-HT05-B"會被分開讀變成了string a="2"后面的都算錯誤
uj5u.com熱心網友回復:
你說的是vs中變數查看器中”"“顯示為了”/"“吧,這個是完全正常的。變數查看器只是顯示了轉義符,你直接把字串列印出來就不會有”/“。uj5u.com熱心網友回復:
是的,但是我要把這句話插入到資料庫中,字串需要用引號引起來,這導致了字串中的引號和外邊的引號呼應起來了,導致了報錯,如何避免這種情況uj5u.com熱心網友回復:
如果已經是字串物件了,它自己就會有轉義符,你拿這個字串物件進行字串憑借是不會報錯的,但是你在代碼中拼接的字串代碼帶有雙引號的就需要進轉義。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/249251.html
標籤:C#
上一篇:vs 2015 設定好字體,一段時候后自動恢復成默認字體-宋體
下一篇:short怎么轉float,急求
