全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1975
推到 Plurk!
推到 Facebook!

ADOCommand新增資料發生不確定因素的錯誤!

缺席
Stallion
版主


發表:52
回覆:1600
積分:1995
註冊:2004-09-15

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-10-17 22:36:54 IP:211.22.xxx.xxx 未訂閱
[code]  ....  pBuf = new char[size];  ADOCommand->CommandType = cmText;  ADOCommand->CommandText = "Insert Into MyTable(Fld1,Fld2,Fld3) Values('" + Fld1->Text + "','" + Fld2->Text + "','" + pBuf + "')";  ADOCommand->Execute();  delete pBuf;  .... [code] 其中pBuf是我從特定目錄中的一些文字檔(一次一個,都很小,不會超過2K)讀進來的資料,然後寫入到資料庫中,Fld4本身在MS SQL中欄位型態是ntext,經過多個檔案寫入測試,多數檔案都正常,惟遇到某些檔案就會發生pBuf中的值寫入錯誤,錯誤訊息是「遺失字元字串」的訊息,在debugger下觀察此時pBuf中的確有我所讀入的文字檔資料,且以UltraEdit觀察寫入錯誤的原始檔案中也無亂碼怪字,請問各位先進,我還遺漏檢查了哪些可能發生錯誤的原因?謝謝! -----------------------
jcjroc
高階會員


發表:21
回覆:279
積分:115
註冊:2002-09-18

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-10-18 08:08:51 IP:211.75.xxx.xxx 未訂閱
用SQL Profiler追蹤一下你送啥東西給SQL吧!!!那邊看比較準. 另VCL會對你所給的SQL Command做一次檢查翻譯,當SQL Command字串中含有 =: 字串時,會將其後面所接的字串(到空白,逗點,跳行,結束等字元)解釋為參數名稱.
Stallion
版主


發表:52
回覆:1600
積分:1995
註冊:2004-09-15

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-10-20 21:19:32 IP:211.22.xxx.xxx 未訂閱
很抱歉~經本人多日測試發現這是SQL SERVER ENTERPRISE MANAGER安裝在WINXP下的一個BUG! 在 WINXP 下如果使用SQL SERVER ENTERPRISE MANAGER去開啟資料表,對於資料內容過度長的欄位內容會顯示「空白」,而不會像在WIN2000下顯示為「長文字」,因此一直讓我以為資料沒有寫進去,但兩個OS下利用SQL QUERY ANALYZER直接下SQL指令,則可以顯示出那個在ENTERPRISE MANAGER下顯示為「空白」欄位的內容。 不好意思打擾大家了。 -----------------------
系統時間:2024-04-27 5:30:41
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!