2013年4月10日 星期三

資料庫遇到單引號的問題

常常寫入或讀出資料庫的時候,

都會遇到有單引號的狀況...!

雖然我們還是希望使用者能不要輸入符號類的資訊,

但其實想想有時候還是沒辦法...一些像是國外的公司行號,

通常一定都會帶著單引號如:Forker's Burger

(一看就覺得是工作餓到在想吃的...XD)

所以只好在存取時就進行字串替代的處理,

如果是網頁之間資料的傳輸(ashx to aspx):

    string rep = dr["cunam1"].ToString();
    string repd = rep.Replace("'", "'");
    context.Response.Write(" 'cunam1_o':' " + repd + " ' ");

然後接收端 :

    var strnam = xmlObject.cunam1_o;
    strnam = strnam.replace("'", " ' ");

就可以完整的丟出原字串啦~

而如果是在aspx進行MSSQL寫入時,只要將單引號替代成兩個單引號:

 public string ReplaceString(string Any)
    {
        if (string.IsNullOrEmpty(Any))
        {
            return " ";
        }
        else
        {
            return Any.Replace(" ' "," '' ");
        }
    }

就可以正常的在MSSQL中正常存取了~但比較偷懶,

畢竟只有處理單引號的問題而已@_@
   

沒有留言:

張貼留言