http://blog.sina.com.cn/s/blog_4d12b0680100txle.html
今天在發佈文章的時候,發現自己的網站對文章竟然發佈失敗,後來一個個排除,原因是對單引號的沒有轉譯,在插入access的時候錯誤。
在文本中存在單引號是很正常的事情,所以只能修復這個問題,方法其實很簡單,因爲access中可以使用兩個單引號來轉譯,所以只要把文本中的單引號替換爲雙引號就可以了。
代碼:
string strContent = this.FCKeditor1.Value;
strContent = strContent.Trim().Replace("'", "''");
修改後,插入成功。
sql中,insert into yourTable(f1,f2) values(100,'abc')
字符串數據是用單引號包在外面的,如果插入的數據中包含單
引號,就需要處理,你可以將單引號替換成兩個單引號,在sql
中連續兩個單引號就表示一個單引號字符,例如
insert into yourTable(f1,f2) values(100,'ab''c')表示插入
新記錄f2字段爲ab'c
使用函數replace可以實現這個功能:
replace(yourStr,"'","''")
在.NET裏面,就要先檢測輸入的數據中有沒有單引號了,如果有,就要自動設置將一個單引號改爲兩個單引號。