今天在做東西的時候,發現一個很奇怪的問題,資料庫(SqlServer)中的字段設置的類型為ntext,但是保存的數據總是很短,開始以為在程序的某段設置了長度限制,在設置了斷點追蹤調試發現穿遞的資料很正常,但是在執行了存儲操作以後保存的內容總是很短,數了數保存的字符個數為16個,數據庫中設置的該字段類型ntext的長度也為16,於是想是不是資料庫的bug,就在查詢分析器裡寫insert語句進行測試,結果發現保存的內容很正常,這樣問題肯定在程式當中,最後檢查到在建構SqlCommand指令物件的參數物件SqlParameter時指定的參數類型為ntext並且指定了其長度為16,寫法如下
SqlParameter[] parms = new SqlParameter[] {
new SqlParameter(TEMPLATEID, SqlDbType.Int),
new SqlParameter("@Content", SqlDbType.NText,16)
};
把長度的限制去掉,再一測試,一切OK,呵呵,看來好多東西的概念不是很清楚是很容易造成麻煩問題的,希望這個教訓能給我以後也遇到類似問題的朋友一點提示。