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裡面,就要先檢測輸入的資料中有沒有單引号了,如果有,就要自動設定将一個單引号改為兩個單引号。