TSQLDataSet+TDataSetProvider+TClientDataSet有Bug? |
尚未結案
|
wb3599
一般會員 發表:32 回覆:32 積分:12 註冊:2004-02-11 發送簡訊給我 |
請問大家:
我使用TSQLDataSet TDataSetProvider TClientDataSet去存取位於MS SQL 2000的資料,當我把TClientDataSet的PacketRecords設為-1時, 則我不管使用TClientDataSet的First, Next, Last都不會有問題. 但是, 若把PacketRecords設為10時, 若我執行TClientDataSet的Last方法, 就會發生錯誤. 錯誤的訊息為 Key Vialotation 我只是瀏覽資料, 並沒有做任何事, 而且TClientDataSet也沒有定義任何的索引欄位, 條件, 怎麼會有這個問題呢? 謝謝大家的幫忙!
|
Chance36
版主 發表:31 回覆:1033 積分:792 註冊:2002-12-31 發送簡訊給我 |
引言: 我使用TSQLDataSet TDataSetProvider TClientDataSet去存取位於MS SQL 2000的資料 Key Vialotationwb3599 你好 以SQLServer及Key Vialotation 兩個關鍵字,使我聯想到以前遇過的情形,就是SQLServer當有兩筆記錄的Key重複時並不會馬上告訴你,但有第三筆記錄重複時才會有錯誤訊息,從此之後所有記錄的新增及修改我都是自己下SQL檢查,確定沒有重複後才寫入資料,當然SQLServer的這個Bug是否已經修正,我也不是很關心了。 即然有Key Vialotation的訊息,表示這個Bug可能並未改進,你應該自己檢查看看是否真有資料重複了。 |
wb3599
一般會員 發表:32 回覆:32 積分:12 註冊:2004-02-11 發送簡訊給我 |
引言:謝謝! 我剛剛Check了一下, 資料是沒有問題的. 後來, 我將TSQLDataSet換成TSQLQuery, 就沒有問題. 為什麼呢? TSQLDataSet的CommandType設成ctQuery與TSQLQuery不是相同的東西嗎?引言: 我使用TSQLDataSet TDataSetProvider TClientDataSet去存取位於MS SQL 2000的資料 Key Vialotationwb3599 你好 以SQLServer及Key Vialotation 兩個關鍵字,使我聯想到以前遇過的情形,就是SQLServer當有兩筆記錄的Key重複時並不會馬上告訴你,但有第三筆記錄重複時才會有錯誤訊息,從此之後所有記錄的新增及修改我都是自己下SQL檢查,確定沒有重複後才寫入資料,當然SQLServer的這個Bug是否已經修正,我也不是很關心了。 即然有Key Vialotation的訊息,表示這個Bug可能並未改進,你應該自己檢查看看是否真有資料重複了。 |
Chance36
版主 發表:31 回覆:1033 積分:792 註冊:2002-12-31 發送簡訊給我 |
|
wb3599
一般會員 發表:32 回覆:32 積分:12 註冊:2004-02-11 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |